Modify the difference between RK3066B and RK3066 architecture platform.
#define RK29SDK_SD_CARD_INSERT_LEVEL GPIO_LOW // set the voltage of insert-card. Please pay attention to the default setting.
#define RK29SDK_SD_CARD_DETECT_PIN_NAME GPIO3B0_SDMMC0DETECTN_NAME
#define RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO GPIO3B_GPIO3B0
-#define RK29SDK_SD_CARD_DETECT_IOMUX_FMUX GPIO3B_SDMMC0_DETECT_N
+#define RK29SDK_SD_CARD_DETECT_IOMUX_FMUX GPIO3B_SDMMC0DETECTN
-#elif defined(CONFIG_ARCH_RK30)
+#elif defined(CONFIG_ARCH_RK30)&& !defined(CONFIG_ARCH_RK3066B) //for RK30,RK3066 SDK
//refer to file /arch/arm/mach-rk30/include/mach/Iomux.h
//define reset-pin
#define RK29SDK_SD_CARD_DETECT_N RK30_PIN3_PB6 //According to your own project to set the value of card-detect-pin.
// Define wifi module's power and reset gpio, and gpio sensitive level.
// Please set the value according to your own project.
//
-#if defined(CONFIG_ARCH_RK30) // refer to file /arch/arm/mach-rk30/include/mach/Iomux.h
+#if defined(CONFIG_ARCH_RK30) && !defined(CONFIG_ARCH_RK3066B) //for RK30,RK3066 SDK
+ // refer to file /arch/arm/mach-rk30/include/mach/Iomux.h
#define WIFI_HOST_WAKE RK30_PIN3_PD2
#if defined(CONFIG_RK903) || defined(CONFIG_RK901) || defined(CONFIG_RTL8192CU) || defined(CONFIG_RTL8188EU)
#if defined(CONFIG_RTL8192CU) || defined(CONFIG_RTL8188EU)
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN3_PD0
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
- #define RK30SDK_WIFI_GPIO_POWER_PIN_NAME GPIO3D0_SDMMC1PWREN_NAME
+ #define RK30SDK_WIFI_GPIO_POWER_PIN_NAME GPIO3D0_SDMMC1PWREN_MIIMD_NAME
#define RK30SDK_WIFI_GPIO_POWER_IOMUX_FGPIO GPIO3D_GPIO3D0
#elif defined(CONFIG_BCM4329) || defined(CONFIG_BCM4319) || defined(CONFIG_RK903) || defined(CONFIG_RK901)
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN3_PD0
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
- #define RK30SDK_WIFI_GPIO_POWER_PIN_NAME GPIO3D0_SDMMC1PWREN_NAME
+ #define RK30SDK_WIFI_GPIO_POWER_PIN_NAME GPIO3D0_SDMMC1PWREN_MIIMD_NAME
#define RK30SDK_WIFI_GPIO_POWER_IOMUX_FGPIO GPIO3D_GPIO3D0
#define RK30SDK_WIFI_GPIO_RESET_N RK30_PIN2_PA7
#define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH
- #define RK30SDK_WIFI_GPIO_RESET_PIN_NAME GPIO2A7_LCDC1DATA7_SMCADDR11_NAME
+ #define RK30SDK_WIFI_GPIO_RESET_PIN_NAME GPIO2A7_LCDC1DATA7_SMCDATA7_TRACEDATA7_NAME
#define RK30SDK_WIFI_GPIO_RESET_IOMUX_FGPIO GPIO2A_GPIO2A7
#endif
#elif defined(CONFIG_ARCH_RK2928) //refer to file ./arch/arm/mach-rk2928/include/mach/iomux.h
#define RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO GPIO3A_GPIO3A1
#define RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX GPIO3A_SDMMC0PWREN
-#elif defined(CONFIG_ARCH_RK30)
+#elif defined(CONFIG_ARCH_RK30)&& !defined(CONFIG_ARCH_RK3066B) //for RK30,RK3066 SDK
//refer to file /arch/arm/mach-rk30/include/mach/Iomux.h
//define PowerEn-pin
#define RK29SDK_SD_CARD_PWR_EN RK30_PIN3_PA7
#endif
-#if defined(CONFIG_ARCH_RK30)
+#if defined(CONFIG_ARCH_RK30)&& !defined(CONFIG_ARCH_RK3066B)//for RK30,RK3066 SDK
/*
* define the gpio for sdmmc0
*/
.fmux = GPIO3B_SDMMC0_DATA3,
},
},
-
- .power_en_gpio = {
+
+ .power_en_gpio = {
+#if defined(RK29SDK_SD_CARD_PWR_EN) || (INVALID_GPIO != RK29SDK_SD_CARD_PWR_EN)
.io = RK29SDK_SD_CARD_PWR_EN,
.enable = RK29SDK_SD_CARD_PWR_EN_LEVEL,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_PIN_NAME
.iomux = {
.name = RK29SDK_SD_CARD_PWR_EN_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO
.fgpio = RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX
.fmux = RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX,
+ #endif
},
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
},
.detect_irq = {
+#if defined(RK29SDK_SD_CARD_DETECT_N) || (INVALID_GPIO != RK29SDK_SD_CARD_DETECT_N)
.io = RK29SDK_SD_CARD_DETECT_N,
.enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ #ifdef RK29SDK_SD_CARD_DETECT_PIN_NAME
.iomux = {
.name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO
.fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FMUX
.fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ #endif
},
- },
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
+ },
};
},
},
};
- // ---end -#if defined(CONFIG_ARCH_RK30)
+ // ---end -#if defined(CONFIG_ARCH_RK30)&& !defined(CONFIG_ARCH_RK3066B)
#elif defined(CONFIG_ARCH_RK3066B)
},
},
- .power_en_gpio = {
- .io = RK29SDK_SD_CARD_PWR_EN,
- .enable = RK29SDK_SD_CARD_PWR_EN_LEVEL,
- .iomux = {
- .name = RK29SDK_SD_CARD_PWR_EN_PIN_NAME,
- .fgpio = RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO,
- .fmux = RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX,
- },
- },
+
+ .power_en_gpio = {
+#if defined(RK29SDK_SD_CARD_PWR_EN) || (INVALID_GPIO != RK29SDK_SD_CARD_PWR_EN)
+ .io = RK29SDK_SD_CARD_PWR_EN,
+ .enable = RK29SDK_SD_CARD_PWR_EN_LEVEL,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_PIN_NAME
+ .iomux = {
+ .name = RK29SDK_SD_CARD_PWR_EN_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO
+ .fgpio = RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX
+ .fmux = RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX,
+ #endif
+ },
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
+ },
+
+ .detect_irq = {
+#if defined(RK29SDK_SD_CARD_DETECT_N) || (INVALID_GPIO != RK29SDK_SD_CARD_DETECT_N)
+ .io = RK29SDK_SD_CARD_DETECT_N,
+ .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ #ifdef RK29SDK_SD_CARD_DETECT_PIN_NAME
+ .iomux = {
+ .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO
+ .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FMUX
+ .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ #endif
+ },
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
+ },
- .detect_irq = {
- .io = RK29SDK_SD_CARD_DETECT_N,
- .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
- .iomux = {
- .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
- .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
- .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
- },
- },
};
},
},
- .power_en_gpio = {
+
+ .power_en_gpio = {
+#if defined(RK29SDK_SD_CARD_PWR_EN) || (INVALID_GPIO != RK29SDK_SD_CARD_PWR_EN)
.io = RK29SDK_SD_CARD_PWR_EN,
.enable = RK29SDK_SD_CARD_PWR_EN_LEVEL,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_PIN_NAME
.iomux = {
.name = RK29SDK_SD_CARD_PWR_EN_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO
.fgpio = RK29SDK_SD_CARD_PWR_EN_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX
.fmux = RK29SDK_SD_CARD_PWR_EN_IOMUX_FMUX,
+ #endif
},
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
},
.detect_irq = {
+#if defined(RK29SDK_SD_CARD_DETECT_N) || (INVALID_GPIO != RK29SDK_SD_CARD_DETECT_N)
.io = RK29SDK_SD_CARD_DETECT_N,
.enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ #ifdef RK29SDK_SD_CARD_DETECT_PIN_NAME
.iomux = {
.name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO
.fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ #endif
+ #ifdef RK29SDK_SD_CARD_DETECT_IOMUX_FMUX
.fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ #endif
},
- },
-
+ #endif
+#else
+ .io = INVALID_GPIO,
+ .enable = GPIO_LOW,
+#endif
+ },
};
#endif
/**************************************************************************************************
- * SDMMC devices, include the module of SD,MMC,and sdio.noted by xbw at 2012-03-05
+ * SDMMC devices, include the module of SD,MMC,and SDIO.noted by xbw at 2012-03-05
**************************************************************************************************/
#ifdef CONFIG_SDMMC_RK29
-#include "board-rk3066b-sdk-sdmmc.c"
-
-#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
-#define SDMMC0_WRITE_PROTECT_PIN RK30_PIN3_PB7 //According to your own project to set the value of write-protect-pin.
-#endif
-
-#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
-#define SDMMC1_WRITE_PROTECT_PIN RK30_PIN3_PC7 //According to your own project to set the value of write-protect-pin.
+#include "board-rk30-sdk-sdmmc.c"
#endif
-#define RK29SDK_WIFI_SDIO_CARD_DETECT_N RK30_PIN6_PB2
-
-#endif //endif ---#ifdef CONFIG_SDMMC_RK29
-
#ifdef CONFIG_SDMMC0_RK29
static int rk29_sdmmc0_cfg_gpio(void)
{
gpio_direction_output(RK30_PIN3_PA7, GPIO_LOW);
#else
- rk29_sdmmc_set_iomux(0, 0xFFFF);
+ rk29_sdmmc_set_iomux(0, 0xFFFF);
- rk30_mux_api_set(GPIO3B0_SDMMC0DETECTN_NAME, GPIO3B_SDMMC0DETECTN);
+ #if defined(CONFIG_SDMMC0_RK29_SDCARD_DET_FROM_GPIO)
+ rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO);
+ #else
+ rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FMUX);
+ #endif
-#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
- gpio_request(SDMMC0_WRITE_PROTECT_PIN, "sdmmc-wp");
- gpio_direction_input(SDMMC0_WRITE_PROTECT_PIN);
-#endif
+ #if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
+ gpio_request(SDMMC0_WRITE_PROTECT_PIN, "sdmmc-wp");
+ gpio_direction_input(SDMMC0_WRITE_PROTECT_PIN);
+ #endif
#endif
#else
.use_dma = 0,
#endif
- .detect_irq = RK30_PIN3_PB6, // INVALID_GPIO
+
+#if defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC) && defined(CONFIG_USE_SDMMC0_FOR_WIFI_DEVELOP_BOARD)
+ .status = rk29sdk_wifi_mmc0_status,
+ .register_status_notify = rk29sdk_wifi_mmc0_status_register,
+#endif
+
+ .power_en = RK29SDK_SD_CARD_PWR_EN,
+ .power_en_level = RK29SDK_SD_CARD_PWR_EN_LEVEL,
+
.enable_sd_wakeup = 0,
#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
.write_prt = SDMMC0_WRITE_PROTECT_PIN,
+ .write_prt_enalbe_level = SDMMC0_WRITE_PROTECT_ENABLE_VALUE;
#else
.write_prt = INVALID_GPIO,
#endif
+
+ .det_pin_info = {
+ .io = RK29SDK_SD_CARD_DETECT_N, //INVALID_GPIO,
+ .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ .iomux = {
+ .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ },
+ },
};
#endif // CONFIG_SDMMC0_RK29
rk30_mux_api_set(GPIO3C2_SDMMC1DATA1_NAME, GPIO3C_SDMMC1_DATA1);
rk30_mux_api_set(GPIO3C3_SDMMC1DATA2_NAME, GPIO3C_SDMMC1_DATA2);
rk30_mux_api_set(GPIO3C4_SDMMC1DATA3_NAME, GPIO3C_SDMMC1_DATA3);
- //rk30_mux_api_set(GPIO3C6_SDMMC1DETECTN_NAME, GPIO3C_SDMMC1_DETECT_N);
-
#else
#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
.use_dma = 0,
#endif
-#if !defined(CONFIG_USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD)
-#ifdef CONFIG_WIFI_CONTROL_FUNC
- .status = rk29sdk_wifi_status,
- .register_status_notify = rk29sdk_wifi_status_register,
-#endif
-#if 0
- .detect_irq = RK29SDK_WIFI_SDIO_CARD_DETECT_N,
+#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
-#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
- .write_prt = SDMMC1_WRITE_PROTECT_PIN,
-#else
- .write_prt = INVALID_GPIO,
-#endif
+ #if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
+ .write_prt = SDMMC1_WRITE_PROTECT_PIN,
+ .write_prt_enalbe_level = SDMMC1_WRITE_PROTECT_ENABLE_VALUE;
+ #else
+ .write_prt = INVALID_GPIO,
+ #endif
+
+ #if defined(CONFIG_RK29_SDIO_IRQ_FROM_GPIO)
+ .sdio_INT_gpio = RK29SDK_WIFI_SDIO_CARD_INT,
+ #endif
+ .det_pin_info = {
+#if !defined(CONFIG_USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD)
+ .io = RK29SDK_SD_CARD_DETECT_N,
#else
- .detect_irq = INVALID_GPIO,
- .enable_sd_wakeup = 0,
+ .io = INVALID_GPIO,
#endif
-
+ .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ .iomux = {
+ .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ },
+ },
+
+ .enable_sd_wakeup = 0,
};
#endif //endif--#ifdef CONFIG_SDMMC1_RK29
#endif
/**************************************************************************************************
- * SDMMC devices, include the module of SD,MMC,and sdio.noted by xbw at 2012-03-05
+ * SDMMC devices, include the module of SD,MMC,and SDIO.noted by xbw at 2012-03-05
**************************************************************************************************/
#ifdef CONFIG_SDMMC_RK29
-#include "board-rk3066b-sdk-sdmmc.c"
-
-#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
-#define SDMMC0_WRITE_PROTECT_PIN RK30_PIN3_PB7 //According to your own project to set the value of write-protect-pin.
-#endif
-
-#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
-#define SDMMC1_WRITE_PROTECT_PIN RK30_PIN3_PC7 //According to your own project to set the value of write-protect-pin.
+#include "board-rk30-sdk-sdmmc.c"
#endif
-#define RK29SDK_WIFI_SDIO_CARD_DETECT_N RK30_PIN6_PB2
-
-#endif //endif ---#ifdef CONFIG_SDMMC_RK29
-
#ifdef CONFIG_SDMMC0_RK29
static int rk29_sdmmc0_cfg_gpio(void)
{
gpio_direction_output(RK30_PIN3_PA7, GPIO_LOW);
#else
- rk29_sdmmc_set_iomux(0, 0xFFFF);
+ rk29_sdmmc_set_iomux(0, 0xFFFF);
- rk30_mux_api_set(GPIO3B0_SDMMC0DETECTN_NAME, GPIO3B_SDMMC0DETECTN);
+ #if defined(CONFIG_SDMMC0_RK29_SDCARD_DET_FROM_GPIO)
+ rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO);
+ #else
+ rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FMUX);
+ #endif
-#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
- gpio_request(SDMMC0_WRITE_PROTECT_PIN, "sdmmc-wp");
- gpio_direction_input(SDMMC0_WRITE_PROTECT_PIN);
-#endif
+ #if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
+ gpio_request(SDMMC0_WRITE_PROTECT_PIN, "sdmmc-wp");
+ gpio_direction_input(SDMMC0_WRITE_PROTECT_PIN);
+ #endif
#endif
#else
.use_dma = 0,
#endif
- .detect_irq = RK30_PIN3_PB6, // INVALID_GPIO
+
+#if defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC) && defined(CONFIG_USE_SDMMC0_FOR_WIFI_DEVELOP_BOARD)
+ .status = rk29sdk_wifi_mmc0_status,
+ .register_status_notify = rk29sdk_wifi_mmc0_status_register,
+#endif
+
+ .power_en = RK29SDK_SD_CARD_PWR_EN,
+ .power_en_level = RK29SDK_SD_CARD_PWR_EN_LEVEL,
+
.enable_sd_wakeup = 0,
#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
.write_prt = SDMMC0_WRITE_PROTECT_PIN,
+ .write_prt_enalbe_level = SDMMC0_WRITE_PROTECT_ENABLE_VALUE;
#else
.write_prt = INVALID_GPIO,
#endif
+
+ .det_pin_info = {
+ .io = RK29SDK_SD_CARD_DETECT_N, //INVALID_GPIO,
+ .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ .iomux = {
+ .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ },
+ },
};
#endif // CONFIG_SDMMC0_RK29
rk30_mux_api_set(GPIO3C2_SDMMC1DATA1_NAME, GPIO3C_SDMMC1_DATA1);
rk30_mux_api_set(GPIO3C3_SDMMC1DATA2_NAME, GPIO3C_SDMMC1_DATA2);
rk30_mux_api_set(GPIO3C4_SDMMC1DATA3_NAME, GPIO3C_SDMMC1_DATA3);
- //rk30_mux_api_set(GPIO3C6_SDMMC1DETECTN_NAME, GPIO3C_SDMMC1_DETECT_N);
-
#else
#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
.use_dma = 0,
#endif
-#if !defined(CONFIG_USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD)
-#ifdef CONFIG_WIFI_CONTROL_FUNC
- .status = rk29sdk_wifi_status,
- .register_status_notify = rk29sdk_wifi_status_register,
-#endif
-#if 0
- .detect_irq = RK29SDK_WIFI_SDIO_CARD_DETECT_N,
+#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
-#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
- .write_prt = SDMMC1_WRITE_PROTECT_PIN,
-#else
- .write_prt = INVALID_GPIO,
-#endif
+ #if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
+ .write_prt = SDMMC1_WRITE_PROTECT_PIN,
+ .write_prt_enalbe_level = SDMMC1_WRITE_PROTECT_ENABLE_VALUE;
+ #else
+ .write_prt = INVALID_GPIO,
+ #endif
+
+ #if defined(CONFIG_RK29_SDIO_IRQ_FROM_GPIO)
+ .sdio_INT_gpio = RK29SDK_WIFI_SDIO_CARD_INT,
+ #endif
+ .det_pin_info = {
+#if !defined(CONFIG_USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD)
+ .io = RK29SDK_SD_CARD_DETECT_N,
#else
- .detect_irq = INVALID_GPIO,
- .enable_sd_wakeup = 0,
+ .io = INVALID_GPIO,
#endif
-
+ .enable = RK29SDK_SD_CARD_INSERT_LEVEL,
+ .iomux = {
+ .name = RK29SDK_SD_CARD_DETECT_PIN_NAME,
+ .fgpio = RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO,
+ .fmux = RK29SDK_SD_CARD_DETECT_IOMUX_FMUX,
+ },
+ },
+
+ .enable_sd_wakeup = 0,
};
#endif //endif--#ifdef CONFIG_SDMMC1_RK29