From: lw Date: Mon, 13 Aug 2012 04:07:38 +0000 (+0800) Subject: phonepad:add mt6620 support for phonepad board X-Git-Tag: firefly_0821_release~8922^2~17 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=da1e33bfb73cc414b8ef9ca94fa57501fe1c568f;p=firefly-linux-kernel-4.4.55.git phonepad:add mt6620 support for phonepad board --- diff --git a/arch/arm/configs/rk30_phonepad_defconfig b/arch/arm/configs/rk30_phonepad_defconfig index 76c29f1ca897..7c3d8f1fb8e2 100755 --- a/arch/arm/configs/rk30_phonepad_defconfig +++ b/arch/arm/configs/rk30_phonepad_defconfig @@ -24,7 +24,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_ARCH_RK30=y CONFIG_CLK_SWITCH_TO_32K=y CONFIG_RK30_I2C_INSRAM=y -CONFIG_WIFI_CONTROL_FUNC=y +CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC=y CONFIG_MACH_RK30_PHONE_PAD=y # CONFIG_SWP_EMULATE is not set CONFIG_FIQ_DEBUGGER=y @@ -173,14 +173,14 @@ CONFIG_BT_SCO=y CONFIG_BT_RFCOMM=y CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIBCM4325=y -CONFIG_BT_AUTOSLEEP=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_MAC80211=y CONFIG_RFKILL=y -CONFIG_RFKILL_RK=y +CONFIG_RFKILL_INPUT=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_FIRMWARE_IN_KERNEL is not set @@ -208,7 +208,7 @@ CONFIG_PHYLIB=y # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set CONFIG_WLAN_80211=y -CONFIG_RKWIFI=y +CONFIG_MT6620=y CONFIG_USB_USBNET=y CONFIG_PPP=y CONFIG_PPP_MULTILINK=y @@ -246,7 +246,7 @@ CONFIG_LIGHT_DEVICE=y # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_RK29=y CONFIG_UART0_RK29=y -CONFIG_UART0_CTS_RTS_RK29=y +CONFIG_UART0_DMA_RK29=3 CONFIG_UART3_RK29=y CONFIG_UART3_CTS_RTS_RK29=y # CONFIG_HW_RANDOM is not set @@ -385,6 +385,7 @@ CONFIG_MMC_UNSAFE_RESUME=y CONFIG_MMC_EMBEDDED_SDIO=y CONFIG_MMC_PARANOID_SD_INIT=y CONFIG_SDMMC_RK29=y +CONFIG_RK29_SDIO_IRQ_FROM_GPIO=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_GPIO=y @@ -400,6 +401,15 @@ CONFIG_ANDROID_LOGGER=y CONFIG_ANDROID_TIMED_GPIO=y CONFIG_ANDROID_LOW_MEMORY_KILLER=y # CONFIG_CMMB is not set +CONFIG_MTK_COMBO=y +CONFIG_MTK_COMBO_PLAT_PATH="rockchip" +CONFIG_MTK_COMBO_COMM=m +CONFIG_MTK_COMBO_BT_HW_TEST=m +CONFIG_MTK_COMBO_BT_HCI=m +CONFIG_MTK_COMBO_FM=m +CONFIG_MTK_COMBO_WIFI=m +CONFIG_MTK_GPS=m +CONFIG_MTK_COMBO_GPS=m CONFIG_EXT3_FS=y # CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y diff --git a/arch/arm/mach-rk30/board-rk30-phonepad.c b/arch/arm/mach-rk30/board-rk30-phonepad.c old mode 100644 new mode 100755 index 873249de77ec..9ec49404edf8 --- a/arch/arm/mach-rk30/board-rk30-phonepad.c +++ b/arch/arm/mach-rk30/board-rk30-phonepad.c @@ -81,6 +81,10 @@ #include "../../../drivers/staging/android/timed_gpio.h" #endif +#if defined(CONFIG_MT6620) +#include +#endif + #ifdef CONFIG_THREE_FB_BUFFER #define RK30_FB0_MEM_SIZE 12*SZ_1M #else @@ -1353,6 +1357,7 @@ static struct platform_device device_ion = { #endif #define RK29SDK_WIFI_SDIO_CARD_DETECT_N RK30_PIN6_PB2 +#define RK29SDK_WIFI_SDIO_CARD_INT RK30_PIN3_PD2 #endif //endif ---#ifdef CONFIG_SDMMC_RK29 @@ -1408,6 +1413,12 @@ struct rk29_sdmmc_platform_data default_sdmmc0_data = { #else .use_dma = 0, #endif + +#if defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC) + .status = rk29sdk_wifi_mmc0_status, + .register_status_notify = rk29sdk_wifi_mmc0_status_register, +#endif + .detect_irq = RK30_PIN3_PB6, // INVALID_GPIO .enable_sd_wakeup = 0, @@ -1472,7 +1483,7 @@ struct rk29_sdmmc_platform_data default_sdmmc1_data = { #endif #if !defined(CONFIG_USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD) -#ifdef CONFIG_WIFI_CONTROL_FUNC +#if defined(CONFIG_WIFI_CONTROL_FUNC) || defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC) .status = rk29sdk_wifi_status, .register_status_notify = rk29sdk_wifi_status_register, #endif @@ -1486,6 +1497,10 @@ struct rk29_sdmmc_platform_data default_sdmmc1_data = { .write_prt = INVALID_GPIO, #endif +#if defined(CONFIG_RK29_SDIO_IRQ_FROM_GPIO) + .sdio_INT_gpio = RK29SDK_WIFI_SDIO_CARD_INT, +#endif + #else .detect_irq = INVALID_GPIO, .enable_sd_wakeup = 0, @@ -1659,9 +1674,14 @@ static struct platform_device *devices[] __initdata = { #ifdef CONFIG_RK_IRDA &irda_device, #endif -#ifdef CONFIG_WIFI_CONTROL_FUNC +#if defined(CONFIG_WIFI_CONTROL_FUNC)||defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC) &rk29sdk_wifi_device, #endif + +#if defined(CONFIG_MT6620) + &mt3326_device_gps, +#endif + #ifdef CONFIG_RK29_SUPPORT_MODEM &rk30_device_modem, #endif @@ -2070,6 +2090,10 @@ static void __init machine_rk30_board_init(void) rk29sdk_wifi_bt_gpio_control_init(); #endif dcr_en_low(); + +#if defined(CONFIG_MT6620) + clk_set_rate(clk_get_sys("rk_serial.0", "uart"), 16*1000000); +#endif } static void __init rk30_reserve(void)