Merge remote-tracking branch 'aosp/android-3.0' into develop-3.0-jb
[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 enum _periph_pll {
71         periph_pll_1485mhz = 148500000,
72         periph_pll_297mhz = 297000000,
73         periph_pll_300mhz = 300000000,
74         periph_pll_1188mhz = 1188000000, /* for box*/
75 };
76 enum _codec_pll {
77         codec_pll_360mhz = 360000000, /* for HDMI */
78         codec_pll_408mhz = 408000000,
79         codec_pll_456mhz = 456000000,
80         codec_pll_504mhz = 504000000,
81         codec_pll_552mhz = 552000000, /* for HDMI */
82         codec_pll_600mhz = 600000000,
83         codec_pll_742_5khz = 742500000,
84         codec_pll_798mhz = 798000000,
85         codec_pll_1064mhz = 1064000000,
86         codec_pll_1188mhz = 1188000000,
87 };
88
89 //max i2s rate
90 #define CLK_FLG_MAX_I2S_12288KHZ        (1<<1)
91 #define CLK_FLG_MAX_I2S_22579_2KHZ      (1<<2)
92 #define CLK_FLG_MAX_I2S_24576KHZ        (1<<3)
93 #define CLK_FLG_MAX_I2S_49152KHZ        (1<<4)
94
95 #define RK30_CLOCKS_DEFAULT_FLAGS (CLK_FLG_MAX_I2S_12288KHZ/*|CLK_FLG_EXT_27MHZ*/)
96 #define periph_pll_default periph_pll_297mhz
97 #define codec_pll_default codec_pll_798mhz
98 //#define codec_pll_default codec_pll_1064mhz
99
100
101 #endif