summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h')
-rw-r--r--target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h1714
1 files changed, 1714 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h
new file mode 100644
index 000000000..3af16a570
--- /dev/null
+++ b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_cfg.h
@@ -0,0 +1,1714 @@
+/*
+ * Headler file defines some configure options and basic types
+ *
+ * $Id: 8192cd_cfg.h,v 1.59.2.26 2011/01/10 07:49:07 jerryko Exp $
+ *
+ * Copyright (c) 2009 Realtek Semiconductor Corp.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _8192CD_CFG_H_
+#define _8192CD_CFG_H_
+
+//#define _LITTLE_ENDIAN_
+//#define _BIG_ENDIAN_
+
+#ifdef __MIPSEB__
+
+#ifndef _BIG_ENDIAN_
+ #define _BIG_ENDIAN_
+#endif
+
+#ifdef _LITTLE_ENDIAN_
+#undef _LITTLE_ENDIAN_
+#endif
+//### add by sen_liu 2011.4.14 CONFIG_NET_PCI defined in V2.4 and CONFIG_PCI
+// define now to replace it. However,some modules still use CONFIG_NET_PCI
+#ifdef CONFIG_PCI
+#define CONFIG_NET_PCI
+#endif
+
+//### end
+#endif //__MIPSEB__
+
+#ifdef __KERNEL__
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE >= 0x020615 // linux 2.6.21
+ #define LINUX_2_6_21_
+#endif
+
+#if LINUX_VERSION_CODE >= 0x020616 // linux 2.6.22
+ #define LINUX_2_6_22_
+#endif
+
+#if LINUX_VERSION_CODE >= 0x020618 // linux 2.6.24
+ #define LINUX_2_6_24_
+#endif
+
+#if LINUX_VERSION_CODE >= 0x02061B // linux 2.6.27
+ #define LINUX_2_6_27_
+#endif
+
+#if LINUX_VERSION_CODE > 0x020600
+ #define __LINUX_2_6__
+#endif
+
+#ifdef LINUX_2_6_22_
+#include <linux/autoconf.h>
+#include <linux/jiffies.h>
+#include <asm/param.h>
+#else
+#include <linux/config.h>
+#endif
+#endif // __KERNEL__
+
+#ifdef __ECOS
+ #include <pkgconf/system.h>
+ #include <pkgconf/devs_eth_rltk_819x_wrapper.h>
+
+ #define CONFIG_RTL_819X
+ #define CONFIG_RTL8196C
+#ifndef RTLPKG_DEVS_ETH_RLTK_819X_RX_ZERO_COPY
+ #define CONFIG_RTL8190_PRIV_SKB
+#endif
+#endif
+
+
+/*
+ * Following Definition Sync 2.4/2.6 SDK Definitions
+ */
+
+#if !defined(__LINUX_2_6__)
+
+#if defined(CONFIG_RTL8196B) || defined(CONFIG_RTL8196C) || defined(CONFIG_RTL8198)
+#define CONFIG_RTL_819X
+#endif
+#if defined(CONFIG_RTL8198)
+#define CONFIG_RTL_8198
+#endif
+#if defined(CONFIG_RTL8196C)
+#define CONFIG_RTL_8196C
+#endif
+
+#define BSP_PCIE0_D_CFG0 PCIE0_D_CFG0
+#define BSP_PCIE1_D_CFG0 PCIE0_D_CFG0
+#define BSP_PCIE0_H_CFG PCIE0_H_CFG
+#define BSP_PCIE0_H_EXT PCIE0_RC_EXT_BASE
+#define BSP_PCIE0_H_MDIO (BSP_PCIE0_H_EXT + 0x00)
+#define BSP_PCIE0_H_INTSTR (BSP_PCIE0_H_EXT + 0x04)
+#define BSP_PCIE0_H_PWRCR (BSP_PCIE0_H_EXT + 0x08)
+#define BSP_PCIE0_H_IPCFG (BSP_PCIE0_H_EXT + 0x0C)
+#define BSP_PCIE0_H_MISC (BSP_PCIE0_H_EXT + 0x10)
+#define BSP_PCIE1_H_CFG PCIE1_H_CFG
+#define BSP_PCIE1_H_EXT PCIE1_RC_EXT_BASE
+#define BSP_PCIE1_H_MDIO (BSP_PCIE1_H_EXT + 0x00)
+#define BSP_PCIE1_H_INTSTR (BSP_PCIE1_H_EXT + 0x04)
+#define BSP_PCIE1_H_PWRCR (BSP_PCIE1_H_EXT + 0x08)
+#define BSP_PCIE1_H_IPCFG (BSP_PCIE1_H_EXT + 0x0C)
+#define BSP_PCIE1_H_MISC (BSP_PCIE1_H_EXT + 0x10)
+
+#endif // !defined(__LINUX_2_6__)
+
+
+#ifndef CONFIG_RTL_8198_AP_ROOT
+#define CONFIG_RTL_CUSTOM_PASSTHRU
+#endif
+
+#define CONFIG_RTL_CUSTOM_PASSTHRU
+#if defined(CONFIG_RTL_CUSTOM_PASSTHRU)
+#define CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE
+
+#define IP6_PASSTHRU_MASK 0x1
+#if defined(CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE)
+#define PPPOE_PASSTHRU_MASK 0x1<<1
+#endif
+
+#if defined(CONFIG_RTL_92D_SUPPORT)
+#define WISP_WLAN_IDX_MASK 0xF0
+#define WISP_WLAN_IDX_RIGHT_SHIFT 4
+#endif
+
+#endif /* CONFIG_RTL_CUSTOM_PASSTHRU */
+
+
+
+#if (defined(CONFIG_RTL_92C_SUPPORT)&&defined(CONFIG_RTL_92D_SUPPORT))||defined(CONFIG_RTL_92D_DMDP)||defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN)
+#define CONCURRENT_MODE
+#ifdef CONFIG_RTL_92D_SMART_CONCURRENT
+#define SMART_CONCURRENT_92D
+#endif
+#if defined(CONFIG_RTL_92D_DMDP) && !defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN) && !defined(CONFIG_RTL_92C_SUPPORT) && !defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D)
+#define DUALBAND_ONLY
+#endif
+#endif
+
+#if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_8198)
+/* Currenlty 98 support 92D should use pcie slot 1 */
+ #if defined(CONFIG_RTK_VOIP_BOARD)
+ #define RTL_USED_PCIE_SLOT 0
+ #else
+ #define RTL_USED_PCIE_SLOT 1
+ #endif /* CONFIG_RTK_VOIP_BOARD */
+#else
+#define RTL_USED_PCIE_SLOT 0
+#endif
+
+#if defined(CONFIG_RTL_8198)
+
+ #if defined(CONFIG_RTK_VOIP_BOARD)
+ #define RTL_MAX_PCIE_SLOT_NUM 1
+ #else
+ #define RTL_MAX_PCIE_SLOT_NUM 2
+ #endif /*CONFIG_RTK_VOIP_BOARD*/
+
+ #if defined(CONFIG_RTL_92D_SUPPORT)
+
+ #if defined(CONFIG_RTK_VOIP_BOARD)
+ #define RTL_USED_PCIE_SLOT 0
+ #else
+ #define RTL_USED_PCIE_SLOT 1
+ #endif /*ONFIG_RTK_VOIP_BOARD*/
+
+ #else /* defined(CONFIG_RTL_92D_SUPPORT) */
+ #define RTL_USED_PCIE_SLOT 0
+ #endif /* defined(CONFIG_RTL_92D_SUPPORT) */
+#else /* defined(CONFIG_RTL_8198) */
+ #define RTL_MAX_PCIE_SLOT_NUM 1
+ #define RTL_USED_PCIE_SLOT 0
+#endif /* defined(CONFIG_RTL_8198) */
+
+#ifdef CONFIG_RTK_MESH
+#include "mesh_ext/mesh_cfg.h"
+#endif
+
+#if defined(CONFIG_RTL8196B) || defined(CONFIG_RTL_819X)
+ #if defined(CONFIG_RTL8196B_AP_ROOT) || defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196B_GW) || defined(CONFIG_RTL_8196C_GW) || defined(CONFIG_RTL_8198_GW) || defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196B_TLD) || defined(CONFIG_RTL8196C_AP_ROOT) || defined(CONFIG_RTL8196C_AP_HCM) || defined(CONFIG_RTL8198_AP_ROOT) || defined(CONFIG_RTL_8198_AP_ROOT) || defined(CONFIG_RTL8196C_CLIENT_ONLY) || defined(CONFIG_RTL_8198_NFBI_BOARD) || defined(CONFIG_RTL8196C_KLD) || defined(CONFIG_RTL8196C_EC) || defined(CONFIG_RTL_8196C_iNIC) || defined(CONFIG_RTL_8198_INBAND_AP)
+ #define USE_RTL8186_SDK
+ #endif
+#endif
+
+#if defined(_BIG_ENDIAN_) || defined(_LITTLE_ENDIAN_)
+#elif defined(_BIG_ENDIAN_) && defined(_LITTLE_ENDIAN_)
+ #error "One one ENDIAN should be specified\n"
+#else
+ #error "Please specify your ENDIAN type!\n"
+#endif
+
+#define PCI_CONFIG_COMMAND (wdev->conf_addr+4)
+#define PCI_CONFIG_LATENCY (wdev->conf_addr+0x0c)
+#define PCI_CONFIG_BASE0 (wdev->conf_addr+0x10)
+#define PCI_CONFIG_BASE1 (wdev->conf_addr+0x18)
+
+#define MAX_NUM(_x_, _y_) (((_x_)>(_y_))? (_x_) : (_y_))
+#define MIN_NUM(_x_, _y_) (((_x_)<(_y_))? (_x_) : (_y_))
+
+//-------------------------------------------------------------
+// Driver version information
+//-------------------------------------------------------------
+#define DRV_VERSION_H 1
+#define DRV_VERSION_L 6
+#define DRV_RELDATE "2011-07-18"
+#ifdef LINUX_2_6_22_
+#define DRV_NAME "RTL8192C/RTL8188C"
+#else
+#define DRV_NAME "RTL8192C-RTL8188C"
+#endif
+
+
+//-------------------------------------------------------------
+// Will check type for endian issue when access IO and memory
+//-------------------------------------------------------------
+#define CHECK_SWAP
+
+
+//-------------------------------------------------------------
+// Defined when include proc file system
+//-------------------------------------------------------------
+#define INCLUDE_PROC_FS
+#if defined(CONFIG_PROC_FS) && defined(INCLUDE_PROC_FS)
+ #define _INCLUDE_PROC_FS_
+#endif
+
+
+//-------------------------------------------------------------
+// Debug function
+//-------------------------------------------------------------
+//#define _DEBUG_RTL8192CD_ // defined when debug print is used
+#define _IOCTL_DEBUG_CMD_ // defined when read/write register/memory command is used in ioctl
+
+
+//-------------------------------------------------------------
+// Defined when internal DRAM is used for sw encryption/decryption
+//-------------------------------------------------------------
+#ifdef __MIPSEB__
+ // disable internal ram for nat speedup
+ //#define _USE_DRAM_
+#endif
+
+
+//-------------------------------------------------------------
+// Support 8188C/8192C test chip
+//-------------------------------------------------------------
+#if !defined(CONFIG_RTL8196B_GW_8M) //&&!defined(CONFIG_RTL_92D_SUPPORT)
+#define TESTCHIP_SUPPORT
+#endif
+
+//-------------------------------------------------------------
+// Support software tx queue
+// ------------------------------------------------------------
+#define SW_TX_QUEUE
+#if defined(CONFIG_RTL_8198)
+#define MAX_AGGR_NUM 16
+#else
+#define MAX_AGGR_NUM 8
+#endif
+#define MIN_AGGR_NUM 8
+
+//-------------------------------------------------------------
+// Support Tx Report
+//-------------------------------------------------------------
+//#ifndef CONFIG_RTL_92D_SUPPORT
+#define TXREPORT
+#ifdef TXREPORT
+#define DETECT_STA_EXISTANCE
+#endif
+//#endif
+//#define LEAVESTADETECT
+
+
+//-------------------------------------------------------------
+// PCIe power saving function
+//-------------------------------------------------------------
+#ifdef CONFIG_PCIE_POWER_SAVING
+#if !defined(CONFIG_NET_PCI) && !defined(CONFIG_RTL_8196CS)
+#define PCIE_POWER_SAVING
+#endif
+#if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_92C_SUPPORT)
+#undef PCIE_POWER_SAVING
+#endif
+#if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_8198)
+#undef PCIE_POWER_SAVING
+#endif
+
+
+#endif
+
+#ifdef _SINUX_
+#define PCIE_POWER_SAVING
+#endif
+
+#ifdef PCIE_POWER_SAVING
+ #define GPIO_WAKEPIN
+ #define FIB_96C
+// #define PCIE_POWER_SAVING_DEBUG
+// #define ASPM_ENABLE
+#ifdef PCIE_POWER_SAVING_DEBUG
+ #define PCIE_L2_ENABLE
+#endif
+
+#define CONFIG_SLOT0H 0xb8b00000
+#define CONFIG_SLOT0S 0xb8b10000
+#define CONFIG_SLOT1H 0xb8b20000
+#define CONFIG_SLOT1S 0xb8b30000
+
+
+#if defined(CONFIG_RTL_8198)
+#define CFG_92C_SLOTH CONFIG_SLOT0H
+#define CFG_92C_SLOTS CONFIG_SLOT0S
+#if (RTL_USED_PCIE_SLOT==1)
+#define CFG_92D_SLOTH CONFIG_SLOT1H
+#define CFG_92D_SLOTS CONFIG_SLOT1S
+#else
+#define CFG_92D_SLOTH CONFIG_SLOT0H
+#define CFG_92D_SLOTS CONFIG_SLOT0S
+#endif
+#elif defined(CONFIG_RTL_8196C)
+#define CFG_92C_SLOTH CONFIG_SLOT0H
+#define CFG_92C_SLOTS CONFIG_SLOT0S
+#define CFG_92D_SLOTH CONFIG_SLOT0H
+#define CFG_92D_SLOTS CONFIG_SLOT0S
+#endif
+
+
+#endif
+
+
+//-------------------------------------------------------------
+// WDS function support
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL_WDS_SUPPORT)
+#define WDS
+// #define LAZY_WDS
+#endif
+
+
+//-------------------------------------------------------------
+// Pass EAP packet by event queue
+//-------------------------------------------------------------
+#define EAP_BY_QUEUE
+#undef EAPOLSTART_BY_QUEUE // jimmylin: don't pass eapol-start up
+ // due to XP compatibility issue
+//#define USE_CHAR_DEV
+#define USE_PID_NOTIFY
+
+
+//-------------------------------------------------------------
+// WPA Supplicant
+//-------------------------------------------------------------
+
+//#define WIFI_WPAS
+
+#ifdef WIFI_WPAS
+
+#ifndef WIFI_HAPD
+#define WIFI_HAPD
+#endif
+
+#ifndef CLIENT_MODE
+#define CLIENT_MODE
+#endif
+
+#endif
+
+
+//-------------------------------------------------------------
+// Client mode function support
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL_CLIENT_MODE_SUPPORT)
+#define CLIENT_MODE
+#endif
+
+#ifdef CLIENT_MODE
+ #define RTK_BR_EXT // Enable NAT2.5 and MAC clone support
+ #define CL_IPV6_PASS // Enable IPV6 pass-through. RTK_BR_EXT must be defined
+#endif
+
+
+//-------------------------------------------------------------
+// Defined when WPA2 is used
+//-------------------------------------------------------------
+#define RTL_WPA2
+#define RTL_WPA2_PREAUTH
+
+
+//-------------------------------------------------------------
+// MP test
+//-------------------------------------------------------------
+#if !defined(CONFIG_RTL8196B_GW_8M) || defined(CONFIG_RTL8196B_GW_MP)
+#define MP_TEST
+#ifdef CONFIG_RTL_92D_SUPPORT
+//#define TEMP_MP_92D
+#endif
+#endif
+
+
+//-------------------------------------------------------------
+// MIC error test
+//-------------------------------------------------------------
+//#define MICERR_TEST
+
+
+//-------------------------------------------------------------
+// Log event
+//-------------------------------------------------------------
+#define EVENT_LOG
+
+
+//-------------------------------------------------------------
+// Tx/Rx data path shortcut
+//-------------------------------------------------------------
+#define TX_SHORTCUT
+#define RX_SHORTCUT
+#if defined(CONFIG_RTK_MESH) && defined(RX_SHORTCUT)
+#define RX_RL_SHORTCUT
+#endif
+#define BR_SHORTCUT
+#if defined(CONFIG_RTK_MESH) && defined(TX_SHORTCUT)
+ #define MESH_TX_SHORTCUT
+#endif
+
+#define TX_SC_ENTRY_NUM 1
+
+
+//-------------------------------------------------------------
+// back to back test
+//-------------------------------------------------------------
+//#define B2B_TEST
+
+
+//-------------------------------------------------------------
+// enable e-fuse read write
+//-------------------------------------------------------------
+#ifdef CONFIG_ENABLE_EFUSE
+#define EN_EFUSE
+#endif
+
+//-------------------------------------------------------------
+// new Auto channel
+//-------------------------------------------------------------
+#define CONFIG_RTL_NEW_AUTOCH
+
+//-------------------------------------------------------------
+// new IQ calibration for 92c / 88c
+//-------------------------------------------------------------
+#define CONFIG_RTL_NEW_IQK
+
+//-------------------------------------------------------------
+// noise control
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL_92C_SUPPORT
+//#define CONFIG_RTL_NOISE_CONTROL_92C
+#endif
+
+//-------------------------------------------------------------
+// Universal Repeater (support AP + Infra client concurrently)
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL_REPEATER_MODE_SUPPORT)
+#define UNIVERSAL_REPEATER
+#endif
+
+
+//-------------------------------------------------------------
+// Check hangup for Tx queue
+//-------------------------------------------------------------
+#define CHECK_HANGUP
+#ifdef CHECK_HANGUP
+ #define CHECK_TX_HANGUP
+ #define FAST_RECOVERY
+#endif
+
+
+//-------------------------------------------------------------
+// DFS
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL_DFS_SUPPORT
+#define DFS
+#endif
+
+
+//-------------------------------------------------------------
+// Driver based WPA PSK feature
+//-------------------------------------------------------------
+#define INCLUDE_WPA_PSK
+
+
+//-------------------------------------------------------------
+// RF Fine Tune
+//-------------------------------------------------------------
+//#define RF_FINETUNE
+
+
+//-------------------------------------------------------------
+// Wifi WMM
+//-------------------------------------------------------------
+#define WIFI_WMM
+#ifdef WIFI_WMM
+ #define WMM_APSD // WMM Power Save
+ #define RTL_MANUAL_EDCA // manual EDCA parameter setting
+#endif
+
+
+//-------------------------------------------------------------
+// Hostapd
+//-------------------------------------------------------------
+//#ifdef CONFIG_RTL_HOSTAPD_SUPPORT
+//#define WIFI_HAPD
+//#endif
+
+#ifdef WIFI_HAPD
+
+//#define HAPD_DRV_PSK_WPS
+
+#ifndef CONFIG_RTL_COMAPI_WLTOOLS
+#define CONFIG_RTL_COMAPI_WLTOOLS
+#endif
+
+#ifndef HAPD_DRV_PSK_WPS
+#undef EAP_BY_QUEUE
+#undef INCLUDE_WPA_PSK
+#endif
+
+#endif
+
+
+//-------------------------------------------------------------
+// IO mapping access
+//-------------------------------------------------------------
+//#define IO_MAPPING
+
+
+//-------------------------------------------------------------
+// Wifi Simple Config support
+//-------------------------------------------------------------
+#define WIFI_SIMPLE_CONFIG
+/* WPS2DOTX */
+#define WPS2DOTX
+#define OUI_LEN 4
+
+#ifdef WPS2DOTX
+#define SUPPORT_PROBE_REQ_REASSEM //for AP mode
+#define SUPPORT_PROBE_RSP_REASSEM // for STA mode
+#define WPS2DOTX_DEBUG
+#endif
+
+#ifdef WPS2DOTX_DEBUG //0614 for wps2.0 trace
+#define SECU_DEBUG(fmt, args...) printk("[secu]%s %d:"fmt, __FUNCTION__,__LINE__, ## args)
+#define SME_DEBUG(fmt, args...) printk("[sme]%s %d:"fmt,__FUNCTION__ , __LINE__ , ## args)
+
+#else
+#define SECU_DEBUG(fmt, args...)
+#define SME_DEBUG(fmt, args...)
+#endif
+/* WPS2DOTX */
+
+//-------------------------------------------------------------
+// Support Multiple BSSID
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL_VAP_SUPPORT)
+#define MBSSID
+#endif
+#ifdef MBSSID
+#define RTL8192CD_NUM_VWLAN 4
+//#define FW_SW_BEACON
+#else
+#ifdef CONFIG_RTL8671
+#define RTL8192CD_NUM_VWLAN 0
+#endif
+#endif
+
+
+//-------------------------------------------------------------
+// Support Tx Descriptor Reservation for each interface
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL_TX_RESERVE_DESC
+#if defined(UNIVERSAL_REPEATER) || defined(MBSSID)
+//#define RESERVE_TXDESC_FOR_EACH_IF
+#endif
+#endif
+
+
+//-------------------------------------------------------------
+// Group BandWidth Control
+//-------------------------------------------------------------
+//#define GBWC
+
+
+//-------------------------------------------------------------
+// Support 802.11 SNMP MIB
+//-------------------------------------------------------------
+//#define SUPPORT_SNMP_MIB
+
+
+//-------------------------------------------------------------
+// Driver-MAC loopback
+//-------------------------------------------------------------
+//#define DRVMAC_LB
+
+
+//-------------------------------------------------------------
+// Use perfomance profiling
+//-------------------------------------------------------------
+//#define PERF_DUMP
+
+
+//-------------------------------------------------------------
+// 1x1 Antenna Diversity
+//-------------------------------------------------------------
+#ifdef CONFIG_ANT_SWITCH
+//#define SW_ANT_SWITCH
+#define HW_ANT_SWITCH
+#endif
+
+//-------------------------------------------------------------
+// WPAI performance issue
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL_WAPI_SUPPORT
+ //#define IRAM_FOR_WIRELESS_AND_WAPI_PERFORMANCE
+ #if defined(CONFIG_RTL8192CD)
+ // if CONFIG_RTL_HW_WAPI_SUPPORT defined, { SWCRYPTO=1: sw wapi; SWCRYPTO=0: hw wapi. }
+ // if CONFIG_RTL_HW_WAPI_SUPPORT not defined, { SWCRYPTO=1: sw wapi; SWCRYPTO=0: should not be used! }
+ #define CONFIG_RTL_HW_WAPI_SUPPORT 1
+ #endif
+#endif
+
+
+//-------------------------------------------------------------
+// Use local ring for pre-alloc Rx buffer.
+// If no defined, will use kernel skb que
+//-------------------------------------------------------------
+#define RTK_QUE
+
+
+//-------------------------------------------------------------
+//Support IP multicast->unicast
+//-------------------------------------------------------------
+#define SUPPORT_TX_MCAST2UNI
+//#define MCAST2UI_REFINE
+
+#ifdef CLIENT_MODE
+#define SUPPORT_RX_UNI2MCAST
+#endif
+
+/* for cameo feature*/
+#ifdef CONFIG_RTL865X_CMO
+ #define IGMP_FILTER_CMO
+#endif
+
+// Support IPV6 multicast->unicast
+#ifdef SUPPORT_TX_MCAST2UNI
+ #define TX_SUPPORT_IPV6_MCAST2UNI
+#endif
+
+
+//-------------------------------------------------------------
+// Support USB tx rate adaptive
+//-------------------------------------------------------------
+// define it always for object code release
+#ifdef CONFIG_USB
+ #define USB_PKT_RATE_CTRL_SUPPORT
+#endif
+
+
+//-------------------------------------------------------------
+// Support Tx AMSDU
+//-------------------------------------------------------------
+//#define SUPPORT_TX_AMSDU
+
+
+//-------------------------------------------------------------
+// Mesh Network
+//-------------------------------------------------------------
+#ifdef CONFIG_RTK_MESH
+#define _MESH_ACL_ENABLE_
+
+/*need check Tx AMSDU dependency ; 8196B no support now */
+#ifdef SUPPORT_TX_AMSDU
+#define MESH_AMSDU
+#endif
+//#define MESH_ESTABLISH_RSSI_THRESHOLD
+//#define MESH_BOOTSEQ_AUTH
+#endif // CONFIG_RTK_MESH
+
+
+//-------------------------------------------------------------
+// Realtek proprietary wake up on wlan mode
+//-------------------------------------------------------------
+//#define RTK_WOW
+
+
+//-------------------------------------------------------------
+// Support 802.11d
+//-------------------------------------------------------------
+//#define DOT11D
+
+
+//-------------------------------------------------------------
+// Use static buffer for STA private buffer
+//-------------------------------------------------------------
+#if !defined(CONFIG_RTL8196B_GW_8M) && !defined(CONFIG_WIRELESS_LAN_MODULE)
+#define PRIV_STA_BUF
+#endif
+
+//-------------------------------------------------------------
+// Do not drop packet immediately when rx buffer empty
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL8190_PRIV_SKB
+ #define DELAY_REFILL_RX_BUF
+#endif
+
+
+//-------------------------------------------------------------
+// WiFi 11n 20/40 coexistence
+//-------------------------------------------------------------
+#define WIFI_11N_2040_COEXIST
+
+
+//-------------------------------------------------------------
+// Add TX power by command
+//-------------------------------------------------------------
+#define ADD_TX_POWER_BY_CMD
+
+//-------------------------------------------------------------
+// Merge firmware and phy parameter files into binary
+//-------------------------------------------------------------
+#define MERGE_FW
+
+
+//-------------------------------------------------------------
+// Do Rx process in tasklet
+//-------------------------------------------------------------
+//#define RX_TASKLET
+
+
+//-------------------------------------------------------------
+// Support external high power PA
+//-------------------------------------------------------------
+#ifdef CONFIG_HIGH_POWER_EXT_PA
+#define HIGH_POWER_EXT_PA
+#endif
+
+
+//-------------------------------------------------------------
+// Cache station info for bridge
+//-------------------------------------------------------------
+//#define RTL_CACHED_BR_STA
+
+
+//-------------------------------------------------------------
+// Use default keys of WEP (instead of keymapping keys)
+//-------------------------------------------------------------
+//#define USE_WEP_DEFAULT_KEY
+
+
+//-------------------------------------------------------------
+// Concurrent support up to 64 clients
+//-------------------------------------------------------------
+//#define STA_EXT
+
+
+//-------------------------------------------------------------
+// Auto test support
+//-------------------------------------------------------------
+#ifndef CONFIG_RTL_92D_SUPPORT
+#define AUTO_TEST_SUPPORT
+#endif
+
+//-------------------------------------------------------------
+// to prevent broadcast storm attacks
+//-------------------------------------------------------------
+#define PREVENT_BROADCAST_STORM 1
+
+#ifdef PREVENT_BROADCAST_STORM
+/*
+ * NOTE: The driver will skip the other broadcast packets if the system free memory is less than FREE_MEM_LOWER_BOUND
+ * and the broadcast packet amount is larger than BROADCAST_STORM_THRESHOLD in one second period.
+ */
+
+#define BROADCAST_STORM_THRESHOLD 8
+#define FREE_MEM_LOWER_BOUND 800 //uint: KBytes
+#endif
+
+
+//-------------------------------------------------------------
+// Video streaming refine
+//-------------------------------------------------------------
+#ifdef CONFIG_RTK_VLC_SPEEDUP_SUPPORT
+ #define VIDEO_STREAMING_REFINE
+#endif
+
+
+//-------------------------------------------------------------
+// Rx buffer gather feature
+//-------------------------------------------------------------
+#define RX_BUFFER_GATHER
+
+
+//-------------------------------------------------------------
+// A4 client support
+//-------------------------------------------------------------
+//#define A4_STA
+
+#if defined(A4_STA) && defined(WDS)
+ #error "A4_STA and WDS can't be used together\n"
+#endif
+
+
+//-------------------------------------------------------------
+// Avoid deadlock for SMP(Symmetrical Multi-Processing) architecture
+//-------------------------------------------------------------
+//#define SMP_SYNC
+
+
+//-------------------------------------------------------------
+// NOT use Realtek specified BSP
+//-------------------------------------------------------------
+//#define NOT_RTK_BSP
+
+
+//-------------------------------------------------------------
+// No padding between members in the structure for specified CPU
+//-------------------------------------------------------------
+//#define PACK_STRUCTURE
+
+
+/*********************************************************************/
+/* some definitions in 8192cd driver, we set them as NULL definition */
+/*********************************************************************/
+#ifdef USE_RTL8186_SDK
+#ifdef CONFIG_WIRELESS_LAN_MODULE
+#define __DRAM_IN_865X
+#define __IRAM_IN_865X
+#else
+#define __DRAM_IN_865X __attribute__ ((section(".dram-rtkwlan")))
+#define __IRAM_IN_865X __attribute__ ((section(".iram-rtkwlan")))
+#endif
+
+#define RTL8190_DIRECT_RX /* For packet RX : directly receive the packet instead of queuing it */
+#define RTL8190_ISR_RX /* process RXed packet in interrupt service routine: It become useful only when RTL8190_DIRECT_RX is defined */
+
+#ifndef CONFIG_WIRELESS_LAN_MODULE
+#ifndef CONCURRENT_MODE
+#define RTL8192CD_VARIABLE_USED_DMEM /* Use DMEM for some critical variables */
+#endif
+#endif
+
+#else // not USE_RTL8186_SDK
+
+#define __DRAM_IN_865X
+#define __IRAM_IN_865X
+#endif
+
+
+#undef __MIPS16
+#if defined(CONFIG_WIRELESS_LAN_MODULE)
+#define __MIPS16
+#else
+#define __MIPS16 __attribute__ ((mips16))
+#endif
+
+#ifdef IRAM_FOR_WIRELESS_AND_WAPI_PERFORMANCE
+#define __IRAM_WLAN_HI __attribute__ ((section(".iram-wapi")))
+#define __DRAM_WLAN_HI __attribute__ ((section(".dram-wapi")))
+#endif
+
+
+//-------------------------------------------------------------
+// Kernel 2.6 specific config
+//-------------------------------------------------------------
+#ifdef __LINUX_2_6__
+
+#define USE_RLX_BSP
+#ifndef CONCURRENT_MODE
+#define RTL8192CD_VARIABLE_USED_DMEM
+#endif
+
+#ifndef RX_TASKLET
+ #define RX_TASKLET
+#endif
+
+#endif
+
+
+#if 0
+//-------------------------------------------------------------
+// TR define flag
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196C_EC)
+
+#ifndef INCLUDE_WPA_PSK
+ #define INCLUDE_WPA_PSK
+#endif
+
+#ifdef UNIVERSAL_REPEATER
+ #undef UNIVERSAL_REPEATER
+#endif
+
+#ifdef CLIENT_MODE
+ #undef CLIENT_MODE
+ #undef RTK_BR_EXT
+#endif
+
+#ifndef WIFI_SIMPLE_CONFIG
+ #define WIFI_SIMPLE_CONFIG
+#endif
+
+#ifdef GBWC
+ #undef GBWC
+#endif
+
+#ifdef SUPPORT_SNMP_MIB
+ #undef SUPPORT_SNMP_MIB
+#endif
+
+#endif // CONFIG_RTL8196B_TR
+
+
+//-------------------------------------------------------------
+// AC define flag
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL865X_AC
+
+#ifndef INCLUDE_WPA_PSK
+ #define INCLUDE_WPA_PSK
+#endif
+
+#ifdef UNIVERSAL_REPEATER
+ #undef UNIVERSAL_REPEATER
+#endif
+
+#ifdef CLIENT_MODE
+ #undef CLIENT_MODE
+ #undef RTK_BR_EXT
+#endif
+
+#ifndef WIFI_SIMPLE_CONFIG
+ #define WIFI_SIMPLE_CONFIG
+#endif
+
+#ifdef GBWC
+ #undef GBWC
+#endif
+
+#ifdef SUPPORT_SNMP_MIB
+ #undef SUPPORT_SNMP_MIB
+#endif
+
+#endif // CONFIG_RTL865X_AC
+#endif //#if 0
+
+
+//-------------------------------------------------------------
+// Config Little Endian CPU
+//-------------------------------------------------------------
+#ifdef _LITTLE_ENDIAN_
+
+#ifndef NOT_RTK_BSP
+#define NOT_RTK_BSP
+#endif
+
+#ifndef CONFIG_WIRELESS_LAN_MODULE
+#define CONFIG_WIRELESS_LAN_MODULE
+#endif
+
+#ifdef __MIPSEB__
+ #undef __MIPSEB__
+#endif
+
+#ifdef _BIG_ENDIAN_
+ #undef _BIG_ENDIAN_
+#endif
+
+#endif //_LITTLE_ENDIAN_
+
+
+//-------------------------------------------------------------
+// Config if NOT use Realtek specified BSP
+//-------------------------------------------------------------
+#ifdef NOT_RTK_BSP
+
+#ifndef CONFIG_NET_PCI
+#define CONFIG_NET_PCI
+#endif
+
+#ifndef __LINUX_2_6__
+#define del_timer_sync del_timer
+#endif
+
+#if LINUX_VERSION_CODE >= 0x02061D // linux 2.6.29
+#define NETDEV_NO_PRIV
+#endif
+
+#ifndef LINUX_2_6_22_
+#define CONFIG_COMPAT_NET_DEV_OPS
+#endif
+
+#ifdef CONFIG_RTL_CUSTOM_PASSTHRU
+#undef CONFIG_RTL_CUSTOM_PASSTHRU
+#endif
+
+#ifdef CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE
+#undef CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE
+#endif
+
+#ifdef _USE_DRAM_
+ #undef _USE_DRAM_
+#endif
+
+#ifdef CHECK_SWAP
+ #undef CHECK_SWAP
+#endif
+
+#ifdef EVENT_LOG
+ #undef EVENT_LOG
+#endif
+
+#ifdef BR_SHORTCUT
+ #undef BR_SHORTCUT
+#endif
+
+#ifdef RTK_BR_EXT
+ #undef RTK_BR_EXT
+#endif
+
+#ifdef UNIVERSAL_REPEATER
+ #undef UNIVERSAL_REPEATER
+#endif
+
+#ifdef GBWC
+ #undef GBWC
+#endif
+
+#ifdef USE_IO_OPS
+ #undef USE_IO_OPS
+#endif
+
+#ifdef IO_MAPPING
+ #undef IO_MAPPING
+#endif
+
+#ifdef RTK_QUE
+ #undef RTK_QUE
+#endif
+
+#ifdef USE_RLX_BSP
+#undef USE_RLX_BSP
+#endif
+
+#ifdef RX_BUFFER_GATHER
+#undef RX_BUFFER_GATHER
+#endif
+
+#endif //NOT_RTK_BSP
+
+
+//-------------------------------------------------------------
+// Define flag of EC system
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL8196C_EC
+
+#ifndef USE_WEP_DEFAULT_KEY
+ #define USE_WEP_DEFAULT_KEY
+#endif
+
+#ifdef TESTCHIP_SUPPORT
+ #undef TESTCHIP_SUPPORT
+#endif
+
+#endif
+
+
+//-------------------------------------------------------------
+// MSC define flag
+//-------------------------------------------------------------
+#ifdef _SINUX_
+#define CONFIG_MSC
+#endif
+
+#ifdef CONFIG_MSC
+#define INCLUDE_WPS
+
+#ifdef CHECK_HANGUP
+ #undef CHECK_HANGUP
+#endif
+#ifndef USE_WEP_DEFAULT_KEY //2010.4.23 Fred Fu open it to support wep key index 1 2 3
+ #define USE_WEP_DEFAULT_KEY
+#endif
+
+#ifdef WIFI_SIMPLE_CONFIG
+#ifdef INCLUDE_WPS
+#define USE_PORTING_OPENSSL
+#endif
+#endif
+
+#endif
+
+//-------------------------------------------------------------
+// Define flag of 8672 system
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL8672
+
+#undef DRV_RELDATE
+#define DRV_RELDATE "2009-11-18/2010-0104"
+
+#ifndef RX_TASKLET
+ #define RX_TASKLET
+#endif
+
+#ifdef RTL8190_DIRECT_RX
+ #undef RTL8190_DIRECT_RX
+#endif
+
+#ifdef RTL8190_ISR_RX
+ #undef RTL8190_ISR_RX
+#endif
+
+#ifdef USE_RLX_BSP
+ #undef USE_RLX_BSP
+#endif
+
+#undef TX_SC_ENTRY_NUM
+#define TX_SC_ENTRY_NUM 2
+
+#ifdef __DRAM_IN_865X
+ #undef __DRAM_IN_865X
+#endif
+#define __DRAM_IN_865X __attribute__ ((section(".dram-rtkwlan")))
+
+#ifdef __IRAM_IN_865X
+ #undef __IRAM_IN_865X
+#endif
+#define __IRAM_IN_865X __attribute__ ((section(".iram-rtkwlan")))
+
+#ifdef __IRAM_IN_865X_HI
+ #undef __IRAM_IN_865X_HI
+#endif
+#define __IRAM_IN_865X_HI __attribute__ ((section(".iram-tx")))
+
+#ifdef PCIE_POWER_SAVING
+ #undef PCIE_POWER_SAVING
+#endif
+
+#endif // CONFIG_RTL8672
+
+
+//-------------------------------------------------------------
+// Define flag of rtl8192d features
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL_92D_SUPPORT
+#define SW_LCK_92D
+
+#ifdef CONFIG_TXPWR_LMT
+#define TXPWR_LMT
+#endif
+
+#define RX_GAIN_TRACK_92D
+//#define CONFIG_RTL_NOISE_CONTROL
+#ifdef CONFIG_RTL_92D_DMDP
+//#define NON_INTR_ANTDIV
+#endif
+
+//#ifdef CONFIG_RTL_92D_INT_PA
+#define RTL8192D_INT_PA
+//#endif
+#endif
+
+
+
+#if 0
+//-------------------------------------------------------------
+// TLD define flag
+//-------------------------------------------------------------
+#ifdef CONFIG_RTL8196B_TLD
+
+#ifndef STA_EXT
+ #define STA_EXT
+#endif
+
+#ifdef GBWC
+ #undef GBWC
+#endif
+
+#ifdef SUPPORT_SNMP_MIB
+ #undef SUPPORT_SNMP_MIB
+#endif
+
+#ifdef DRVMAC_LB
+ #undef DRVMAC_LB
+#endif
+
+#ifdef HIGH_POWER_EXT_PA
+ #undef HIGH_POWER_EXT_PA
+#endif
+
+#ifdef ADD_TX_POWER_BY_CMD
+ #undef ADD_TX_POWER_BY_CMD
+#endif
+
+#endif // CONFIG_RTL8196B_TLD
+#endif
+
+
+
+//-------------------------------------------------------------
+// KLD define flag
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL8196C_KLD)
+
+#ifndef INCLUDE_WPA_PSK
+ #define INCLUDE_WPA_PSK
+#endif
+
+#ifdef UNIVERSAL_REPEATER
+ #undef UNIVERSAL_REPEATER
+#endif
+
+#ifndef WIFI_SIMPLE_CONFIG
+ #define WIFI_SIMPLE_CONFIG
+#endif
+
+#ifdef GBWC
+ #undef GBWC
+#endif
+
+#ifdef SUPPORT_SNMP_MIB
+ #undef SUPPORT_SNMP_MIB
+#endif
+
+#ifdef DRVMAC_LB
+ #undef DRVMAC_LB
+#endif
+
+#ifdef MBSSID
+ #undef RTL8192CD_NUM_VWLAN
+ #define RTL8192CD_NUM_VWLAN 1
+#endif
+
+//#ifdef HIGH_POWER_EXT_PA
+// #undef HIGH_POWER_EXT_PA
+//#endif
+
+//#ifdef ADD_TX_POWER_BY_CMD
+// #undef ADD_TX_POWER_BY_CMD
+//#endif
+
+#endif // CONFIG_RTL8196C_KLD
+
+//-------------------------------------------------------------
+// Dependence check of define flag
+//-------------------------------------------------------------
+#if defined(B2B_TEST) && !defined(MP_TEST)
+ #error "Define flag error, MP_TEST is not defined!\n"
+#endif
+
+
+#if defined(UNIVERSAL_REPEATER) && !defined(CLIENT_MODE)
+ #error "Define flag error, CLIENT_MODE is not defined!\n"
+#endif
+
+
+/*=============================================================*/
+/*------ Compiler Portability Macros --------------------------*/
+/*=============================================================*/
+#ifdef EVENT_LOG
+ extern int scrlog_printk(const char * fmt, ...);
+#ifdef CONFIG_RTK_MESH
+/*
+ * NOTE: dot1180211sInfo.log_enabled content from webpage MIB_LOG_ENABLED (bitmap) (in AP/goahead-2.1.1/LINUX/fmmgmt.c formSysLog)
+ */
+ #define _LOG_MSG(fmt, args...) if (1 & GET_MIB(priv)->dot1180211sInfo.log_enabled) scrlog_printk(fmt, ## args)
+ #define LOG_MESH_MSG(fmt, args...) if (16 & GET_MIB(priv)->dot1180211sInfo.log_enabled) _LOG_MSG("%s: " fmt, priv->mesh_dev->name, ## args)
+#else
+ #define _LOG_MSG(fmt, args...) scrlog_printk(fmt, ## args)
+#endif
+#if defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196C_EC)
+ #define _NOTICE "NOTICElog_num:13;msg:"
+ #define _DROPT "DROPlog_num:13;msg:"
+ #define _SYSACT "SYSACTlog_num:13;msg:"
+
+ #define LOG_MSG_NOTICE(fmt, args...) _LOG_MSG("%s" fmt, _NOTICE, ## args)
+ #define LOG_MSG_DROP(fmt, args...) _LOG_MSG("%s" fmt, _DROPT, ## args)
+ #define LOG_MSG_SYSACT(fmt, args...) _LOG_MSG("%s" fmt, _SYSACT, ## args)
+ #define LOG_MSG(fmt, args...) {}
+
+ #define LOG_START_MSG() { \
+ char tmpbuf[10]; \
+ LOG_MSG_NOTICE("Access Point: %s started at channel %d;\n", \
+ priv->pmib->dot11StationConfigEntry.dot11DesiredSSID, \
+ priv->pmib->dot11RFEntry.dot11channel); \
+ if (priv->pmib->dot11StationConfigEntry.autoRate) \
+ strcpy(tmpbuf, "best"); \
+ else \
+ sprintf(tmpbuf, "%d", get_rate_from_bit_value(priv->pmib->dot11StationConfigEntry.fixedTxRate)/2); \
+ LOG_MSG_SYSACT("AP 2.4GHz mode Ready. Channel : %d TxRate : %s SSID : %s;\n", \
+ priv->pmib->dot11RFEntry.dot11channel, \
+ tmpbuf, priv->pmib->dot11StationConfigEntry.dot11DesiredSSID); \
+ }
+
+#elif defined(CONFIG_RTL865X_AC) || defined(CONFIG_RTL865X_KLD) || defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196C_KLD)
+ #define _NOTICE "NOTICElog_num:13;msg:"
+ #define _DROPT "DROPlog_num:13;msg:"
+ #define _SYSACT "SYSACTlog_num:13;msg:"
+
+ #define LOG_MSG_NOTICE(fmt, args...) _LOG_MSG("%s" fmt, _NOTICE, ## args)
+ #define LOG_MSG_DROP(fmt, args...) _LOG_MSG("%s" fmt, _DROPT, ## args)
+ #define LOG_MSG_SYSACT(fmt, args...) _LOG_MSG("%s" fmt, _SYSACT, ## args)
+ #define LOG_MSG(fmt, args...) {}
+
+ #define LOG_START_MSG() { \
+ char tmpbuf[10]; \
+ LOG_MSG_NOTICE("Access Point: %s started at channel %d;\n", \
+ priv->pmib->dot11StationConfigEntry.dot11DesiredSSID, \
+ priv->pmib->dot11RFEntry.dot11channel); \
+ if (priv->pmib->dot11StationConfigEntry.autoRate) \
+ strcpy(tmpbuf, "best"); \
+ else \
+ sprintf(tmpbuf, "%d", get_rate_from_bit_value(priv->pmib->dot11StationConfigEntry.fixedTxRate)/2); \
+ LOG_MSG_SYSACT("AP 2.4GHz mode Ready. Channel : %d TxRate : %s SSID : %s;\n", \
+ priv->pmib->dot11RFEntry.dot11channel, \
+ tmpbuf, priv->pmib->dot11StationConfigEntry.dot11DesiredSSID); \
+ }
+#elif defined(CONFIG_RTL8196B_TLD)
+ #define LOG_MSG_DEL(fmt, args...) _LOG_MSG(fmt, ## args)
+ #define LOG_MSG(fmt, args...) {}
+#else
+ #define LOG_MSG(fmt, args...) _LOG_MSG("%s: "fmt, priv->dev->name, ## args)
+#endif
+#else
+ #if defined(__GNUC__) || defined(GREEN_HILL)
+ #define LOG_MSG(fmt, args...) {}
+ #else
+ #define LOG_MSG
+ #endif
+#endif // EVENT_LOG
+
+#ifdef _USE_DRAM_
+ #define DRAM_START_ADDR 0x81000000 // start address of internal data ram
+#endif
+
+#ifdef __GNUC__
+#define __WLAN_ATTRIB_PACK__ __attribute__ ((packed))
+#define __PACK
+#endif
+
+#ifdef __arm
+#define __WLAN_ATTRIB_PACK__
+#define __PACK __packed
+#endif
+
+#ifdef GREEN_HILL
+#define __WLAN_ATTRIB_PACK__
+#define __PACK
+#endif
+
+
+/*=============================================================*/
+/*-----------_ Driver module flags ----------------------------*/
+/*=============================================================*/
+#ifdef CONFIG_WIRELESS_LAN_MODULE
+ #define MODULE_NAME "Realtek WirelessLan Driver"
+ #define MODULE_VERSION "v1.00"
+
+ #define MDL_DEVINIT
+ #define MDL_DEVEXIT
+ #define MDL_INIT
+ #define MDL_EXIT
+ #define MDL_DEVINITDATA
+#else
+ #define MDL_DEVINIT __devinit
+ #define MDL_DEVEXIT __devexit
+ #define MDL_INIT __init
+ #define MDL_EXIT __exit
+ #define MDL_DEVINITDATA __devinitdata
+#endif
+
+
+/*=============================================================*/
+/*----------- System configuration ----------------------------*/
+/*=============================================================*/
+#if defined(CONFIG_RTL8196B_GW_8M)
+#define NUM_TX_DESC 200
+#else
+#if defined(CONFIG_RTL_8198)
+#if defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D)
+#define NUM_TX_DESC 640
+#else
+#define NUM_TX_DESC 512
+#endif
+#else
+#define NUM_TX_DESC 256 // kmalloc max size issue
+#endif
+#endif
+
+#if defined(CONFIG_RTL_8198)
+ #if defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D)
+ #define NUM_RX_DESC 256
+ #else
+ #define NUM_RX_DESC 128
+ #endif
+#elif defined(CONFIG_RTL_92D_SUPPORT)
+ #define NUM_RX_DESC 80
+#elif defined(__ECOS)
+ #define NUM_RX_DESC 64
+ #undef NUM_TX_DESC
+ #define NUM_TX_DESC 512
+
+#else
+ #ifdef RX_BUFFER_GATHER
+ #define NUM_RX_DESC 64
+ #else
+ #define NUM_RX_DESC 32
+ #endif
+#endif
+
+#ifdef DELAY_REFILL_RX_BUF
+ #define REFILL_THRESHOLD NUM_RX_DESC
+#endif
+
+#define FW_NUM_STAT 32
+
+#if (defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196C_KLD)) && defined(MBSSID)
+#define NUM_CMD_DESC 2
+#else
+#define NUM_CMD_DESC 16
+#endif
+
+#ifdef STA_EXT
+#define NUM_STAT 64
+#else
+#define NUM_STAT 31 //32
+#endif
+#define MAX_GUEST_NUM NUM_STAT
+
+#define NUM_TXPKT_QUEUE 64
+#define NUM_APSD_TXPKT_QUEUE 32
+#define NUM_DZ_MGT_QUEUE 16
+
+#define PRE_ALLOCATED_HDR NUM_TX_DESC
+#ifdef DRVMAC_LB
+#define PRE_ALLOCATED_MMPDU 32
+#define PRE_ALLOCATED_BUFSIZE (2048/4) // 600 bytes long should be enough for mgt! Declare as unsigned int
+#else
+#define PRE_ALLOCATED_MMPDU 64
+#define PRE_ALLOCATED_BUFSIZE ((600+128)/4) // 600 bytes long should be enough for mgt! Declare as unsigned int
+#endif
+
+#define MAX_BSS_NUM 64
+
+
+#define MAX_NUM_WLANIF 4
+#define WLAN_MISC_MAJOR 13
+
+#define MAX_FRAG_COUNT 10
+
+#define NUM_MP_SKB 32
+
+#define SUPPORT_CH_NUM 59
+
+// unit of time out: 10 msec
+#define AUTH_TO RTL_SECONDS_TO_JIFFIES(5)
+#define ASSOC_TO RTL_SECONDS_TO_JIFFIES(5)
+#define FRAG_TO RTL_SECONDS_TO_JIFFIES(20)
+#define SS_TO RTL_MILISECONDS_TO_JIFFIES(50)
+#define SS_PSSV_TO RTL_MILISECONDS_TO_JIFFIES(120) // passive scan for 120 ms
+
+
+#ifdef CONFIG_RTL_NEW_AUTOCH
+#define SS_AUTO_CHNL_TO RTL_MILISECONDS_TO_JIFFIES(200)
+#endif
+
+#ifdef CONFIG_RTK_MESH
+//GANTOE for automatic site survey 2008/12/10
+#define SS_RAND_DEFER 300
+#endif
+#ifdef LINUX_2_6_22_
+#define EXPIRE_TO RTL_SECONDS_TO_JIFFIES(1)
+#else
+#define EXPIRE_TO RTL_SECONDS_TO_JIFFIES(1)
+#endif
+#define REAUTH_TO RTL_SECONDS_TO_JIFFIES(5)
+#define REASSOC_TO RTL_SECONDS_TO_JIFFIES(5)
+#define REAUTH_LIMIT 6
+#define REASSOC_LIMIT 6
+
+#define DEFAULT_OLBC_EXPIRE 60
+
+#define GBWC_TO RTL_MILISECONDS_TO_JIFFIES(250)
+
+#ifdef __DRAYTEK_OS__
+#define SS_COUNT 2
+#else
+#define SS_COUNT 3
+#endif
+
+#define TUPLE_WINDOW 64
+
+#define RC_TIMER_NUM 64
+#define RC_ENTRY_NUM 128
+#define AMSDU_TIMER_NUM 64
+#define AMPDU_TIMER_NUM 64
+
+#define ROAMING_DECISION_PERIOD_INFRA 5
+#define ROAMING_DECISION_PERIOD_ADHOC 10
+#define ROAMING_DECISION_PERIOD_ARRAY (MAX_NUM(ROAMING_DECISION_PERIOD_ADHOC,ROAMING_DECISION_PERIOD_INFRA)+1)
+#define ROAMING_THRESHOLD 1 // roaming will be triggered when rx
+ // beacon percentage is less than the value
+#define FAST_ROAMING_THRESHOLD 40
+
+/* below is for security.h */
+#define MAXDATALEN 1560
+#define MAXQUEUESIZE 8 //WPS2DOTX
+#define MAXRSNIELEN 128
+#define E_DOT11_2LARGE -1
+#define E_DOT11_QFULL -2
+#define E_DOT11_QEMPTY -3
+#ifdef WIFI_SIMPLE_CONFIG
+#define PROBEIELEN 260
+#endif
+
+// for SW LED
+#define LED_MAX_PACKET_CNT_B 400
+#define LED_MAX_PACKET_CNT_AG 1200
+#define LED_MAX_SCALE 100
+#define LED_NOBLINK_TIME RTL_SECONDS_TO_JIFFIES(11)/10 // time more than watchdog interval
+#define LED_INTERVAL_TIME RTL_MILISECONDS_TO_JIFFIES(500) // 500ms
+#define LED_ON_TIME RTL_MILISECONDS_TO_JIFFIES(40) // 40ms
+#define LED_ON 0
+#define LED_OFF 1
+#define LED_0 0
+#define LED_1 1
+#define LED_2 2
+
+// for counting association number
+#define INCREASE 1
+#define DECREASE 0
+
+// DFS
+#define CH_AVAIL_CHK_TO RTL_SECONDS_TO_JIFFIES(62) // 62 seconds
+#define CH_AVAIL_CHK_TO_CE RTL_SECONDS_TO_JIFFIES(602) // 602 seconds
+
+#ifdef RX_BUFFER_GATHER
+#ifdef __LINUX_2_6__
+#define MAX_SKB_BUF 2280
+#else
+#define MAX_SKB_BUF 2048
+#endif
+
+#define MAX_RX_BUF_LEN (MAX_SKB_BUF -sizeof(struct skb_shared_info) - 128)
+#define MIN_RX_BUF_LEN MAX_RX_BUF_LEN
+
+#else
+#define MAX_RX_BUF_LEN 8400
+#define MIN_RX_BUF_LEN 4400
+#endif
+
+/* for RTL865x suspend mode */
+#define TP_HIGH_WATER_MARK 50 //80 /* unit: Mbps */
+#define TP_LOW_WATER_MARK 30 //40 /* unit: Mbps */
+
+#define FW_BOOT_SIZE 400
+#define FW_MAIN_SIZE 52000
+#define FW_DATA_SIZE 850
+
+#define AGC_TAB_SIZE 1600
+#define PHY_REG_SIZE 2048
+#define MAC_REG_SIZE 1200
+#ifdef CONFIG_RTL_92D_SUPPORT
+#define PHY_REG_PG_SIZE 2560
+#else
+#define PHY_REG_PG_SIZE 256
+#endif
+
+#define PHY_REG_1T2R 256
+#define PHY_REG_1T1R 256
+#define FW_IMEM_SIZE 40*(1024)
+#define FW_EMEM_SIZE 50*(1024)
+#define FW_DMEM_SIZE 48
+
+// for PCIe power saving
+#define POWER_DOWN_T0 (10*HZ)
+#define PKT_PAGE_SZ 128
+#define TX_DESC_SZ 32
+
+
+#ifdef SUPPORT_TX_MCAST2UNI
+#define MAX_IP_MC_ENTRY 8
+#endif
+
+#define IQK_ADDA_REG_NUM 16
+#define MAX_TOLERANCE 5
+#define IQK_DELAY_TIME 1 //ms
+#define IQK_MAC_REG_NUM 4
+
+#define SKIP_MIC_NUM 300
+
+//Analog Pre-distortion calibration
+#define APK_BB_REG_NUM 5
+#define APK_AFE_REG_NUM 16
+#define APK_CURVE_REG_NUM 4
+#define PATH_NUM 2
+
+// for dynamic mechanism of reserving tx desc
+#if defined(RESERVE_TXDESC_FOR_EACH_IF) && (defined(UNIVERSAL_REPEATER) || defined(MBSSID))
+#define IF_TXDESC_UPPER_LIMIT 70 // percentage
+#endif
+
+// for dynamic mechanism of retry count
+#define RETRY_TRSHLD_H 3750000
+#define RETRY_TRSHLD_L 3125000
+
+//-------------------------------------------------------------
+// Define flag for 8M gateway configuration
+//-------------------------------------------------------------
+#if defined(CONFIG_RTL8196B_GW_8M)
+
+//#ifdef MERGE_FW
+// #undef MERGE_FW
+//#endif
+//#define DW_FW_BY_MALLOC_BUF
+
+#ifdef MBSSID
+ #undef RTL8192CD_NUM_VWLAN
+ #define RTL8192CD_NUM_VWLAN 1
+#endif
+
+#undef NUM_STAT
+#define NUM_STAT 16
+
+#endif // CONFIG_RTL8196B_GW_8M
+
+
+#if defined(CONFIG_RTL8196C_AP_ROOT) || defined(CONFIG_RTL8198_AP_ROOT)
+
+#ifdef DOT11D
+ #undef DOT11D
+#endif
+
+
+#ifdef MBSSID
+ #undef RTL8192CD_NUM_VWLAN
+ #define RTL8192CD_NUM_VWLAN 1
+#endif
+
+#undef NUM_STAT
+#define NUM_STAT 16
+
+
+#endif //defined(CONFIG_RTL8196C_AP_ROOT)
+#ifdef CONFIG_RTL_8198_NFBI_RTK_INBAND_AP //mark_nfbi_inband_ap
+#ifdef MBSSID
+ #undef RTL8192CD_NUM_VWLAN
+ #define RTL8192CD_NUM_VWLAN 7
+#endif
+#endif
+
+
+#if defined(CONFIG_RTL8196C_CLIENT_ONLY)
+
+#ifdef DOT11D
+ #undef DOT11D
+#endif
+
+#endif
+
+#ifdef CONCURRENT_MODE
+#define NUM_WLAN_IFACE 2
+#endif
+
+#ifdef CONFIG_NET_PCI
+#ifndef NUM_WLAN_IFACE
+#define NUM_WLAN_IFACE 2
+#endif
+#endif
+
+#if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_USB_POWER_BUS)
+#define USB_POWER_SUPPORT
+#endif
+
+#ifdef WIFI_SIMPLE_CONFIG
+#define MAX_WSC_IE_LEN (256+128)
+#define MAX_WSC_PROBE_STA 10
+#endif
+
+
+#ifdef CONFIG_WIRELESS_LAN_MODULE //BE_MODULE
+#undef __DRAM_IN_865X
+#undef __IRAM_IN_865X
+#undef __MIPS16
+
+#define __DRAM_IN_865X
+#define __IRAM_IN_865X
+#define __MIPS16
+
+#undef BR_SHORTCUT
+#undef CONFIG_RTL865X_ETH_PRIV_SKB
+#undef CONFIG_RTL_ETH_PRIV_SKB
+#undef CONFIG_RTK_VLAN_SUPPORT
+#endif
+
+
+#endif // _8192CD_CFG_H_
+