soc: rockchip: add virtual poweroff support
[firefly-linux-kernel-4.4.55.git] / include / linux / rfkill-wlan.h
index 00be802805ca46a2e13f26a58db9cfa0cd031497..3fd89a421d536ea52e0d8fd11b742b7b3baa1a83 100755 (executable)
@@ -26,7 +26,10 @@ struct rksdmmc_pmu {
 
 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;
@@ -36,10 +39,40 @@ struct rksdmmc_gpio_wifi_moudle {
     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);