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