struct rksdmmc_gpio_wifi_moudle {
int sdio_vol; //sdio reference voltage
+ bool vref_ctrl_enble;
+ bool wifi_power_remain;
struct rksdmmc_pmu mregulator;
+ struct rksdmmc_pmu ioregulator;
struct rksdmmc_gpio power_n; //PMU_EN
struct rksdmmc_gpio reset_n; //SYSRET_B, DAIRST
struct rksdmmc_gpio vddio;
struct rksdmmc_gpio ANTSEL2; //pin5--ANTSEL2
struct rksdmmc_gpio ANTSEL3; //pin6--ANTSEL3
struct rksdmmc_gpio GPS_LAN; //pin33--GPS_LAN
+ struct regmap *grf;
};
-int rfkill_get_wifi_power_state(int *power);
+enum {
+ WIFI_RK901,
+ WIFI_RK903,
+ WIFI_AP6181,
+ WIFI_AP6210,
+ WIFI_AP6212,
+ WIFI_AP6234,
+ WIFI_AP6330,
+ WIFI_AP6335,
+ WIFI_AP6354,
+ WIFI_AP6441,
+ WIFI_AP6476,
+ WIFI_AP6493,
+ WIFI_AP6XXX_SERIES,
+ WIFI_RTL8188EU,
+ WIFI_RTL8192DU,
+ WIFI_RTL8723AS,
+ WIFI_RTL8723BS,
+ WIFI_RTL8723BS_VQ0,
+ WIFI_RTL8723BU,
+ WIFI_RTL8723AU,
+ WIFI_RTL8189ES,
+ WIFI_RTL8812AU,
+ WIFI_RTL_SERIES,
+ WIFI_ESP8089,
+ TYPE_MAX,
+};
+
+int rfkill_get_wifi_power_state(int *power, int *vref_ctrl_enable);
void *rockchip_mem_prealloc(int section, unsigned long size);
+int rockchip_wifi_ref_voltage(int on);
int rockchip_wifi_power(int on);
int rockchip_wifi_set_carddetect(int val);
int rockchip_wifi_get_oob_irq(void);