4 #include <linux/types.h>
5 #include <linux/init.h>
6 #include <linux/device.h>
13 unsigned int cs_iomux_mode;
16 struct rk29xx_spi_platform_data {
17 int (*io_init)(struct spi_cs_gpio*, int);
18 int (*io_deinit)(struct spi_cs_gpio*, int);
19 int (*io_fix_leakage_bug)(void);
20 int (*io_resume_leakage_bug)(void);
21 struct spi_cs_gpio *chipselect_gpios;
29 int (*io_deinit)(void);
30 int (*pwm_suspend)(void);
31 int (*pwm_resume)(void);
32 int min_brightness; /* 0 ~ 255 */
33 unsigned int delay_ms; /* in milliseconds */
42 int (*io_deinit)(void);
45 struct rk29_fb_setting_info {
57 struct rk29lcd_info *lcd_info;
58 int (*io_init)(struct rk29_fb_setting_info *fb_setting);
59 int (*io_deinit)(void);
60 int (*io_enable)(void);
61 int (*io_disable)(void);
64 struct rk29_sdmmc_platform_data {
65 unsigned int host_caps;
66 unsigned int host_ocr_avail;
67 unsigned int use_dma:1;
70 int (*io_deinit)(void);
71 void (*set_iomux)(int device_id, unsigned int bus_width);//added by xbw at 2011-10-13
72 int (*status)(struct device *);
73 int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id);
79 struct mma8452_platform_data {
83 signed char orientation[9];
84 int (*get_pendown_state)(void);
85 int (*init_platform_hw)(void);
86 int (*mma8452_platform_sleep)(void);
87 int (*mma8452_platform_wakeup)(void);
88 void (*exit_platform_hw)(void);
91 struct akm8975_platform_data {
92 short m_layout[4][3][3];
93 char project_name[64];
97 struct goodix_platform_data {
101 int (*get_pendown_state)(void);
102 int (*init_platform_hw)(void);
103 int (*platform_sleep)(void);
104 int (*platform_wakeup)(void);
105 void (*exit_platform_hw)(void);
110 #define BOOT_MODE_NORMAL 0
111 #define BOOT_MODE_FACTORY2 1
112 #define BOOT_MODE_RECOVERY 2
113 #define BOOT_MODE_CHARGE 3
114 #define BOOT_MODE_POWER_TEST 4
115 #define BOOT_MODE_OFFMODE_CHARGING 5
116 #define BOOT_MODE_REBOOT 6
117 #define BOOT_MODE_PANIC 7
118 int board_boot_mode(void);
120 /* for USB detection */
121 #ifdef CONFIG_USB_GADGET
122 int board_usb_detect_init(unsigned gpio);
124 static int inline board_usb_detect_init(unsigned gpio) { return 0; }
127 #ifdef CONFIG_RK_EARLY_PRINTK
128 void __init rk29_setup_early_printk(void);
130 static void inline rk29_setup_early_printk(void) {}
133 /* for wakeup Android */
134 void rk28_send_wakeup_key(void);
136 /* for reserved memory
137 * function: board_mem_reserve_add
138 * return value: start address of reserved memory */
139 phys_addr_t __init board_mem_reserve_add(char *name, size_t size);
140 void __init board_mem_reserved(void);