rk30: sdk add wm8326 support
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-rk29 / include / mach / board.h
old mode 100644 (file)
new mode 100755 (executable)
index e974557..9099b88
@@ -21,6 +21,7 @@
 #include <linux/types.h>
 #include <linux/timer.h>
 #include <linux/notifier.h>
+#include <plat/board.h>
 
 struct led_newton_pwm {
        const char      *name;
@@ -44,13 +45,24 @@ struct hdmi_platform_data {
        int (*io_init)(void);
        int (*io_deinit)(void);
 };
-struct irda_info{
-    u32 intr_pin;
-    int (*iomux_init)(void);
-    int (*iomux_deinit)(void);
-    int (*irda_pwr_ctl)(int en);
+
+/* adc battery */
+struct rk29_adc_battery_platform_data {
+       int (*io_init)(void);
+       int (*io_deinit)(void);
+
+       int dc_det_pin;
+       int batt_low_pin;
+       int charge_ok_pin;
+       int charge_set_pin;
+
+       int dc_det_level;
+       int batt_low_level;
+       int charge_ok_level;
+       int charge_set_level;
 };
 
+
 struct rk29_button_light_info{
        u32 led_on_pin;
        u32 led_on_level;
@@ -58,23 +70,6 @@ struct rk29_button_light_info{
        int (*io_deinit)(void);
 };
 
-/*spi*/
-struct spi_cs_gpio {
-       const char *name;
-       unsigned int cs_gpio;
-       char *cs_iomux_name;
-       unsigned int cs_iomux_mode;
-};
-
-struct rk29xx_spi_platform_data {
-       int (*io_init)(struct spi_cs_gpio*, int);
-       int (*io_deinit)(struct spi_cs_gpio*, int);
-       int (*io_fix_leakage_bug)(void);
-       int (*io_resume_leakage_bug)(void);
-       struct spi_cs_gpio *chipselect_gpios;   
-       u16 num_chipselect;
-};
-
 /*vmac*/
 struct rk29_vmac_platform_data {
        int (*vmac_register_set)(void);
@@ -85,45 +80,8 @@ struct rk29_vmac_platform_data {
 
 #define INVALID_GPIO        -1
 
-struct rk29lcd_info{
-    u32 lcd_id;
-    u32 txd_pin;
-    u32 clk_pin;
-    u32 cs_pin;
-    int (*io_init)(void);
-    int (*io_deinit)(void);
-};
-
-struct rk29_fb_setting_info{
-    u8 data_num;
-    u8 vsync_en;
-    u8 den_en;
-    u8 mcu_fmk_en;
-    u8 disp_on_en;
-    u8 standby_en;
-};
-
-struct rk29fb_info{
-    u32 fb_id;
-    u32 mcu_fmk_pin;
-    struct rk29lcd_info *lcd_info;
-    int (*io_init)(struct rk29_fb_setting_info *fb_setting);
-    int (*io_deinit)(void);
-    int (*io_enable)(void);
-    int (*io_disable)(void);
-};
-
-struct rk29_bl_info{
-    u32 pwm_id;
-    u32 bl_ref;
-    int (*io_init)(void);
-    int (*io_deinit)(void);
-       int (*pwm_suspend)(void);
-       int (*pwm_resume)(void);
-       int min_brightness;     /* 0 ~ 255 */
-       unsigned int delay_ms;  /* in milliseconds */
-};
 
+#ifndef _LINUX_WLAN_PLAT_H_
 struct wifi_platform_data {
         int (*set_power)(int val);
         int (*set_reset)(int val);
@@ -131,19 +89,8 @@ struct wifi_platform_data {
         void *(*mem_prealloc)(int section, unsigned long size);
         int (*get_mac_addr)(unsigned char *buf);
 };
+#endif
 
-struct rk29_sdmmc_platform_data {
-       unsigned int host_caps;
-       unsigned int host_ocr_avail;
-       unsigned int use_dma:1;
-       char dma_name[8];
-       int (*io_init)(void);
-       int (*io_deinit)(void);
-       int (*status)(struct device *);
-       int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id);
-        int detect_irq;
-               int enable_sd_wakeup;
-};
 struct rk29_i2c_platform_data {
        int     bus_num;        
        unsigned int    flags;     
@@ -233,7 +180,8 @@ struct synaptics_platform_data {
        void    (*exit_platform_hw)(void);
 };
 
-struct mma8452_platform_data {
+
+struct bma023_platform_data {
     u16     model;
        u16     swap_xy;
        u16             swap_xyz;
@@ -269,13 +217,6 @@ struct ft5406_platform_data {
     void    (*exit_platform_hw)(void);
 };
 
-struct goodix_platform_data {
-    int     (*get_pendown_state)(void);
-    int     (*init_platform_hw)(void);
-    int     (*platform_sleep)(void);
-    int     (*platform_wakeup)(void);
-    void    (*exit_platform_hw)(void);
-};
 
 struct cs42l52_platform_data {
     int     (*get_pendown_state)(void);
@@ -306,23 +247,12 @@ struct laibao_platform_data {
     int     (*laibao_platform_sleep)(void);
     int     (*laibao_platform_wakeup)(void);
     void    (*exit_platform_hw)(void);
-    int     lcd_disp_on_pin;
-    int     disp_on_value;
-    int     lcd_cs_pin;
-    int     lcd_cs_value;
-};
-
-struct akm8975_platform_data {
-       char layouts[3][3];
-       char project_name[64];
-       int gpio_DRDY;
+    int     pwr_pin;
+       int             pwr_on_value;
+    int     reset_pin;
+       int             reset_value;
 };
 
-struct rk29_gpio_expander_info {
-       unsigned int gpio_num;
-       unsigned int pin_type;//GPIO_IN or GPIO_OUT
-       unsigned int pin_value;//GPIO_HIGH or GPIO_LOW
-};
 struct rk29_newton_data {
 };
 
@@ -356,16 +286,6 @@ void __init rk29_setup_early_printk(void);
 void __init rk29_map_common_io(void);
 void __init board_power_init(void);
 
-#define BOOT_MODE_NORMAL               0
-#define BOOT_MODE_FACTORY2             1
-#define BOOT_MODE_RECOVERY             2
-#define BOOT_MODE_CHARGE               3
-#define BOOT_MODE_POWER_TEST           4
-#define BOOT_MODE_OFFMODE_CHARGING     5
-#define BOOT_MODE_REBOOT               6
-#define BOOT_MODE_PANIC                        7
-int board_boot_mode(void);
-
 enum periph_pll {
        periph_pll_96mhz = 96000000, /* save more power */
        periph_pll_144mhz = 144000000,
@@ -390,14 +310,4 @@ enum codec_pll {
 void __init rk29_clock_init(enum periph_pll ppll_rate); /* codec pll is 297MHz, has xin27m */
 void __init rk29_clock_init2(enum periph_pll ppll_rate, enum codec_pll cpll_rate, bool has_xin27m);
 
-/* for USB detection */
-#ifdef CONFIG_USB_GADGET
-int board_usb_detect_init(unsigned gpio);
-#else
-static int inline board_usb_detect_init(unsigned gpio) { return 0; }
-#endif
-
-/* for wakeup Android */
-void rk28_send_wakeup_key(void);
-
 #endif