summaryrefslogtreecommitdiff
path: root/include/linux/rfkill-wlan.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/rfkill-wlan.h')
-rw-r--r--include/linux/rfkill-wlan.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/include/linux/rfkill-wlan.h b/include/linux/rfkill-wlan.h
new file mode 100644
index 000000000000..2cead6d09a15
--- /dev/null
+++ b/include/linux/rfkill-wlan.h
@@ -0,0 +1,93 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __PLAT_BOARD_H
+#define __PLAT_BOARD_H
+
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/device.h>
+#include <linux/clk.h>
+
+struct rksdmmc_iomux {
+ char *name; //set the MACRO of gpio
+ int fgpio;
+ int fmux;
+};
+
+struct rksdmmc_gpio {
+ int io; //set the address of gpio
+ char name[64]; //
+ int enable; // disable = !enable //set the default value,i.e,GPIO_HIGH or GPIO_LOW
+ struct rksdmmc_iomux iomux;
+};
+
+struct rksdmmc_pmu {
+ bool power_ctrl_by_pmu;
+ char pmu_regulator[20];
+ int enable;
+};
+
+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 vbat_n;
+ struct rksdmmc_gpio power_n; //PMU_EN
+ struct rksdmmc_gpio reset_n; //SYSRET_B, DAIRST
+ struct rksdmmc_gpio vddio;
+ struct rksdmmc_gpio bgf_int_b;
+ struct rksdmmc_gpio wifi_int_b;
+ struct rksdmmc_gpio gps_sync;
+ struct rksdmmc_gpio ANTSEL2; //pin5--ANTSEL2
+ struct rksdmmc_gpio ANTSEL3; //pin6--ANTSEL3
+ struct rksdmmc_gpio GPS_LAN; //pin33--GPS_LAN
+ struct regmap *grf;
+ struct clk *ext_clk;
+};
+
+enum {
+ WIFI_RK901,
+ WIFI_RK903,
+ WIFI_AP6181,
+ WIFI_AP6210,
+ WIFI_AP6212,
+ WIFI_AP6234,
+ WIFI_AP6255,
+ 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_RTL8723CS,
+ WIFI_RTL8723DS,
+ WIFI_RTL8723BU,
+ WIFI_RTL8723AU,
+ WIFI_RTL8189ES,
+ WIFI_RTL8189FS,
+ WIFI_RTL8812AU,
+ WIFI_RTL_SERIES,
+ WIFI_ESP8089,
+ WIFI_MVL88W8977,
+ WIFI_SSV6051,
+ 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);
+int rockchip_wifi_get_oob_irq_flag(void);
+int rockchip_wifi_reset(int on);
+int rockchip_wifi_mac_addr(unsigned char *buf);
+void *rockchip_wifi_country_code(char *ccode);
+#endif