From 15b650631ed953d8d438069743359f85fee3b742 Mon Sep 17 00:00:00 2001 From: wuhao Date: Mon, 4 Feb 2013 12:57:36 +0800 Subject: [PATCH] rk3188 ds1006h: add 3G MT6229 in the board file --- arch/arm/configs/rk3188_ds1006h_defconfig | 3 ++ arch/arm/mach-rk3188/board-rk3188-ds1006h.c | 47 +++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/arch/arm/configs/rk3188_ds1006h_defconfig b/arch/arm/configs/rk3188_ds1006h_defconfig index 69480a40aade..c5822dab6c89 100644 --- a/arch/arm/configs/rk3188_ds1006h_defconfig +++ b/arch/arm/configs/rk3188_ds1006h_defconfig @@ -195,6 +195,8 @@ CONFIG_MISC_DEVICES=y CONFIG_SENSORS_AK8963=y CONFIG_UID_STAT=y CONFIG_APANIC=y +CONFIG_3G_MODULE=y +CONFIG_MT6229=y CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_SCSI_MULTI_LUN=y @@ -391,6 +393,7 @@ CONFIG_USB_STORAGE=y CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_OPTION=y +CONFIG_USB_SERIAL_USI=y CONFIG_USB_GADGET=y CONFIG_USB20_HOST=y CONFIG_USB20_OTG=y diff --git a/arch/arm/mach-rk3188/board-rk3188-ds1006h.c b/arch/arm/mach-rk3188/board-rk3188-ds1006h.c index 20911c743d62..c232bbc47462 100755 --- a/arch/arm/mach-rk3188/board-rk3188-ds1006h.c +++ b/arch/arm/mach-rk3188/board-rk3188-ds1006h.c @@ -61,6 +61,9 @@ #if defined(CONFIG_SPIM_RK29) #include "../../../drivers/spi/rk29_spim.h" #endif +#if defined(CONFIG_MT6229) +#include +#endif #if defined(CONFIG_GPS_RK) #include "../../../drivers/misc/gps/rk_gps/rk_gps.h" #endif @@ -310,6 +313,46 @@ static struct sensor_platform_data akm8975_info = #endif +#if defined(CONFIG_MT6229) +static int mt6229_io_init(void) +{ + #if 0 + rk30_mux_api_set(GPIO2B6_LCDC1DATA14_SMCADDR18_TSSYNC_NAME, GPIO2B_GPIO2B6); + k30_mux_api_set(GPIO4D2_SMCDATA10_TRACEDATA10_NAME, GPIO4D_GPIO4D2); + rk30_mux_api_set(GPIO2B7_LCDC1DATA15_SMCADDR19_HSADCDATA7_NAME, GPIO2B_GPIO2B7); + rk30_mux_api_set(GPIO2C0_LCDCDATA16_GPSCLK_HSADCCLKOUT_NAME, GPIO2C_GPIO2C0); + rk30_mux_api_set(GPIO2C1_LCDC1DATA17_SMCBLSN0_HSADCDATA6_NAME, GPIO2C_GPIO2C1); + rk30_mux_api_set(GPIO2C1_LCDC1DATA17_SMCBLSN0_HSADCDATA6_NAME, GPIO2C_GPIO2C1); + #endif + return 0; +} + +static int mt6229_io_deinit(void) +{ + + return 0; +} + +struct rk29_mt6229_data rk29_mt6229_info = { + .io_init = mt6229_io_init, + .io_deinit = mt6229_io_deinit, + .modem_power_en = RK30_PIN0_PC6, + .bp_power = RK30_PIN2_PD5, + .modem_usb_en = RK30_PIN0_PC7, + .modem_uart_en = RK30_PIN2_PD4, + .bp_wakeup_ap = RK30_PIN0_PC5, + .ap_ready = RK30_PIN0_PC4, + +}; +struct platform_device rk29_device_mt6229 = { + .name = "mt6229", + .id = -1, + .dev = { + .platform_data = &rk29_mt6229_info, + } + }; +#endif + #if defined(CONFIG_GYRO_L3G4200D) #include @@ -1114,6 +1157,10 @@ static struct platform_device *devices[] __initdata = { #ifdef CONFIG_MT5931_MT6622 &device_mt6622, #endif +#if defined(CONFIG_MT6229) + &rk29_device_mt6229, +#endif + }; -- 2.34.1