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