| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478 |
- /******************************************************************************
- *
- * Copyright(c) 2007 - 2017 Realtek Corporation.
- *
- * 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.
- *
- *****************************************************************************/
- #ifndef __DRV_CONF_H__
- #define __DRV_CONF_H__
- #include "autoconf.h"
- #include "hal_ic_cfg.h"
- #if defined(PLATFORM_LINUX) && defined (PLATFORM_WINDOWS)
- #error "Shall be Linux or Windows, but not both!\n"
- #endif
- #define CONFIG_RSSI_PRIORITY
- #ifdef CONFIG_RTW_REPEATER_SON
- #ifndef CONFIG_AP
- #define CONFIG_AP
- #endif
- #ifndef CONFIG_CONCURRENT_MODE
- #define CONFIG_CONCURRENT_MODE
- #endif
- #ifndef CONFIG_BR_EXT
- #define CONFIG_BR_EXT
- #endif
- #ifndef CONFIG_RTW_REPEATER_SON_ID
- #define CONFIG_RTW_REPEATER_SON_ID 0x02040608
- #endif
- //#define CONFIG_RTW_REPEATER_SON_ROOT
- #ifndef CONFIG_RTW_REPEATER_SON_ROOT
- #define CONFIG_LAYER2_ROAMING_ACTIVE
- #endif
- #undef CONFIG_POWER_SAVING
- #endif
- #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE))
- #error "Enable CONCURRENT_MODE before enable MCC MODE\n"
- #endif
- #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BT_COEXIST)
- #error "Disable BT COEXIST before enable MCC MODE\n"
- #endif
- #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS)
- #error "Disable TDLS before enable MCC MODE\n"
- #endif
- #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING)
- #error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n"
- #endif
- /* Older Android kernel doesn't has CONFIG_ANDROID defined,
- * add this to force CONFIG_ANDROID defined */
- #ifdef CONFIG_PLATFORM_ANDROID
- #ifndef CONFIG_ANDROID
- #define CONFIG_ANDROID
- #endif
- #endif
- #ifdef CONFIG_ANDROID
- /* Some Android build will restart the UI while non-printable ascii is passed
- * between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID
- * for Android here. If you are sure there is no risk on your system about this,
- * mask this macro define to support non-printable ascii ssid.
- * #define CONFIG_VALIDATE_SSID */
- /* Android expect dbm as the rx signal strength unit */
- #define CONFIG_SIGNAL_DISPLAY_DBM
- #endif
- /*
- #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE)
- #warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
- #undef CONFIG_RESUME_IN_WORKQUEUE
- #endif
- #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE)
- #warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
- #undef CONFIG_RESUME_IN_WORKQUEUE
- #endif
- */
- #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */
- #if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER)
- #error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..."
- #error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..."
- #endif
- #endif
- /* About USB VENDOR REQ */
- #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
- #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically"
- #define CONFIG_USB_VENDOR_REQ_MUTEX
- #endif
- #if defined(CONFIG_VENDOR_REQ_RETRY) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
- #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically"
- #define CONFIG_USB_VENDOR_REQ_MUTEX
- #endif
- #if defined(CONFIG_DFS_SLAVE_WITH_RADAR_DETECT) && !defined(CONFIG_DFS_MASTER)
- #define CONFIG_DFS_MASTER
- #endif
- #if !defined(CONFIG_AP_MODE) && defined(CONFIG_DFS_MASTER)
- #error "enable CONFIG_DFS_MASTER without CONFIG_AP_MODE"
- #endif
- #ifdef CONFIG_RTW_MESH
- #ifndef CONFIG_RTW_MESH_ACNODE_PREVENT
- #define CONFIG_RTW_MESH_ACNODE_PREVENT 1
- #endif
- #ifndef CONFIG_RTW_MESH_OFFCH_CAND
- #define CONFIG_RTW_MESH_OFFCH_CAND 1
- #endif
- #ifndef CONFIG_RTW_MESH_PEER_BLACKLIST
- #define CONFIG_RTW_MESH_PEER_BLACKLIST 1
- #endif
- #ifndef CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
- #define CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 1
- #endif
- #ifndef CONFIG_RTW_MESH_CTO_MGATE_CARRIER
- #define CONFIG_RTW_MESH_CTO_MGATE_CARRIER CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
- #endif
- #ifndef CONFIG_RTW_MPM_TX_IES_SYNC_BSS
- #define CONFIG_RTW_MPM_TX_IES_SYNC_BSS 1
- #endif
- #if CONFIG_RTW_MPM_TX_IES_SYNC_BSS
- #ifndef CONFIG_RTW_MESH_AEK
- #define CONFIG_RTW_MESH_AEK
- #endif
- #endif
- #ifndef CONFIG_RTW_MESH_DATA_BMC_TO_UC
- #define CONFIG_RTW_MESH_DATA_BMC_TO_UC 1
- #endif
- #endif
- #if !defined(CONFIG_SCAN_BACKOP) && defined(CONFIG_AP_MODE)
- #define CONFIG_SCAN_BACKOP
- #endif
- #define RTW_SCAN_SPARSE_MIRACAST 1
- #define RTW_SCAN_SPARSE_BG 0
- #define RTW_SCAN_SPARSE_ROAMING_ACTIVE 1
- #ifndef CONFIG_RTW_HIQ_FILTER
- #define CONFIG_RTW_HIQ_FILTER 1
- #endif
- #ifndef CONFIG_RTW_ADAPTIVITY_EN
- #define CONFIG_RTW_ADAPTIVITY_EN 0
- #endif
- #ifndef CONFIG_RTW_ADAPTIVITY_MODE
- #define CONFIG_RTW_ADAPTIVITY_MODE 0
- #endif
- #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI
- #define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0
- #endif
- #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF
- #define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0
- #endif
- #ifndef CONFIG_RTW_EXCL_CHS
- #define CONFIG_RTW_EXCL_CHS {0}
- #endif
- #ifndef CONFIG_RTW_DFS_REGION_DOMAIN
- #define CONFIG_RTW_DFS_REGION_DOMAIN 0
- #endif
- #ifndef CONFIG_TXPWR_BY_RATE_EN
- #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */
- #endif
- #ifndef CONFIG_TXPWR_LIMIT_EN
- #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */
- #endif
- #ifndef CONFIG_RTW_CHPLAN
- #define CONFIG_RTW_CHPLAN 0xFF /* RTW_CHPLAN_UNSPECIFIED */
- #endif
- /* compatible with old fashion configuration */
- #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY)
- #undef CONFIG_TXPWR_BY_RATE_EN
- #undef CONFIG_TXPWR_LIMIT_EN
- #define CONFIG_TXPWR_BY_RATE_EN 1
- #define CONFIG_TXPWR_LIMIT_EN 1
- #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX)
- #undef CONFIG_TXPWR_BY_RATE_EN
- #undef CONFIG_TXPWR_LIMIT_EN
- #define CONFIG_TXPWR_BY_RATE_EN 1
- #define CONFIG_TXPWR_LIMIT_EN 0
- #endif
- #ifndef RTW_DEF_MODULE_REGULATORY_CERT
- #define RTW_DEF_MODULE_REGULATORY_CERT 0
- #endif
- #if RTW_DEF_MODULE_REGULATORY_CERT
- /* force enable TX power by rate and TX power limit */
- #undef CONFIG_TXPWR_BY_RATE_EN
- #undef CONFIG_TXPWR_LIMIT_EN
- #define CONFIG_TXPWR_BY_RATE_EN 1
- #define CONFIG_TXPWR_LIMIT_EN 1
- #endif
- #if !defined(CONFIG_TXPWR_LIMIT) && CONFIG_TXPWR_LIMIT_EN
- #define CONFIG_TXPWR_LIMIT
- #endif
- #ifdef CONFIG_RTW_IPCAM_APPLICATION
- #undef CONFIG_TXPWR_BY_RATE_EN
- #define CONFIG_TXPWR_BY_RATE_EN 1
- #define CONFIG_RTW_CUSTOMIZE_BEEDCA 0x0000431C
- #define CONFIG_RTW_CUSTOMIZE_BWMODE 0x00
- #define CONFIG_RTW_CUSTOMIZE_RLSTA 0x7
- #if defined(CONFIG_RTL8192E) || defined(CONFIG_RTL8192F) || defined(CONFIG_RTL8822B)
- #define CONFIG_RTW_TX_2PATH_EN /* mutually incompatible with STBC_TX & Beamformer */
- #endif
- #endif
- /*#define CONFIG_EXTEND_LOWRATE_TXOP */
- #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS
- #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF}
- #endif
- #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS
- #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF}
- #endif
- #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS
- #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF}
- #endif
- #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS
- #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A
- #define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B
- #define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C
- #define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D
- #define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A
- #define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B
- #define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C
- #define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D
- #define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1}
- #endif
- #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G
- #define CONFIG_RTW_AMPLIFIER_TYPE_2G 0
- #endif
- #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G
- #define CONFIG_RTW_AMPLIFIER_TYPE_5G 0
- #endif
- #ifndef CONFIG_RTW_RFE_TYPE
- #define CONFIG_RTW_RFE_TYPE 64
- #endif
- #ifndef CONFIG_RTW_GLNA_TYPE
- #define CONFIG_RTW_GLNA_TYPE 0
- #endif
- #ifndef CONFIG_RTW_PLL_REF_CLK_SEL
- #define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F
- #endif
- #ifndef CONFIG_IFACE_NUMBER
- #ifdef CONFIG_CONCURRENT_MODE
- #define CONFIG_IFACE_NUMBER 2
- #else
- #define CONFIG_IFACE_NUMBER 1
- #endif
- #endif
- #ifndef CONFIG_CONCURRENT_MODE
- #if (CONFIG_IFACE_NUMBER > 1)
- #error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined"
- #endif
- #endif
- #if (CONFIG_IFACE_NUMBER == 0)
- #error "CONFIG_IFACE_NUMBER cound not be 0 !!"
- #endif
- #if defined(CONFIG_RTL8188E) || defined(CONFIG_RTL8192E) || defined(CONFIG_RTL8188F) || \
- defined(CONFIG_RTL8188GTV) || defined(CONFIG_RTL8192F) || \
- defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8710B) || \
- defined(CONFIG_RTL8723B) || defined(CONFIG_RTL8703B) || defined(CONFIG_RTL8723D)
- #define CONFIG_HWMPCAP_GEN1
- #elif defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8822C) /*|| defined(CONFIG_RTL8814A)*/
- #define CONFIG_HWMPCAP_GEN2
- #elif defined(CONFIG_RTL8814B) /*Address CAM - 128*/
- #define CONFIG_HWMPCAP_GEN3
- #endif
- #if defined(CONFIG_HWMPCAP_GEN1) && (CONFIG_IFACE_NUMBER > 2)
- #ifdef CONFIG_POWER_SAVING
- /*#warning "Disable PS when CONFIG_IFACE_NUMBER > 2"*/
- #undef CONFIG_POWER_SAVING
- #endif
- #ifdef CONFIG_WOWLAN
- #error "This IC can't support MI and WoWLan at the same time"
- #endif
- #endif
- #if (CONFIG_IFACE_NUMBER > 4)
- #error "Not support over 4 interfaces yet !!"
- #endif
- #if (CONFIG_IFACE_NUMBER > 8) /*IFACE_ID_MAX*/
- #error "HW count not support over 8 interfaces !!"
- #endif
- #if (CONFIG_IFACE_NUMBER > 2)
- #define CONFIG_MI_WITH_MBSSID_CAM
- #ifdef CONFIG_MI_WITH_MBSSID_CAM
- #define CONFIG_MBSSID_CAM
- #if defined(CONFIG_RUNTIME_PORT_SWITCH)
- #undef CONFIG_RUNTIME_PORT_SWITCH
- #endif
- #endif
- #ifdef CONFIG_AP_MODE
- #define CONFIG_SUPPORT_MULTI_BCN
- #define CONFIG_SWTIMER_BASED_TXBCN
- #ifdef CONFIG_HWMPCAP_GEN2 /*CONFIG_RTL8822B/CONFIG_RTL8821C/CONFIG_RTL8822C*/
- #define CONFIG_FW_HANDLE_TXBCN
- #ifdef CONFIG_FW_HANDLE_TXBCN
- #ifdef CONFIG_SWTIMER_BASED_TXBCN
- #undef CONFIG_SWTIMER_BASED_TXBCN
- #endif
- #define CONFIG_LIMITED_AP_NUM 4
- #endif
- #endif /*CONFIG_HWMPCAP_GEN2*/
- #endif /*CONFIG_AP_MODE*/
- #ifdef CONFIG_HWMPCAP_GEN2 /*CONFIG_RTL8822B/CONFIG_RTL8821C/CONFIG_RTL8822C*/
- #define CONFIG_CLIENT_PORT_CFG
- #define CONFIG_NEW_NETDEV_HDL
- #endif/*CONFIG_HWMPCAP_GEN2*/
- #endif/*(CONFIG_IFACE_NUMBER > 2)*/
- #define MACID_NUM_SW_LIMIT 32
- #define SEC_CAM_ENT_NUM_SW_LIMIT 32
- #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A)
- #define CONFIG_IEEE80211_BAND_5GHZ
- #endif
- #if defined(CONFIG_WOWLAN) && (defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8814A))
- #define CONFIG_WOW_PATTERN_HW_CAM
- #endif
- #ifndef CONFIG_TSF_UPDATE_PAUSE_FACTOR
- #define CONFIG_TSF_UPDATE_PAUSE_FACTOR 200
- #endif
- #ifndef CONFIG_TSF_UPDATE_RESTORE_FACTOR
- #define CONFIG_TSF_UPDATE_RESTORE_FACTOR 5
- #endif
- /*
- Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20
- If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle,
- power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP.
- */
- /*#define CONFIG_DEAUTH_BEFORE_CONNECT */
- /*#define CONFIG_WEXT_DONT_JOIN_BYSSID */
- /* #include <rtl871x_byteorder.h> */
- /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC */
- /*#define CONFIG_PHDYM_FW_FIXRATE */ /* Another way to fix tx rate */
- /*Don't release SDIO irq in suspend/resume procedure*/
- #define CONFIG_RTW_SDIO_KEEP_IRQ 0
- /*
- * Add by Lucas@2016/02/15
- * For RX Aggregation
- */
- #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION)
- #define RTW_RX_AGGREGATION
- #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */
- #ifdef CONFIG_RTW_HOSTAPD_ACS
- #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A)
- #ifndef CONFIG_FIND_BEST_CHANNEL
- #define CONFIG_FIND_BEST_CHANNEL
- #endif
- #else
- #ifdef CONFIG_FIND_BEST_CHANNEL
- #undef CONFIG_FIND_BEST_CHANNEL
- #endif
- #ifndef CONFIG_RTW_ACS
- #define CONFIG_RTW_ACS
- #endif
- #ifndef CONFIG_BACKGROUND_NOISE_MONITOR
- #define CONFIG_BACKGROUND_NOISE_MONITOR
- #endif
- #endif
- #endif
- #ifdef CONFIG_RTW_80211K
- #ifndef CONFIG_RTW_ACS
- #define CONFIG_RTW_ACS
- #endif
- #endif /*CONFIG_RTW_80211K*/
- #ifdef DBG_CONFIG_ERROR_RESET
- #ifndef CONFIG_IPS
- #define CONFIG_IPS
- #endif
- #endif
- #ifdef RTW_REDUCE_SCAN_SWITCH_CH_TIME
- #ifndef CONFIG_RTL8822B
- #error "Only 8822B support RTW_REDUCE_SCAN_SWITCH_CH_TIME"
- #endif
- #ifndef RTW_CHANNEL_SWITCH_OFFLOAD
- #define RTW_CHANNEL_SWITCH_OFFLOAD
- #endif
- #endif
- #endif /* __DRV_CONF_H__ */
|