From 8f1df87343fa5eaad31d89395300801f3f4df7ce Mon Sep 17 00:00:00 2001 From: lintao Date: Wed, 24 Jul 2013 10:47:51 +0800 Subject: [PATCH] Wi-Fi Group: add esp8089 SDIO Wi-Fi support --- arch/arm/mach-rk30/board-rk3168-tb-sdmmc-conifg.c | 6 ++++++ drivers/mmc/host/rk29_sdmmc.c | 2 +- drivers/net/wireless/Kconfig | 1 + drivers/net/wireless/esp8089/Kconfig | 10 ++++++++++ drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c | 8 ++++++++ net/mac80211/main.c | 12 ++++++++++++ 6 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 drivers/net/wireless/esp8089/Kconfig diff --git a/arch/arm/mach-rk30/board-rk3168-tb-sdmmc-conifg.c b/arch/arm/mach-rk30/board-rk3168-tb-sdmmc-conifg.c index 9626c1b80a89..ae5af8f869a3 100644 --- a/arch/arm/mach-rk30/board-rk3168-tb-sdmmc-conifg.c +++ b/arch/arm/mach-rk30/board-rk3168-tb-sdmmc-conifg.c @@ -96,6 +96,10 @@ int rk31sdk_get_sdmmc0_pin_io_voltage(void) #define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH #endif +#elif defined(CONFIG_ESP8089) + #define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN3_PD0 + #define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH + #elif defined(CONFIG_MT6620) #define COMBO_MODULE_MT6620_CDT 1 // to control antsel2,antsel3 and gps_lan foot when using AcSip or Cdtech chip. //- 1--use Cdtech chip; 0--unuse CDT chip @@ -149,6 +153,8 @@ int rk31sdk_get_sdio_wifi_voltage(void) #elif defined(CONFIG_MT5931_MT6622)||defined(CONFIG_MT5931) voltage = 1800 ; //power 1800V +#elif defined(CONFIG_ESP8089) + voltage = 3000 ; //power 3000V #elif defined(CONFIG_MT6620) voltage = 2800 ; //power 2800V #elif defined(CONFIG_RDA5990)||defined(CONFIG_RTL8723AS) diff --git a/drivers/mmc/host/rk29_sdmmc.c b/drivers/mmc/host/rk29_sdmmc.c index a567829abc4a..3f4e7cc08b69 100755 --- a/drivers/mmc/host/rk29_sdmmc.c +++ b/drivers/mmc/host/rk29_sdmmc.c @@ -124,7 +124,7 @@ int debug_level = 5; //#define RK29_SDMMC_LIST_QUEUE /* use list-queue for multi-card*/ #define RK29_SDMMC_DEFAULT_SDIO_FREQ 0 // 1--run in default frequency(50Mhz); 0---run in 25Mhz, -#if defined(CONFIG_MT6620) +#if defined(CONFIG_MT6620)|| defined(CONFIG_ESP8089) #define RK29_MAX_SDIO_FREQ 50000000 //set max-sdio-frequency 50Mhz in MTK module. #else #define RK29_MAX_SDIO_FREQ 25000000 //set max-sdio-frequency 25Mhz at the present time diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index 6dc11f26463c..1a4e4a3dc0d2 100755 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -118,6 +118,7 @@ source "drivers/net/wireless/rkusbwifi/rt5370/Kconfig" source "drivers/net/wireless/rkusbwifi/mt7601/Kconfig" source "drivers/net/wireless/ar6003/Kconfig" source "drivers/net/wireless/rtl8723as/Kconfig" +source "drivers/net/wireless/esp8089/Kconfig" source "drivers/net/wireless/rkwifi/Kconfig" endchoice diff --git a/drivers/net/wireless/esp8089/Kconfig b/drivers/net/wireless/esp8089/Kconfig new file mode 100755 index 000000000000..5ee8bc63381b --- /dev/null +++ b/drivers/net/wireless/esp8089/Kconfig @@ -0,0 +1,10 @@ + config ESP8089 + depends on WLAN_80211 && MMC + select WIRELESS_EXT + select WEXT_PRIV + select CFG80211 + select NL80211_TESTMODE + bool "Espressif 8089 sdio Wi-Fi" + ---help--- + Espressif 8089 sdio Wi-Fi support + diff --git a/drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c b/drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c index c36419b975bf..ec2b1a74699f 100755 --- a/drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c +++ b/drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c @@ -146,6 +146,14 @@ static ssize_t wifi_chip_read(struct class *cls, char *_buf) count = sprintf(_buf, "%s", "RTL8723AS"); printk("Current WiFi chip is RTL8723AS.\n"); #endif + +#ifdef CONFIG_ESP8089 + count = sprintf(_buf, "%s", "ESP8089"); + printk("Current WiFi chip is ESP8089.\n"); +#endif + + + #endif return count; } diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 1e36fb3318cb..d64b6baa4715 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -931,6 +931,18 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) "Failed to add default virtual iface\n"); } + //add by lintao@rock-chips.com : register p2p0 IFTYPE_STA + #ifdef CONFIG_ESP8089 + if (local->hw.wiphy->interface_modes &(BIT(NL80211_IFTYPE_P2P_GO) | BIT(NL80211_IFTYPE_P2P_CLIENT))) { + result = ieee80211_if_add(local, "p2p%d", NULL, + NL80211_IFTYPE_STATION, NULL); + if (result) + wiphy_warn(local->hw.wiphy, + "Failed to add default virtual iface\n"); + } + + #endif + rtnl_unlock(); local->network_latency_notifier.notifier_call = -- 2.34.1