mirror of
https://github.com/Mange/rtl8192eu-linux-driver
synced 2025-12-07 14:53:41 +00:00
Updated to 4.4.1
This commit is contained in:
29
platform/custom_country_chplan.h
Normal file
29
platform/custom_country_chplan.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2013 Realtek Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
|
||||
*
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#error "You have defined CONFIG_CUSTOMIZED_COUNTRY_CHPLAN_MAP to use a customized map of your own instead of the default one"
|
||||
#error "Before removing these error notifications, please make sure regulatory certification requirements of your target markets"
|
||||
|
||||
static const struct country_chplan CUSTOMIZED_country_chplan_map[] = {
|
||||
COUNTRY_CHPLAN_ENT("TW", 0x39, 1, 0xFF), /* Taiwan */
|
||||
};
|
||||
|
||||
static const u16 CUSTOMIZED_country_chplan_map_sz = sizeof(CUSTOMIZED_country_chplan_map)/sizeof(struct country_chplan);
|
||||
|
||||
91
platform/platform_ARM_SUN50IW1P1_sdio.c
Normal file
91
platform/platform_ARM_SUN50IW1P1_sdio.c
Normal file
@@ -0,0 +1,91 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2013 Realtek Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
|
||||
*
|
||||
*
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Description:
|
||||
* This file can be applied to following platforms:
|
||||
* CONFIG_PLATFORM_ARM_SUN50IW1P1
|
||||
*/
|
||||
#include <drv_types.h>
|
||||
#ifdef CONFIG_GPIO_WAKEUP
|
||||
#include <linux/gpio.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MMC
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN50IW1P1)
|
||||
extern void sunxi_mmc_rescan_card(unsigned ids);
|
||||
extern void sunxi_wlan_set_power(int on);
|
||||
extern int sunxi_wlan_get_bus_index(void);
|
||||
extern int sunxi_wlan_get_oob_irq(void);
|
||||
extern int sunxi_wlan_get_oob_irq_flags(void);
|
||||
#endif
|
||||
#ifdef CONFIG_GPIO_WAKEUP
|
||||
extern unsigned int oob_irq;
|
||||
#endif
|
||||
#endif // CONFIG_MMC
|
||||
|
||||
/*
|
||||
* Return:
|
||||
* 0: power on successfully
|
||||
* others: power on failed
|
||||
*/
|
||||
int platform_wifi_power_on(void)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
#ifdef CONFIG_MMC
|
||||
{
|
||||
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN50IW1P1)
|
||||
int wlan_bus_index = sunxi_wlan_get_bus_index();
|
||||
if(wlan_bus_index < 0)
|
||||
return wlan_bus_index;
|
||||
|
||||
sunxi_wlan_set_power(1);
|
||||
mdelay(100);
|
||||
sunxi_mmc_rescan_card(wlan_bus_index);
|
||||
#endif
|
||||
DBG_871X("%s: power up, rescan card.\n", __FUNCTION__);
|
||||
|
||||
#ifdef CONFIG_GPIO_WAKEUP
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN50IW1P1)
|
||||
oob_irq = sunxi_wlan_get_oob_irq();
|
||||
#endif
|
||||
#endif // CONFIG_GPIO_WAKEUP
|
||||
}
|
||||
#endif // CONFIG_MMC
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void platform_wifi_power_off(void)
|
||||
{
|
||||
#ifdef CONFIG_MMC
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN50IW1P1)
|
||||
int wlan_bus_index = sunxi_wlan_get_bus_index();
|
||||
if(wlan_bus_index < 0)
|
||||
return;
|
||||
|
||||
sunxi_mmc_rescan_card(wlan_bus_index);
|
||||
mdelay(100);
|
||||
sunxi_wlan_set_power(0);
|
||||
#endif
|
||||
DBG_871X("%s: remove card, power off.\n", __FUNCTION__);
|
||||
#endif // CONFIG_MMC
|
||||
}
|
||||
@@ -34,12 +34,19 @@
|
||||
static int sdc_id = -1;
|
||||
static signed int gpio_eint_wlan = -1;
|
||||
static u32 eint_wlan_handle = 0;
|
||||
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN6I) || defined(CONFIG_PLATFORM_ARM_SUN7I)
|
||||
extern void sw_mci_rescan_card(unsigned id, unsigned insert);
|
||||
#elif defined(CONFIG_PLATFORM_ARM_SUN8I)
|
||||
extern void sunxi_mci_rescan_card(unsigned id, unsigned insert);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUN8I_W5P1
|
||||
extern int get_rf_mod_type(void);
|
||||
#else
|
||||
extern int wifi_pm_get_mod_type(void);
|
||||
#endif
|
||||
|
||||
extern void wifi_pm_power(int on);
|
||||
#ifdef CONFIG_GPIO_WAKEUP
|
||||
extern unsigned int oob_irq;
|
||||
@@ -60,7 +67,11 @@ int platform_wifi_power_on(void)
|
||||
script_item_u val;
|
||||
script_item_value_type_e type;
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUN8I_W5P1
|
||||
unsigned int mod_sel = get_rf_mod_type();
|
||||
#else
|
||||
unsigned int mod_sel = wifi_pm_get_mod_type();
|
||||
#endif
|
||||
|
||||
type = script_get_item("wifi_para", "wifi_sdc_id", &val);
|
||||
if (SCIRPT_ITEM_VALUE_TYPE_INT!=type) {
|
||||
@@ -82,12 +93,16 @@ int platform_wifi_power_on(void)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_GPIO_WAKEUP
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUN8I_W5P1
|
||||
type = script_get_item("wifi_para", "wl_host_wake", &val);
|
||||
#else
|
||||
#ifdef CONFIG_RTL8723B
|
||||
type = script_get_item("wifi_para", "rtl8723bs_wl_host_wake", &val);
|
||||
#endif
|
||||
#ifdef CONFIG_RTL8188E
|
||||
type = script_get_item("wifi_para", "rtl8189es_host_wake", &val);
|
||||
#endif
|
||||
#endif /* CONFIG_PLATFORM_ARM_SUN8I_W5P1 */
|
||||
if (SCIRPT_ITEM_VALUE_TYPE_PIO != type) {
|
||||
DBG_871X("No definition of wake up host PIN\n");
|
||||
ret = -1;
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
*/
|
||||
|
||||
#include <drv_types.h>
|
||||
#include <mach/sys_config.h>
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
||||
extern int sw_usb_disable_hcd(__u32 usbc_no);
|
||||
extern int sw_usb_enable_hcd(__u32 usbc_no);
|
||||
static int usb_wifi_host = 2;
|
||||
extern int sunxi_usb_disable_hcd(__u32 usbc_no);
|
||||
extern int sunxi_usb_enable_hcd(__u32 usbc_no);
|
||||
extern int sunxi_wlan_get_usb_index(void);
|
||||
extern void sunxi_wlan_set_power(int on);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PLATFORM_ARM_SUN6I) || defined(CONFIG_PLATFORM_ARM_SUN7I)
|
||||
@@ -51,11 +51,14 @@ static script_item_u item;
|
||||
int platform_wifi_power_on(void)
|
||||
{
|
||||
int ret = 0;
|
||||
int usb_no = sunxi_wlan_get_usb_index();
|
||||
|
||||
printk("platform_wifi_power_on(), usb_index: %d\n", usb_no);
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
||||
#ifndef CONFIG_RTL8723A
|
||||
{
|
||||
/* ----------get usb_wifi_usbc_num------------- */
|
||||
/*
|
||||
ret = script_parser_fetch("usb_wifi_para", "usb_wifi_usbc_num", (int *)&usb_wifi_host, 64);
|
||||
if(ret != 0){
|
||||
DBG_8192C("ERR: script_parser_fetch usb_wifi_usbc_num failed\n");
|
||||
@@ -64,6 +67,10 @@ int platform_wifi_power_on(void)
|
||||
}
|
||||
DBG_8192C("sw_usb_enable_hcd: usbc_num = %d\n", usb_wifi_host);
|
||||
sw_usb_enable_hcd(usb_wifi_host);
|
||||
*/
|
||||
sunxi_wlan_set_power(1);
|
||||
mdelay(100);
|
||||
sunxi_usb_enable_hcd(usb_no);
|
||||
}
|
||||
#endif //CONFIG_RTL8723A
|
||||
#endif //CONFIG_PLATFORM_ARM_SUNxI
|
||||
@@ -116,11 +123,16 @@ exit:
|
||||
|
||||
void platform_wifi_power_off(void)
|
||||
{
|
||||
int usb_no = sunxi_wlan_get_usb_index();
|
||||
|
||||
printk("platform_wifi_power_off(), usb_index: %d\n", usb_no);
|
||||
#ifdef CONFIG_PLATFORM_ARM_SUNxI
|
||||
#ifndef CONFIG_RTL8723A
|
||||
DBG_8192C("sw_usb_disable_hcd: usbc_num = %d\n", usb_wifi_host);
|
||||
sw_usb_disable_hcd(usb_wifi_host);
|
||||
//DBG_8192C("sw_usb_disable_hcd: usbc_num = %d\n", usb_wifi_host);
|
||||
//sw_usb_disable_hcd(usb_wifi_host);
|
||||
sunxi_usb_disable_hcd(usb_no);
|
||||
mdelay(100);
|
||||
sunxi_wlan_set_power(0);
|
||||
#endif //ifndef CONFIG_RTL8723A
|
||||
#endif //CONFIG_PLATFORM_ARM_SUNxI
|
||||
|
||||
|
||||
58
platform/platform_arm_act_sdio.c
Normal file
58
platform/platform_arm_act_sdio.c
Normal file
@@ -0,0 +1,58 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2013 Realtek Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
|
||||
*
|
||||
*
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Description:
|
||||
* This file can be applied to following platforms:
|
||||
* CONFIG_PLATFORM_ACTIONS_ATM703X
|
||||
*/
|
||||
#include <drv_types.h>
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ACTIONS_ATM705X
|
||||
extern int acts_wifi_init(void);
|
||||
extern void acts_wifi_cleanup(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return:
|
||||
* 0: power on successfully
|
||||
* others: power on failed
|
||||
*/
|
||||
int platform_wifi_power_on(void)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
#ifdef CONFIG_PLATFORM_ACTIONS_ATM705X
|
||||
ret = acts_wifi_init();
|
||||
if (unlikely(ret < 0)) {
|
||||
pr_err("%s Failed to register the power control driver.\n", __FUNCTION__);
|
||||
goto exit;
|
||||
}
|
||||
#endif
|
||||
|
||||
exit:
|
||||
return ret;
|
||||
}
|
||||
|
||||
void platform_wifi_power_off(void)
|
||||
{
|
||||
#ifdef CONFIG_PLATFORM_ACTIONS_ATM705X
|
||||
acts_wifi_cleanup();
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user