xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/include/drv_conf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2007 - 2021 Realtek Corporation.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun  * under the terms of version 2 of the GNU General Public License as
7*4882a593Smuzhiyun  * published by the Free Software Foundation.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful, but WITHOUT
10*4882a593Smuzhiyun  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12*4882a593Smuzhiyun  * more details.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *****************************************************************************/
15*4882a593Smuzhiyun #ifndef __DRV_CONF_H__
16*4882a593Smuzhiyun #define __DRV_CONF_H__
17*4882a593Smuzhiyun #include "autoconf.h"
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define CONFIG_RSSI_PRIORITY
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun /*
22*4882a593Smuzhiyun  * RTW_BUSY_DENY_SCAN control if scan would be denied by busy traffic.
23*4882a593Smuzhiyun  * When this defined, BUSY_TRAFFIC_SCAN_DENY_PERIOD would be used to judge if
24*4882a593Smuzhiyun  * scan request coming from scan UI. Scan request from scan UI would be
25*4882a593Smuzhiyun  * exception and never be denied by busy traffic.
26*4882a593Smuzhiyun  */
27*4882a593Smuzhiyun #define RTW_BUSY_DENY_SCAN
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE))
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun 	#error "Enable CONCURRENT_MODE before enable MCC MODE\n"
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #endif
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BTC)
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun 	#error "Disable BT COEXIST before enable MCC MODE\n"
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun #endif
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS)
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun 	#error "Disable TDLS before enable MCC MODE\n"
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun #endif
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING)
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun 	#error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n"
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun #endif
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #ifdef CONFIG_RTW_ANDROID
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun 	#include <linux/version.h>
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun 	#ifndef CONFIG_IOCTL_CFG80211
58*4882a593Smuzhiyun 	#define CONFIG_IOCTL_CFG80211
59*4882a593Smuzhiyun 	#endif
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun 	#ifndef RTW_USE_CFG80211_STA_EVENT
62*4882a593Smuzhiyun 	#define RTW_USE_CFG80211_STA_EVENT
63*4882a593Smuzhiyun 	#endif
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun 	#if (CONFIG_RTW_ANDROID > 4)
66*4882a593Smuzhiyun 	#ifndef CONFIG_RADIO_WORK
67*4882a593Smuzhiyun 	#define CONFIG_RADIO_WORK
68*4882a593Smuzhiyun 	#endif
69*4882a593Smuzhiyun 	#endif
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun 	#if (CONFIG_RTW_ANDROID >= 8)
72*4882a593Smuzhiyun 		#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0))
73*4882a593Smuzhiyun 		#ifndef CONFIG_RTW_WIFI_HAL
74*4882a593Smuzhiyun 		#define CONFIG_RTW_WIFI_HAL
75*4882a593Smuzhiyun 		#endif
76*4882a593Smuzhiyun 		#else
77*4882a593Smuzhiyun  		#error "Linux kernel version is too old\n"
78*4882a593Smuzhiyun 		#endif
79*4882a593Smuzhiyun 	#endif
80*4882a593Smuzhiyun 
81*4882a593Smuzhiyun 	#ifdef CONFIG_RTW_WIFI_HAL
82*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_WIFI_HAL_DEBUG
83*4882a593Smuzhiyun 	//#define CONFIG_RTW_WIFI_HAL_DEBUG
84*4882a593Smuzhiyun 	#endif
85*4882a593Smuzhiyun 	#if (CONFIG_RTW_ANDROID < 11)
86*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_CFGVENDOR_LLSTATS
87*4882a593Smuzhiyun 	#define CONFIG_RTW_CFGVENDOR_LLSTATS
88*4882a593Smuzhiyun 	#endif
89*4882a593Smuzhiyun 	#endif
90*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_CFGVENDOR_RANDOM_MAC_OUI
91*4882a593Smuzhiyun 	/*todo fixed phl rx filter flow while enable random mac*/
92*4882a593Smuzhiyun 	/*#define CONFIG_RTW_CFGVENDOR_RANDOM_MAC_OUI*/
93*4882a593Smuzhiyun 	#endif
94*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_CFGVENDOR_RSSIMONITOR
95*4882a593Smuzhiyun 	#define CONFIG_RTW_CFGVENDOR_RSSIMONITOR
96*4882a593Smuzhiyun 	#endif
97*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_CFGVENDOR_WIFI_LOGGER
98*4882a593Smuzhiyun 	#define CONFIG_RTW_CFGVENDOR_WIFI_LOGGER
99*4882a593Smuzhiyun 	#endif
100*4882a593Smuzhiyun 	#if (CONFIG_RTW_ANDROID >= 10)
101*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_CFGVENDOR_WIFI_OFFLOAD
102*4882a593Smuzhiyun 	//#define CONFIG_RTW_CFGVENDOR_WIFI_OFFLOAD
103*4882a593Smuzhiyun 	#endif
104*4882a593Smuzhiyun 	#ifndef CONFIG_KERNEL_PATCH_EXTERNAL_AUTH
105*4882a593Smuzhiyun 	#define CONFIG_KERNEL_PATCH_EXTERNAL_AUTH
106*4882a593Smuzhiyun 	#endif
107*4882a593Smuzhiyun 	#endif
108*4882a593Smuzhiyun 	#endif // CONFIG_RTW_WIFI_HAL
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun 
111*4882a593Smuzhiyun 	/* Some Android build will restart the UI while non-printable ascii is passed
112*4882a593Smuzhiyun 	* between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID
113*4882a593Smuzhiyun 	* for Android here. If you are sure there is no risk on your system about this,
114*4882a593Smuzhiyun 	* mask this macro define to support non-printable ascii ssid.
115*4882a593Smuzhiyun 	* #define CONFIG_VALIDATE_SSID */
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun 	/* Android expect dbm as the rx signal strength unit */
118*4882a593Smuzhiyun 	#define CONFIG_SIGNAL_DISPLAY_DBM
119*4882a593Smuzhiyun #endif // CONFIG_RTW_ANDROID
120*4882a593Smuzhiyun 
121*4882a593Smuzhiyun /*
122*4882a593Smuzhiyun #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE)
123*4882a593Smuzhiyun 	#warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
124*4882a593Smuzhiyun 	#undef CONFIG_RESUME_IN_WORKQUEUE
125*4882a593Smuzhiyun #endif
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE)
128*4882a593Smuzhiyun 	#warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
129*4882a593Smuzhiyun 	#undef CONFIG_RESUME_IN_WORKQUEUE
130*4882a593Smuzhiyun #endif
131*4882a593Smuzhiyun */
132*4882a593Smuzhiyun 
133*4882a593Smuzhiyun #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */
134*4882a593Smuzhiyun 	#if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER)
135*4882a593Smuzhiyun 		#error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..."
136*4882a593Smuzhiyun 		#error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..."
137*4882a593Smuzhiyun 	#endif
138*4882a593Smuzhiyun #endif
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun /* About USB VENDOR REQ */
141*4882a593Smuzhiyun #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
142*4882a593Smuzhiyun 	#warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically"
143*4882a593Smuzhiyun 	#define CONFIG_USB_VENDOR_REQ_MUTEX
144*4882a593Smuzhiyun #endif
145*4882a593Smuzhiyun #if defined(CONFIG_VENDOR_REQ_RETRY) &&  !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
146*4882a593Smuzhiyun 	#warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically"
147*4882a593Smuzhiyun 	#define CONFIG_USB_VENDOR_REQ_MUTEX
148*4882a593Smuzhiyun #endif
149*4882a593Smuzhiyun 
150*4882a593Smuzhiyun #ifdef CONFIG_WIFI_MONITOR
151*4882a593Smuzhiyun 	/*	#define CONFIG_MONITOR_MODE_XMIT	*/
152*4882a593Smuzhiyun #endif
153*4882a593Smuzhiyun 
154*4882a593Smuzhiyun #ifdef CONFIG_CUSTOMER_ALIBABA_GENERAL
155*4882a593Smuzhiyun 	#ifndef CONFIG_WIFI_MONITOR
156*4882a593Smuzhiyun 		#define CONFIG_WIFI_MONITOR
157*4882a593Smuzhiyun 	#endif
158*4882a593Smuzhiyun 	#ifndef CONFIG_MONITOR_MODE_XMIT
159*4882a593Smuzhiyun 		#define CONFIG_MONITOR_MODE_XMIT
160*4882a593Smuzhiyun 	#endif
161*4882a593Smuzhiyun 	#ifdef CONFIG_POWER_SAVING
162*4882a593Smuzhiyun 		#undef CONFIG_POWER_SAVING
163*4882a593Smuzhiyun 	#endif
164*4882a593Smuzhiyun #endif
165*4882a593Smuzhiyun 
166*4882a593Smuzhiyun #ifndef CONFIG_RTW_DATA_BMC_TO_UC
167*4882a593Smuzhiyun #define CONFIG_RTW_DATA_BMC_TO_UC 0
168*4882a593Smuzhiyun #endif
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #ifdef CONFIG_AP_MODE
171*4882a593Smuzhiyun 	#define CONFIG_LIMITED_AP_NUM 1
172*4882a593Smuzhiyun 	#define BMC_ON_HIQ
173*4882a593Smuzhiyun 
174*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_AP_DATA_BMC_TO_UC
175*4882a593Smuzhiyun 	#define CONFIG_RTW_AP_DATA_BMC_TO_UC 1
176*4882a593Smuzhiyun 	#endif
177*4882a593Smuzhiyun 	#if CONFIG_RTW_AP_DATA_BMC_TO_UC
178*4882a593Smuzhiyun 	#undef CONFIG_RTW_DATA_BMC_TO_UC
179*4882a593Smuzhiyun 	#define CONFIG_RTW_DATA_BMC_TO_UC 1
180*4882a593Smuzhiyun 	#endif
181*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_AP_SRC_B2U_FLAGS
182*4882a593Smuzhiyun 	#define CONFIG_RTW_AP_SRC_B2U_FLAGS 0x8 /* see RTW_AP_B2U_XXX */
183*4882a593Smuzhiyun 	#endif
184*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_AP_FWD_B2U_FLAGS
185*4882a593Smuzhiyun 	#define CONFIG_RTW_AP_FWD_B2U_FLAGS 0x8 /* see RTW_AP_B2U_XXX */
186*4882a593Smuzhiyun 	#endif
187*4882a593Smuzhiyun #endif
188*4882a593Smuzhiyun 
189*4882a593Smuzhiyun #ifdef CONFIG_RTW_MULTI_AP
190*4882a593Smuzhiyun 	#ifndef CONFIG_AP_MODE
191*4882a593Smuzhiyun 	#error "enable CONFIG_RTW_MULTI_AP without CONFIG_AP_MODE"
192*4882a593Smuzhiyun 	#endif
193*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_WDS
194*4882a593Smuzhiyun 	#define CONFIG_RTW_WDS
195*4882a593Smuzhiyun 	#endif
196*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_UNASOC_STA_MODE_OF_STYPE
197*4882a593Smuzhiyun 	#define CONFIG_RTW_UNASOC_STA_MODE_OF_STYPE {2, 1} /* BMC:2 for all, NMY_UC:1 for interested target */
198*4882a593Smuzhiyun 	#endif
199*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_NLRTW
200*4882a593Smuzhiyun 	#define CONFIG_RTW_NLRTW
201*4882a593Smuzhiyun 	#endif
202*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_WNM
203*4882a593Smuzhiyun 	#define CONFIG_RTW_WNM
204*4882a593Smuzhiyun 	#endif
205*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_80211K
206*4882a593Smuzhiyun 	#define CONFIG_RTW_80211K
207*4882a593Smuzhiyun 	#endif
208*4882a593Smuzhiyun #endif
209*4882a593Smuzhiyun 
210*4882a593Smuzhiyun #ifdef CONFIG_RTW_MESH
211*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_ACNODE_PREVENT
212*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_ACNODE_PREVENT 1
213*4882a593Smuzhiyun 	#endif
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_OFFCH_CAND
216*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_OFFCH_CAND 1
217*4882a593Smuzhiyun 	#endif
218*4882a593Smuzhiyun 
219*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_PEER_BLACKLIST
220*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_PEER_BLACKLIST 1
221*4882a593Smuzhiyun 	#endif
222*4882a593Smuzhiyun 
223*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
224*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 1
225*4882a593Smuzhiyun 	#endif
226*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_CTO_MGATE_CARRIER
227*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_CTO_MGATE_CARRIER CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
228*4882a593Smuzhiyun 	#endif
229*4882a593Smuzhiyun 
230*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MPM_TX_IES_SYNC_BSS
231*4882a593Smuzhiyun 	#define CONFIG_RTW_MPM_TX_IES_SYNC_BSS 1
232*4882a593Smuzhiyun 	#endif
233*4882a593Smuzhiyun 	#if CONFIG_RTW_MPM_TX_IES_SYNC_BSS
234*4882a593Smuzhiyun 		#ifndef CONFIG_RTW_MESH_AEK
235*4882a593Smuzhiyun 		#define CONFIG_RTW_MESH_AEK
236*4882a593Smuzhiyun 		#endif
237*4882a593Smuzhiyun 	#endif
238*4882a593Smuzhiyun 
239*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MESH_DATA_BMC_TO_UC
240*4882a593Smuzhiyun 	#define CONFIG_RTW_MESH_DATA_BMC_TO_UC 1
241*4882a593Smuzhiyun 	#endif
242*4882a593Smuzhiyun 	#if CONFIG_RTW_MESH_DATA_BMC_TO_UC
243*4882a593Smuzhiyun 	#undef CONFIG_RTW_DATA_BMC_TO_UC
244*4882a593Smuzhiyun 	#define CONFIG_RTW_DATA_BMC_TO_UC 1
245*4882a593Smuzhiyun 	#endif
246*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MSRC_B2U_FLAGS
247*4882a593Smuzhiyun 	#define CONFIG_RTW_MSRC_B2U_FLAGS 0x0 /* see RTW_MESH_B2U_XXX */
248*4882a593Smuzhiyun 	#endif
249*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_MFWD_B2U_FLAGS
250*4882a593Smuzhiyun 	#define CONFIG_RTW_MFWD_B2U_FLAGS 0x2 /* see RTW_MESH_B2U_XXX */
251*4882a593Smuzhiyun 	#endif
252*4882a593Smuzhiyun #endif
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun #if !defined(CONFIG_SCAN_BACKOP) && defined(CONFIG_AP_MODE)
255*4882a593Smuzhiyun #define CONFIG_SCAN_BACKOP
256*4882a593Smuzhiyun #endif
257*4882a593Smuzhiyun 
258*4882a593Smuzhiyun #define RTW_SCAN_SPARSE_MIRACAST 1
259*4882a593Smuzhiyun #define RTW_SCAN_SPARSE_BG 0
260*4882a593Smuzhiyun 
261*4882a593Smuzhiyun #ifndef CONFIG_RTW_HIQ_FILTER
262*4882a593Smuzhiyun 	#define CONFIG_RTW_HIQ_FILTER 1
263*4882a593Smuzhiyun #endif
264*4882a593Smuzhiyun 
265*4882a593Smuzhiyun #ifndef CONFIG_RTW_ADAPTIVITY_EN
266*4882a593Smuzhiyun 	#define CONFIG_RTW_ADAPTIVITY_EN 0
267*4882a593Smuzhiyun #endif
268*4882a593Smuzhiyun 
269*4882a593Smuzhiyun #ifndef CONFIG_RTW_ADAPTIVITY_MODE
270*4882a593Smuzhiyun 	#define CONFIG_RTW_ADAPTIVITY_MODE 0
271*4882a593Smuzhiyun #endif
272*4882a593Smuzhiyun 
273*4882a593Smuzhiyun #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI
274*4882a593Smuzhiyun 	#define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0
275*4882a593Smuzhiyun #endif
276*4882a593Smuzhiyun 
277*4882a593Smuzhiyun #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF
278*4882a593Smuzhiyun 	#define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0
279*4882a593Smuzhiyun #endif
280*4882a593Smuzhiyun 
281*4882a593Smuzhiyun #ifndef CONFIG_RTW_EXCL_CHS
282*4882a593Smuzhiyun 	#define CONFIG_RTW_EXCL_CHS {0}
283*4882a593Smuzhiyun #endif
284*4882a593Smuzhiyun 
285*4882a593Smuzhiyun #ifndef CONFIG_RTW_EXCL_CHS_6G
286*4882a593Smuzhiyun 	#define CONFIG_RTW_EXCL_CHS_6G {0}
287*4882a593Smuzhiyun #endif
288*4882a593Smuzhiyun 
289*4882a593Smuzhiyun #ifndef CONFIG_RTW_COUNTRY_IE_SLAVE_EN_ROLE
290*4882a593Smuzhiyun #define CONFIG_RTW_COUNTRY_IE_SLAVE_EN_ROLE 0x03 /* BIT0 for pure STA mode, BIT1 for P2P group client */
291*4882a593Smuzhiyun #endif
292*4882a593Smuzhiyun 
293*4882a593Smuzhiyun #ifndef CONFIG_RTW_COUNTRY_IE_SLAVE_EN_IFBMP
294*4882a593Smuzhiyun #define CONFIG_RTW_COUNTRY_IE_SLAVE_EN_IFBMP 0xFF /* all iface */
295*4882a593Smuzhiyun #endif
296*4882a593Smuzhiyun 
297*4882a593Smuzhiyun #define CONFIG_IEEE80211_BAND_5GHZ 1
298*4882a593Smuzhiyun 
299*4882a593Smuzhiyun #ifndef CONFIG_IEEE80211_BAND_6GHZ
300*4882a593Smuzhiyun #define CONFIG_IEEE80211_BAND_6GHZ 0
301*4882a593Smuzhiyun #endif
302*4882a593Smuzhiyun 
303*4882a593Smuzhiyun #ifndef CONFIG_DFS
304*4882a593Smuzhiyun #define CONFIG_DFS 1
305*4882a593Smuzhiyun #endif
306*4882a593Smuzhiyun 
307*4882a593Smuzhiyun #if CONFIG_DFS
308*4882a593Smuzhiyun #define CONFIG_ECSA_PHL /* Process ECSA by PHL cmd dispatcher */
309*4882a593Smuzhiyun #ifdef CONFIG_ECSA_PHL
310*4882a593Smuzhiyun 	#define CONFIG_ECSA
311*4882a593Smuzhiyun #endif
312*4882a593Smuzhiyun #endif
313*4882a593Smuzhiyun 
314*4882a593Smuzhiyun #if CONFIG_IEEE80211_BAND_5GHZ && CONFIG_DFS && defined(CONFIG_AP_MODE)
315*4882a593Smuzhiyun 	#if !defined(CONFIG_DFS_SLAVE_WITH_RADAR_DETECT)
316*4882a593Smuzhiyun 	#define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0
317*4882a593Smuzhiyun 	#endif
318*4882a593Smuzhiyun 	#if !defined(CONFIG_DFS_MASTER) || CONFIG_DFS_SLAVE_WITH_RADAR_DETECT
319*4882a593Smuzhiyun 	/*#define CONFIG_DFS_MASTER*/
320*4882a593Smuzhiyun 	#endif
321*4882a593Smuzhiyun 	#if defined(CONFIG_DFS_MASTER) && !defined(CONFIG_RTW_DFS_REGION_DOMAIN)
322*4882a593Smuzhiyun 	#define CONFIG_RTW_DFS_REGION_DOMAIN 0
323*4882a593Smuzhiyun 	#endif
324*4882a593Smuzhiyun #else
325*4882a593Smuzhiyun 	#undef CONFIG_DFS_MASTER
326*4882a593Smuzhiyun 	#undef CONFIG_RTW_DFS_REGION_DOMAIN
327*4882a593Smuzhiyun 	#define CONFIG_RTW_DFS_REGION_DOMAIN 0
328*4882a593Smuzhiyun 	#undef CONFIG_DFS_SLAVE_WITH_RADAR_DETECT
329*4882a593Smuzhiyun 	#define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0
330*4882a593Smuzhiyun #endif
331*4882a593Smuzhiyun 
332*4882a593Smuzhiyun #ifndef CONFIG_TXPWR_BY_RATE_EN
333*4882a593Smuzhiyun #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */
334*4882a593Smuzhiyun #endif
335*4882a593Smuzhiyun #ifndef CONFIG_TXPWR_LIMIT_EN
336*4882a593Smuzhiyun #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */
337*4882a593Smuzhiyun #endif
338*4882a593Smuzhiyun 
339*4882a593Smuzhiyun #ifndef CONFIG_RTW_CHPLAN
340*4882a593Smuzhiyun #define CONFIG_RTW_CHPLAN 0xFFFF /* RTW_CHPLAN_IOCTL_UNSPECIFIED */
341*4882a593Smuzhiyun #endif
342*4882a593Smuzhiyun 
343*4882a593Smuzhiyun #ifndef CONFIG_RTW_CHPLAN_6G
344*4882a593Smuzhiyun #define CONFIG_RTW_CHPLAN_6G 0xFFFF /* RTW_CHPLAN_IOCTL_UNSPECIFIED */
345*4882a593Smuzhiyun #endif
346*4882a593Smuzhiyun 
347*4882a593Smuzhiyun /* compatible with old fashion configuration */
348*4882a593Smuzhiyun #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY)
349*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_BY_RATE_EN
350*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_LIMIT_EN
351*4882a593Smuzhiyun 	#define CONFIG_TXPWR_BY_RATE_EN 1
352*4882a593Smuzhiyun 	#define CONFIG_TXPWR_LIMIT_EN 1
353*4882a593Smuzhiyun #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX)
354*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_BY_RATE_EN
355*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_LIMIT_EN
356*4882a593Smuzhiyun 	#define CONFIG_TXPWR_BY_RATE_EN 1
357*4882a593Smuzhiyun 	#define CONFIG_TXPWR_LIMIT_EN 0
358*4882a593Smuzhiyun #endif
359*4882a593Smuzhiyun 
360*4882a593Smuzhiyun #ifndef RTW_DEF_MODULE_REGULATORY_CERT
361*4882a593Smuzhiyun 	#define RTW_DEF_MODULE_REGULATORY_CERT 0
362*4882a593Smuzhiyun #endif
363*4882a593Smuzhiyun 
364*4882a593Smuzhiyun #if RTW_DEF_MODULE_REGULATORY_CERT
365*4882a593Smuzhiyun 	#ifdef CONFIG_REGD_SRC_FROM_OS
366*4882a593Smuzhiyun 	#error "CONFIG_REGD_SRC_FROM_OS is not supported when enable RTW_DEF_MODULE_REGULATORY_CERT"
367*4882a593Smuzhiyun 	#endif
368*4882a593Smuzhiyun 	/* force enable TX power by rate and TX power limit */
369*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_BY_RATE_EN
370*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_LIMIT_EN
371*4882a593Smuzhiyun 	#define CONFIG_TXPWR_BY_RATE_EN 1
372*4882a593Smuzhiyun 	#define CONFIG_TXPWR_LIMIT_EN 1
373*4882a593Smuzhiyun #endif
374*4882a593Smuzhiyun 
375*4882a593Smuzhiyun #if !CONFIG_TXPWR_LIMIT && CONFIG_TXPWR_LIMIT_EN
376*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_LIMIT
377*4882a593Smuzhiyun 	#define CONFIG_TXPWR_LIMIT 1
378*4882a593Smuzhiyun #endif
379*4882a593Smuzhiyun 
380*4882a593Smuzhiyun #ifndef CONFIG_RTW_REGD_SRC
381*4882a593Smuzhiyun #define CONFIG_RTW_REGD_SRC 1 /* 0:RTK_PRIV, 1:OS */
382*4882a593Smuzhiyun #endif
383*4882a593Smuzhiyun 
384*4882a593Smuzhiyun #ifdef CONFIG_RTW_IPCAM_APPLICATION
385*4882a593Smuzhiyun 	#undef CONFIG_TXPWR_BY_RATE_EN
386*4882a593Smuzhiyun 	#define CONFIG_TXPWR_BY_RATE_EN 1
387*4882a593Smuzhiyun 	#define CONFIG_RTW_CUSTOMIZE_BEEDCA		0x0000431C
388*4882a593Smuzhiyun 	#define CONFIG_RTW_CUSTOMIZE_BWMODE		0x00
389*4882a593Smuzhiyun 	#define CONFIG_RTW_CUSTOMIZE_RLSTA		0x7
390*4882a593Smuzhiyun #if defined(CONFIG_RTL8822B)
391*4882a593Smuzhiyun 	#define CONFIG_RTW_TX_NPATH_EN		/*mutually incompatible with STBC_TX & Beamformer	*/
392*4882a593Smuzhiyun #endif
393*4882a593Smuzhiyun #endif
394*4882a593Smuzhiyun /* #define CONFIG_RTW_TOKEN_BASED_XMIT */
395*4882a593Smuzhiyun #ifdef CONFIG_RTW_TOKEN_BASED_XMIT
396*4882a593Smuzhiyun 	#define NR_TBTX_SLOT			4
397*4882a593Smuzhiyun 	#define NR_MAXSTA_INSLOT		5
398*4882a593Smuzhiyun 	#define TBTX_TX_DURATION		30
399*4882a593Smuzhiyun 
400*4882a593Smuzhiyun 	#define MAX_TXPAUSE_DURATION	(TBTX_TX_DURATION*NR_TBTX_SLOT)
401*4882a593Smuzhiyun #endif
402*4882a593Smuzhiyun 
403*4882a593Smuzhiyun /*#define CONFIG_EXTEND_LOWRATE_TXOP			*/
404*4882a593Smuzhiyun 
405*4882a593Smuzhiyun #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS
406*4882a593Smuzhiyun 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF}
407*4882a593Smuzhiyun #endif
408*4882a593Smuzhiyun #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS
409*4882a593Smuzhiyun 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF}
410*4882a593Smuzhiyun #endif
411*4882a593Smuzhiyun #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS
412*4882a593Smuzhiyun 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF}
413*4882a593Smuzhiyun #endif
414*4882a593Smuzhiyun #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS
415*4882a593Smuzhiyun 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF}
416*4882a593Smuzhiyun #endif
417*4882a593Smuzhiyun 
418*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A
419*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
420*4882a593Smuzhiyun #endif
421*4882a593Smuzhiyun 
422*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B
423*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
424*4882a593Smuzhiyun #endif
425*4882a593Smuzhiyun 
426*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C
427*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
428*4882a593Smuzhiyun #endif
429*4882a593Smuzhiyun 
430*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D
431*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
432*4882a593Smuzhiyun #endif
433*4882a593Smuzhiyun 
434*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A
435*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1}
436*4882a593Smuzhiyun #endif
437*4882a593Smuzhiyun 
438*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B
439*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1}
440*4882a593Smuzhiyun #endif
441*4882a593Smuzhiyun 
442*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C
443*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1}
444*4882a593Smuzhiyun #endif
445*4882a593Smuzhiyun 
446*4882a593Smuzhiyun #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D
447*4882a593Smuzhiyun 	#define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1}
448*4882a593Smuzhiyun #endif
449*4882a593Smuzhiyun 
450*4882a593Smuzhiyun #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G
451*4882a593Smuzhiyun 	#define CONFIG_RTW_AMPLIFIER_TYPE_2G 0
452*4882a593Smuzhiyun #endif
453*4882a593Smuzhiyun 
454*4882a593Smuzhiyun #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G
455*4882a593Smuzhiyun 	#define CONFIG_RTW_AMPLIFIER_TYPE_5G 0
456*4882a593Smuzhiyun #endif
457*4882a593Smuzhiyun 
458*4882a593Smuzhiyun #ifndef CONFIG_RTW_RFE_TYPE
459*4882a593Smuzhiyun 	#define CONFIG_RTW_RFE_TYPE 0xFF
460*4882a593Smuzhiyun #endif
461*4882a593Smuzhiyun 
462*4882a593Smuzhiyun #ifndef CONFIG_RTW_GLNA_TYPE
463*4882a593Smuzhiyun 	#define CONFIG_RTW_GLNA_TYPE 0
464*4882a593Smuzhiyun #endif
465*4882a593Smuzhiyun 
466*4882a593Smuzhiyun #ifndef CONFIG_RTW_PLL_REF_CLK_SEL
467*4882a593Smuzhiyun 	#define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F
468*4882a593Smuzhiyun #endif
469*4882a593Smuzhiyun 
470*4882a593Smuzhiyun #ifndef CONFIG_IFACE_NUMBER
471*4882a593Smuzhiyun 	#ifdef CONFIG_CONCURRENT_MODE
472*4882a593Smuzhiyun 		#define CONFIG_IFACE_NUMBER	2
473*4882a593Smuzhiyun 	#else
474*4882a593Smuzhiyun 		#define CONFIG_IFACE_NUMBER	1
475*4882a593Smuzhiyun 	#endif
476*4882a593Smuzhiyun #endif
477*4882a593Smuzhiyun 
478*4882a593Smuzhiyun #ifdef CONFIG_CONCURRENT_MODE
479*4882a593Smuzhiyun 	#if (CONFIG_IFACE_NUMBER < 2)
480*4882a593Smuzhiyun 		#error "CONFIG_IFACE_NUMBER less 2,but CONFIG_CONCURRENT_MODE defined"
481*4882a593Smuzhiyun 	#endif
482*4882a593Smuzhiyun #else
483*4882a593Smuzhiyun 	#if (CONFIG_IFACE_NUMBER > 1)
484*4882a593Smuzhiyun 		#error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined"
485*4882a593Smuzhiyun 	#endif
486*4882a593Smuzhiyun #endif
487*4882a593Smuzhiyun 
488*4882a593Smuzhiyun #if (CONFIG_IFACE_NUMBER == 0)
489*4882a593Smuzhiyun 	#error "CONFIG_IFACE_NUMBER cound not be 0 !!"
490*4882a593Smuzhiyun #endif
491*4882a593Smuzhiyun 
492*4882a593Smuzhiyun 
493*4882a593Smuzhiyun #if (CONFIG_IFACE_NUMBER > 4)
494*4882a593Smuzhiyun 	#error "Not support over 4 interfaces yet !!"
495*4882a593Smuzhiyun #endif
496*4882a593Smuzhiyun 
497*4882a593Smuzhiyun #if (CONFIG_IFACE_NUMBER > 8)	/*IFACE_ID_MAX*/
498*4882a593Smuzhiyun 	#error "HW count not support over 8 interfaces !!"
499*4882a593Smuzhiyun #endif
500*4882a593Smuzhiyun 
501*4882a593Smuzhiyun #if (CONFIG_IFACE_NUMBER > 2)
502*4882a593Smuzhiyun 	#ifdef CONFIG_AP_MODE
503*4882a593Smuzhiyun 		#undef CONFIG_LIMITED_AP_NUM
504*4882a593Smuzhiyun 		#define CONFIG_LIMITED_AP_NUM	2
505*4882a593Smuzhiyun 	#endif /*CONFIG_AP_MODE*/
506*4882a593Smuzhiyun 
507*4882a593Smuzhiyun #endif/*(CONFIG_IFACE_NUMBER > 2)*/
508*4882a593Smuzhiyun 
509*4882a593Smuzhiyun #define MACID_NUM_SW_LIMIT 32
510*4882a593Smuzhiyun #define SEC_CAM_ENT_NUM_SW_LIMIT 32
511*4882a593Smuzhiyun 
512*4882a593Smuzhiyun 
513*4882a593Smuzhiyun /*
514*4882a593Smuzhiyun Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20
515*4882a593Smuzhiyun If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle,
516*4882a593Smuzhiyun power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP.
517*4882a593Smuzhiyun */
518*4882a593Smuzhiyun /*#define CONFIG_DEAUTH_BEFORE_CONNECT */
519*4882a593Smuzhiyun 
520*4882a593Smuzhiyun /*#define CONFIG_WEXT_DONT_JOIN_BYSSID	*/
521*4882a593Smuzhiyun /* #include <rtw_byteorder.h> */
522*4882a593Smuzhiyun 
523*4882a593Smuzhiyun 
524*4882a593Smuzhiyun /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC	*/
525*4882a593Smuzhiyun 
526*4882a593Smuzhiyun /*Don't release SDIO irq in suspend/resume procedure*/
527*4882a593Smuzhiyun #define CONFIG_RTW_SDIO_KEEP_IRQ	0
528*4882a593Smuzhiyun 
529*4882a593Smuzhiyun /*
530*4882a593Smuzhiyun  * Add by Lucas@2016/02/15
531*4882a593Smuzhiyun  * For RX Aggregation
532*4882a593Smuzhiyun  */
533*4882a593Smuzhiyun #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION)
534*4882a593Smuzhiyun 	#define RTW_RX_AGGREGATION
535*4882a593Smuzhiyun #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */
536*4882a593Smuzhiyun 
537*4882a593Smuzhiyun #ifdef CONFIG_RTW_HOSTAPD_ACS
538*4882a593Smuzhiyun 	#ifdef CONFIG_FIND_BEST_CHANNEL
539*4882a593Smuzhiyun 		#undef CONFIG_FIND_BEST_CHANNEL
540*4882a593Smuzhiyun 	#endif
541*4882a593Smuzhiyun 	#ifndef CONFIG_RTW_ACS
542*4882a593Smuzhiyun 		#define CONFIG_RTW_ACS
543*4882a593Smuzhiyun 	#endif
544*4882a593Smuzhiyun #endif
545*4882a593Smuzhiyun 
546*4882a593Smuzhiyun 
547*4882a593Smuzhiyun #ifdef DBG_CONFIG_ERROR_RESET
548*4882a593Smuzhiyun #ifndef CONFIG_IPS
549*4882a593Smuzhiyun #define CONFIG_IPS
550*4882a593Smuzhiyun #endif
551*4882a593Smuzhiyun #endif
552*4882a593Smuzhiyun 
553*4882a593Smuzhiyun /* IPS */
554*4882a593Smuzhiyun #ifndef RTW_IPS_MODE
555*4882a593Smuzhiyun 	#if defined(CONFIG_IPS)
556*4882a593Smuzhiyun 		#define RTW_IPS_MODE 1
557*4882a593Smuzhiyun 	#else
558*4882a593Smuzhiyun 		#define RTW_IPS_MODE 0
559*4882a593Smuzhiyun 	#endif
560*4882a593Smuzhiyun #endif /* !RTW_IPS_MODE */
561*4882a593Smuzhiyun 
562*4882a593Smuzhiyun #if (RTW_IPS_MODE > 1 || RTW_IPS_MODE < 0)
563*4882a593Smuzhiyun 	#error "The CONFIG_IPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
564*4882a593Smuzhiyun #endif
565*4882a593Smuzhiyun 
566*4882a593Smuzhiyun /* LPS */
567*4882a593Smuzhiyun #ifndef RTW_LPS_MODE
568*4882a593Smuzhiyun 	#if defined(CONFIG_LPS_PG)
569*4882a593Smuzhiyun 		#define RTW_LPS_MODE 3
570*4882a593Smuzhiyun 	#elif defined(CONFIG_LPS_LCLK)
571*4882a593Smuzhiyun 		#define RTW_LPS_MODE 2
572*4882a593Smuzhiyun 	#elif defined(CONFIG_LPS)
573*4882a593Smuzhiyun 		#define RTW_LPS_MODE 1
574*4882a593Smuzhiyun 	#else
575*4882a593Smuzhiyun 		#define RTW_LPS_MODE 0
576*4882a593Smuzhiyun 	#endif
577*4882a593Smuzhiyun #endif /* !RTW_LPS_MODE */
578*4882a593Smuzhiyun 
579*4882a593Smuzhiyun #if (RTW_LPS_MODE > 3 || RTW_LPS_MODE < 0)
580*4882a593Smuzhiyun 	#error "The CONFIG_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
581*4882a593Smuzhiyun #endif
582*4882a593Smuzhiyun 
583*4882a593Smuzhiyun #ifndef RTW_LPS_1T1R
584*4882a593Smuzhiyun #define RTW_LPS_1T1R 0
585*4882a593Smuzhiyun #endif
586*4882a593Smuzhiyun 
587*4882a593Smuzhiyun #ifndef RTW_WOW_LPS_1T1R
588*4882a593Smuzhiyun #define RTW_WOW_LPS_1T1R 0
589*4882a593Smuzhiyun #endif
590*4882a593Smuzhiyun 
591*4882a593Smuzhiyun /* WOW LPS */
592*4882a593Smuzhiyun #ifndef RTW_WOW_LPS_MODE
593*4882a593Smuzhiyun 	#if defined(CONFIG_LPS_PG)
594*4882a593Smuzhiyun 		#define RTW_WOW_LPS_MODE 3
595*4882a593Smuzhiyun 	#elif defined(CONFIG_LPS_LCLK)
596*4882a593Smuzhiyun 		#define RTW_WOW_LPS_MODE 2
597*4882a593Smuzhiyun 	#elif defined(CONFIG_LPS)
598*4882a593Smuzhiyun 		#define RTW_WOW_LPS_MODE 1
599*4882a593Smuzhiyun 	#else
600*4882a593Smuzhiyun 		#define RTW_WOW_LPS_MODE 0
601*4882a593Smuzhiyun 	#endif
602*4882a593Smuzhiyun #endif /* !RTW_WOW_LPS_MODE */
603*4882a593Smuzhiyun 
604*4882a593Smuzhiyun #if (RTW_WOW_LPS_MODE > 3 || RTW_WOW_LPS_MODE < 0)
605*4882a593Smuzhiyun 	#error "The RTW_WOW_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
606*4882a593Smuzhiyun #endif
607*4882a593Smuzhiyun 
608*4882a593Smuzhiyun #ifdef RTW_REDUCE_SCAN_SWITCH_CH_TIME
609*4882a593Smuzhiyun #ifndef CONFIG_RTL8822B
610*4882a593Smuzhiyun 	#error "Only 8822B support RTW_REDUCE_SCAN_SWITCH_CH_TIME"
611*4882a593Smuzhiyun #endif
612*4882a593Smuzhiyun 	#ifndef RTW_CHANNEL_SWITCH_OFFLOAD
613*4882a593Smuzhiyun 		#define RTW_CHANNEL_SWITCH_OFFLOAD
614*4882a593Smuzhiyun 	#endif
615*4882a593Smuzhiyun #endif
616*4882a593Smuzhiyun 
617*4882a593Smuzhiyun #ifdef CONFIG_PCI_BCN_POLLING
618*4882a593Smuzhiyun #define CONFIG_BCN_ICF
619*4882a593Smuzhiyun #endif
620*4882a593Smuzhiyun 
621*4882a593Smuzhiyun #ifndef CONFIG_PCI_MSI
622*4882a593Smuzhiyun #define CONFIG_RTW_PCI_MSI_DISABLE
623*4882a593Smuzhiyun #endif
624*4882a593Smuzhiyun 
625*4882a593Smuzhiyun #if defined(CONFIG_PCI_DYNAMIC_ASPM_L1_LATENCY) ||	\
626*4882a593Smuzhiyun     defined(CONFIG_PCI_DYNAMIC_ASPM_LINK_CTRL)
627*4882a593Smuzhiyun #define CONFIG_PCI_DYNAMIC_ASPM
628*4882a593Smuzhiyun #endif
629*4882a593Smuzhiyun 
630*4882a593Smuzhiyun #if 0
631*4882a593Smuzhiyun /* Debug related compiler flags */
632*4882a593Smuzhiyun #define DBG_THREAD_PID	/* Add thread pid to debug message prefix */
633*4882a593Smuzhiyun #define DBG_CPU_INFO	/* Add CPU info to debug message prefix */
634*4882a593Smuzhiyun #endif
635*4882a593Smuzhiyun 
636*4882a593Smuzhiyun #ifdef CONFIG_TX_AMSDU_HW_MODE
637*4882a593Smuzhiyun #define CONFIG_HW_HDR_CONVERSION
638*4882a593Smuzhiyun #elif defined(CONFIG_TX_AMSDU_SW_MODE)
639*4882a593Smuzhiyun #else
640*4882a593Smuzhiyun #define CONFIG_HW_HDR_CONVERSION	/* TODO: should be 'unchange' */
641*4882a593Smuzhiyun #endif
642*4882a593Smuzhiyun 
643*4882a593Smuzhiyun /* for phl illegal mac io access check*/
644*4882a593Smuzhiyun #define CONFIG_MAC_REG_RW_CHK
645*4882a593Smuzhiyun 
646*4882a593Smuzhiyun /* To enable the CONFIG_PHL_P2PPS definition in phl_config.h */
647*4882a593Smuzhiyun #ifdef CONFIG_P2P_PS
648*4882a593Smuzhiyun #define CONFIG_P2PPS
649*4882a593Smuzhiyun #endif
650*4882a593Smuzhiyun 
651*4882a593Smuzhiyun #ifdef CONFIG_CMD_DISP
652*4882a593Smuzhiyun 	/*#define DBG_CONFIG_CMD_DISP*/
653*4882a593Smuzhiyun 
654*4882a593Smuzhiyun 	#define CONFIG_CMD_SCAN
655*4882a593Smuzhiyun 	#ifdef CONFIG_CMD_SCAN
656*4882a593Smuzhiyun 		#ifdef CONFIG_IOCTL_CFG80211
657*4882a593Smuzhiyun 		#define CONFIG_PHL_CMD_SCAN_BKOP_TIME
658*4882a593Smuzhiyun 		#endif
659*4882a593Smuzhiyun 		/* Scan hidden AP in passive channel */
660*4882a593Smuzhiyun 		#define RTW_WKARD_CMD_SCAN_EXTEND_ACTIVE_SCAN
661*4882a593Smuzhiyun 		#define RTW_EXTEND_ACTIVE_SCAN_PERIOD	30	/* unit: ms */
662*4882a593Smuzhiyun 	#endif /* CONFIG_CMD_SCAN */
663*4882a593Smuzhiyun 
664*4882a593Smuzhiyun 	#define CONFIG_CMD_GENERAL
665*4882a593Smuzhiyun 	#define CONFIG_CMD_SER
666*4882a593Smuzhiyun 	#define CONFIG_STA_CMD_DISPR
667*4882a593Smuzhiyun 	#define CONFIG_AP_CMD_DISPR
668*4882a593Smuzhiyun 	/*#define CONFIG_IBSS_CMD_DISPR*/
669*4882a593Smuzhiyun 	#define CONFIG_CMD_TSF_SYNC
670*4882a593Smuzhiyun #endif
671*4882a593Smuzhiyun 
672*4882a593Smuzhiyun #ifdef ROKU_PRIVATE
673*4882a593Smuzhiyun 	#define CONFIG_USB_RELEASE_RPT
674*4882a593Smuzhiyun 	#define CONFIG_RA_TXSTS_DBG
675*4882a593Smuzhiyun #endif
676*4882a593Smuzhiyun 
677*4882a593Smuzhiyun #ifdef CONFIG_80211AX_HE
678*4882a593Smuzhiyun 	#define CONFIG_STA_MULTIPLE_BSSID
679*4882a593Smuzhiyun #endif
680*4882a593Smuzhiyun 
681*4882a593Smuzhiyun /*
682*4882a593Smuzhiyun  * Work around Config
683*4882a593Smuzhiyun  */
684*4882a593Smuzhiyun /*
685*4882a593Smuzhiyun  * RTW_WKARD_UPDATE_PHL_ROLE_CAP
686*4882a593Smuzhiyun  * Update adapter->phl_role.cap & proto_role_cap by driver parameters(registry).
687*4882a593Smuzhiyun  */
688*4882a593Smuzhiyun #define RTW_WKARD_UPDATE_PHL_ROLE_CAP
689*4882a593Smuzhiyun 
690*4882a593Smuzhiyun /*
691*4882a593Smuzhiyun *RTW_WKARD_TRIGGER_FRAME_PARSER-OFDMA UL TB control
692*4882a593Smuzhiyun */
693*4882a593Smuzhiyun #define RTW_WKARD_TRIGGER_FRAME_PARSER
694*4882a593Smuzhiyun #endif /* __DRV_CONF_H__ */
695