*/
#define RK29SDK_SD_CARD_PWR_EN RK30_PIN3_PA1
#define RK29SDK_SD_CARD_PWR_EN_LEVEL GPIO_LOW
-double rk31sdk_get_sdmmc0_pin_io_voltage(void)
+int rk31sdk_get_sdmmc0_pin_io_voltage(void)
{
- double voltage;
+ int voltage;
#define RK31SDK_SET_SDMMC0_PIN_VOLTAGE
- /******************************************************************************
+ /**************************************************************************************
** Please tell me how much voltage of your SDMMC0-pin in your project.
**
** ÀýÈç: ÓеÄÏîÄ¿£¬ËüµÄSDMMC0ËùÔÚµÄRKÖ÷¿ØµÄIO×飬ÏëÓÃ1.8V, ¶ø¿¨±¾ÉíÓÃ3.3V,
- ** ¶øÖмäͨ¹ý¸öµçƽת»».ÄÇô£¬Äú´Ëʱ£¬Ó¦¸ÃÉèÖÃÏÂÃæµÄvoltageֵΪ 1.8
- ******************************************************************************/
- voltage = 3.3;
+ ** ¶øÖмäͨ¹ý¸öµçƽת»».ÄÇô£¬Äú´Ëʱ£¬Ó¦¸ÃÉèÖÃÏÂÃæµÄvoltageֵΪ 1.8V(¼´1800mv)
+ ***************************************************************************************/
+ voltage = 3300; //default the voltage 3300mv.
return voltage;
}
#endif // #if COMBO_MODULE_MT6620_CDT--#endif
#endif
-double rk31sdk_get_sdio_wifi_voltage(void)
+int rk31sdk_get_sdio_wifi_voltage(void)
{
- double voltage;
+ int voltage;
/******************************************************************************
** Please tell me how much wifi-module uses voltage in your project.
******************************************************************************/
#if defined(CONFIG_BCM4329) || defined(CONFIG_BCM4319) || defined(CONFIG_RK903) || defined(CONFIG_RK901)
- voltage = 1.8 ; //power 1.8V
+ voltage = 1800 ; //power 1800mV
#elif defined(CONFIG_MT5931_MT6622)||defined(CONFIG_MT5931)||defined(CONFIG_MT6620)
- voltage = 2.8 ; //power 2.8V
+ voltage = 1800 ; //power 1800V
+#elif defined(CONFIG_MT6620)
+ voltage = 2800 ; //power 2800V
#elif defined(CONFIG_RDA5990)||defined(CONFIG_RTL8723AS)
- voltage = 3.3 ; //power 3.3V
+ voltage = 3300 ; //power 3300V
#else
//default, sdio use 3.0V
- voltage = 3.0 ; //power 3.0V
+ voltage = 3000 ; //power 3000V
#endif
return voltage;
**************************************************************************************************/
//use the new iomux-API
-#if defined(CONFIG_ARCH_RK3066B)||defined(CONFIG_ARCH_RK3168)||defined(CONFIG_ARCH_RK3188)
+#if 1//defined(CONFIG_ARCH_RK3066B)||defined(CONFIG_ARCH_RK3168)||defined(CONFIG_ARCH_RK3188)
#define SDMMC_USE_NEW_IOMUX_API 1
#else
#define SDMMC_USE_NEW_IOMUX_API 0
int rk31sdk_wifi_voltage_select(void)
{
- double voltage;
+ int voltage;
int voltage_flag = 0;
voltage = rk31sdk_get_sdio_wifi_voltage();
- if(voltage >= 2.7)
+ if(voltage >= 2700)
voltage_flag = 0;
- else if(voltage <= 2.0)
+ else if(voltage <= 2000)
voltage_flag = 1;
else
voltage_flag = 1;
break;
case 0xFFFF: //gpio_reset
{
+ #if (!!SDMMC_USE_NEW_IOMUX_API) && !defined(CONFIG_SDMMC0_RK29_SDCARD_DET_FROM_GPIO)
+ iomux_set(MMC0_DETN);
+ #endif
+
#if !(!!SDMMC_USE_NEW_IOMUX_API)
rk30_mux_api_set(rksdmmc0_gpio_init.power_en_gpio.iomux.name, rksdmmc0_gpio_init.power_en_gpio.iomux.fgpio);
#endif
//IO voltage(vccio);
#ifdef RK31SDK_SET_SDMMC0_PIN_VOLTAGE
- if(rk31sdk_get_sdmmc0_pin_io_voltage() > 3.0)
+ if(rk31sdk_get_sdmmc0_pin_io_voltage() > 2700)
SDMMC_write_grf_reg(GRF_IO_CON4, (SDMMC0_IO_VOLTAGE_MASK |SDMMC0_IO_VOLTAGE_33)); //set SDMMC0 pin to 3.3v
else
SDMMC_write_grf_reg(GRF_IO_CON4, (SDMMC0_IO_VOLTAGE_MASK |SDMMC0_IO_VOLTAGE_18));//set SDMMC0 pin to 1.8v