phonepad: update phonepad tp struct, exp gpio struct and lcd io enable control
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-rk2928 / include / mach / board.h
1 #ifndef __MACH_BOARD_H
2 #define __MACH_BOARD_H
3
4 #include <linux/device.h>
5 #include <linux/platform_device.h>
6 #include <linux/i2c.h>
7 #include <linux/types.h>
8 #include <linux/timer.h>
9 #include <linux/notifier.h>
10 #include <asm/setup.h>
11 #include <plat/board.h>
12 #include <mach/sram.h>
13 #include <linux/i2c-gpio.h>
14
15 extern struct rk29_sdmmc_platform_data default_sdmmc0_data;
16 extern struct rk29_sdmmc_platform_data default_sdmmc1_data;
17
18 extern struct i2c_gpio_platform_data default_i2c_gpio_data; 
19
20 void __init rk2928_map_common_io(void);
21 void __init rk2928_init_irq(void);
22 void __init rk2928_map_io(void);
23 struct machine_desc;
24 void __init rk2928_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi);
25 void __init rk2928_clock_data_init(unsigned long gpll,unsigned long cpll,u32 flags);
26 void __init board_clock_init(void);
27 void __init rk2928_iomux_init(void);
28 void board_gpio_suspend(void);
29 void board_gpio_resume(void);
30 void __sramfunc board_pmu_suspend(void);
31 void __sramfunc board_pmu_resume(void);
32
33 extern struct sys_timer rk2928_timer;
34
35 #ifndef _LINUX_WLAN_PLAT_H_
36 struct wifi_platform_data {
37         int (*set_power)(int val);
38         int (*set_reset)(int val);
39         int (*set_carddetect)(int val);
40         void *(*mem_prealloc)(int section, unsigned long size);
41         int (*get_mac_addr)(unsigned char *buf);
42 };
43 #endif
44 #if defined (CONFIG_EETI_EGALAX)
45 struct eeti_egalax_platform_data{
46         u16     model;
47
48     int     (*get_pendown_state)(void);
49     int     (*init_platform_hw)(void);
50     int     (*eeti_egalax_platform_sleep)(void);
51     int     (*eeti_egalax_platform_wakeup)(void);
52     void    (*exit_platform_hw)(void);
53     int     standby_pin;
54     int     standby_value;
55     int     disp_on_pin;
56     int     disp_on_value;
57  
58 };
59 #endif
60 #if defined (CONFIG_TOUCHSCREEN_SITRONIX_A720)
61 struct ft5x0x_platform_data{
62           u16     model;
63     int     (*get_pendown_state)(void);
64     int     (*init_platform_hw)(void);
65     int     (*ft5x0x_platform_sleep)(void);
66     int     (*ft5x0x_platform_wakeup)(void);
67     void    (*exit_platform_hw)(void);
68 };
69 #endif
70
71 #if defined (CONFIG_TOUCHSCREEN_I30)
72 struct ft5306_platform_data {
73     int rest_pin;
74     int irq_pin ;
75     int     (*get_pendown_state)(void);
76     int     (*init_platform_hw)(void);
77     int     (*platform_sleep)(void);
78     int     (*platform_wakeup)(void);
79     void    (*exit_platform_hw)(void);
80 };
81 #endif
82
83 #if defined (CONFIG_GPIOEXP_AW9523B)
84 struct gpio_exp_platform_data {
85     int     (*init_platform_hw)(void);
86     void    (*exit_platform_hw)(void);
87 };
88 #endif
89
90 enum _periph_pll {
91         periph_pll_1485mhz = 148500000,
92         periph_pll_297mhz = 297000000,
93         periph_pll_300mhz = 300000000,
94         periph_pll_1188mhz = 1188000000, /* for box*/
95 };
96 enum _codec_pll {
97         codec_pll_360mhz = 360000000, /* for HDMI */
98         codec_pll_408mhz = 408000000,
99         codec_pll_456mhz = 456000000,
100         codec_pll_504mhz = 504000000,
101         codec_pll_552mhz = 552000000, /* for HDMI */
102         codec_pll_600mhz = 600000000,
103         codec_pll_742_5khz = 742500000,
104         codec_pll_798mhz = 798000000,
105         codec_pll_1064mhz = 1064000000,
106         codec_pll_1188mhz = 1188000000,
107 };
108
109 //max i2s rate
110 #define CLK_FLG_MAX_I2S_12288KHZ        (1<<1)
111 #define CLK_FLG_MAX_I2S_22579_2KHZ      (1<<2)
112 #define CLK_FLG_MAX_I2S_24576KHZ        (1<<3)
113 #define CLK_FLG_MAX_I2S_49152KHZ        (1<<4)
114
115 #define RK30_CLOCKS_DEFAULT_FLAGS (CLK_FLG_MAX_I2S_12288KHZ/*|CLK_FLG_EXT_27MHZ*/)
116 #define periph_pll_default periph_pll_297mhz
117 #define codec_pll_default codec_pll_798mhz
118 //#define codec_pll_default codec_pll_1064mhz
119
120
121 #endif