xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8822bs/include/drv_conf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2019 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 #include "hal_ic_cfg.h"
19 
20 #define CONFIG_RSSI_PRIORITY
21 #ifdef CONFIG_RTW_REPEATER_SON
22 	#ifndef CONFIG_AP
23 		#define CONFIG_AP
24 	#endif
25 	#ifndef CONFIG_CONCURRENT_MODE
26 		#define CONFIG_CONCURRENT_MODE
27 	#endif
28 	#ifndef CONFIG_BR_EXT
29 		#define CONFIG_BR_EXT
30 	#endif
31 	#ifndef CONFIG_RTW_REPEATER_SON_ID
32 		#define CONFIG_RTW_REPEATER_SON_ID			0x02040608
33 	#endif
34 	//#define CONFIG_RTW_REPEATER_SON_ROOT
35 	#ifndef CONFIG_RTW_REPEATER_SON_ROOT
36 		#define CONFIG_LAYER2_ROAMING_ACTIVE
37 	#endif
38 	#undef CONFIG_POWER_SAVING
39 #endif
40 
41 #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE))
42 
43 	#error "Enable CONCURRENT_MODE before enable MCC MODE\n"
44 
45 #endif
46 
47 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BT_COEXIST)
48 
49 	#error "Disable BT COEXIST before enable MCC MODE\n"
50 
51 #endif
52 
53 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS)
54 
55 	#error "Disable TDLS before enable MCC MODE\n"
56 
57 #endif
58 
59 #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING)
60 
61 	#error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n"
62 
63 #endif
64 
65 /* Older Android kernel doesn't has CONFIG_ANDROID defined,
66  * add this to force CONFIG_ANDROID defined */
67 #ifdef CONFIG_PLATFORM_ANDROID
68 	#ifndef CONFIG_ANDROID
69 		#define CONFIG_ANDROID
70 	#endif
71 #endif
72 
73 #ifdef CONFIG_ANDROID
74 	/* Some Android build will restart the UI while non-printable ascii is passed
75 	* between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID
76 	* for Android here. If you are sure there is no risk on your system about this,
77 	* mask this macro define to support non-printable ascii ssid.
78 	* #define CONFIG_VALIDATE_SSID */
79 
80 	/* Android expect dbm as the rx signal strength unit */
81 	#define CONFIG_SIGNAL_DISPLAY_DBM
82 #endif
83 
84 /*
85 #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE)
86 	#warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
87 	#undef CONFIG_RESUME_IN_WORKQUEUE
88 #endif
89 
90 #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE)
91 	#warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
92 	#undef CONFIG_RESUME_IN_WORKQUEUE
93 #endif
94 */
95 
96 #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */
97 	#if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER)
98 		#error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..."
99 		#error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..."
100 	#endif
101 #endif
102 
103 /* About USB VENDOR REQ */
104 #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
105 	#warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically"
106 	#define CONFIG_USB_VENDOR_REQ_MUTEX
107 #endif
108 #if defined(CONFIG_VENDOR_REQ_RETRY) &&  !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
109 	#warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically"
110 	#define CONFIG_USB_VENDOR_REQ_MUTEX
111 #endif
112 
113 #ifdef CONFIG_WIFI_MONITOR
114 	/*	#define CONFIG_MONITOR_MODE_XMIT	*/
115 #endif
116 
117 #ifdef CONFIG_CUSTOMER_ALIBABA_GENERAL
118 	#ifndef CONFIG_WIFI_MONITOR
119 		#define CONFIG_WIFI_MONITOR
120 	#endif
121 	#ifdef CONFIG_POWER_SAVING
122 		#undef CONFIG_POWER_SAVING
123 	#endif
124 #endif
125 
126 #ifdef CONFIG_CUSTOMER01_SMART_ANTENNA
127 	#ifdef CONFIG_POWER_SAVING
128 		#undef CONFIG_POWER_SAVING
129 	#endif
130 	#ifdef CONFIG_BEAMFORMING
131 		#undef CONFIG_BEAMFORMING
132 	#endif
133 #endif
134 
135 #ifdef CONFIG_AP_MODE
136 	#define CONFIG_LIMITED_AP_NUM 1
137 	#define CONFIG_TX_MCAST2UNI /* AP mode support IP multicast->unicast */
138 #endif
139 
140 #ifdef CONFIG_RTW_MESH
141 	#ifndef CONFIG_RTW_MESH_ACNODE_PREVENT
142 	#define CONFIG_RTW_MESH_ACNODE_PREVENT 1
143 	#endif
144 
145 	#ifndef CONFIG_RTW_MESH_OFFCH_CAND
146 	#define CONFIG_RTW_MESH_OFFCH_CAND 1
147 	#endif
148 
149 	#ifndef CONFIG_RTW_MESH_PEER_BLACKLIST
150 	#define CONFIG_RTW_MESH_PEER_BLACKLIST 1
151 	#endif
152 
153 	#ifndef CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
154 	#define CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 1
155 	#endif
156 	#ifndef CONFIG_RTW_MESH_CTO_MGATE_CARRIER
157 	#define CONFIG_RTW_MESH_CTO_MGATE_CARRIER CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST
158 	#endif
159 
160 	#ifndef CONFIG_RTW_MPM_TX_IES_SYNC_BSS
161 	#define CONFIG_RTW_MPM_TX_IES_SYNC_BSS 1
162 	#endif
163 	#if CONFIG_RTW_MPM_TX_IES_SYNC_BSS
164 		#ifndef CONFIG_RTW_MESH_AEK
165 		#define CONFIG_RTW_MESH_AEK
166 		#endif
167 	#endif
168 
169 	#ifndef CONFIG_RTW_MESH_DATA_BMC_TO_UC
170 	#define CONFIG_RTW_MESH_DATA_BMC_TO_UC 1
171 	#endif
172 #endif
173 
174 #if !defined(CONFIG_SCAN_BACKOP) && defined(CONFIG_AP_MODE)
175 #define CONFIG_SCAN_BACKOP
176 #endif
177 
178 #define RTW_SCAN_SPARSE_MIRACAST 1
179 #define RTW_SCAN_SPARSE_BG 0
180 #define RTW_SCAN_SPARSE_ROAMING_ACTIVE 1
181 
182 #ifndef CONFIG_TX_AC_LIFETIME
183 #define CONFIG_TX_AC_LIFETIME 1
184 #endif
185 #ifndef CONFIG_TX_ACLT_FLAGS
186 #define CONFIG_TX_ACLT_FLAGS 0x00
187 #endif
188 #ifndef CONFIG_TX_ACLT_CONF_DEFAULT
189 #define CONFIG_TX_ACLT_CONF_DEFAULT {0x0, 1024 * 1000, 1024 * 1000}
190 #endif
191 #ifndef CONFIG_TX_ACLT_CONF_AP_M2U
192 #define CONFIG_TX_ACLT_CONF_AP_M2U {0xF, 256 * 1000, 256 * 1000}
193 #endif
194 #ifndef CONFIG_TX_ACLT_CONF_MESH
195 #define CONFIG_TX_ACLT_CONF_MESH {0xF, 256 * 1000, 256 * 1000}
196 #endif
197 
198 #ifndef CONFIG_RTW_HIQ_FILTER
199 	#define CONFIG_RTW_HIQ_FILTER 1
200 #endif
201 
202 #ifndef CONFIG_RTW_ADAPTIVITY_EN
203 	#define CONFIG_RTW_ADAPTIVITY_EN 0
204 #endif
205 
206 #ifndef CONFIG_RTW_ADAPTIVITY_MODE
207 	#define CONFIG_RTW_ADAPTIVITY_MODE 0
208 #endif
209 
210 #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI
211 	#define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0
212 #endif
213 
214 #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF
215 	#define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0
216 #endif
217 
218 #ifndef CONFIG_RTW_EXCL_CHS
219 	#define CONFIG_RTW_EXCL_CHS {0}
220 #endif
221 
222 #ifndef CONFIG_IEEE80211_BAND_5GHZ
223 	#if defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8821C) \
224 		|| defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8822C) \
225 		|| defined(CONFIG_RTL8814A) || defined(CONFIG_RTL8814B)
226 	#define CONFIG_IEEE80211_BAND_5GHZ 1
227 	#else
228 	#define CONFIG_IEEE80211_BAND_5GHZ 0
229 	#endif
230 #endif
231 
232 #ifndef CONFIG_DFS
233 #define CONFIG_DFS 1
234 #endif
235 
236 #if CONFIG_IEEE80211_BAND_5GHZ && CONFIG_DFS && defined(CONFIG_AP_MODE)
237 	#if !defined(CONFIG_DFS_SLAVE_WITH_RADAR_DETECT)
238 	#define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0
239 	#endif
240 	#if !defined(CONFIG_DFS_MASTER) || CONFIG_DFS_SLAVE_WITH_RADAR_DETECT
241 	#define CONFIG_DFS_MASTER
242 	#endif
243 	#if defined(CONFIG_DFS_MASTER) && !defined(CONFIG_RTW_DFS_REGION_DOMAIN)
244 	#define CONFIG_RTW_DFS_REGION_DOMAIN 0
245 	#endif
246 #else
247 	#undef CONFIG_DFS_MASTER
248 	#undef CONFIG_RTW_DFS_REGION_DOMAIN
249 	#define CONFIG_RTW_DFS_REGION_DOMAIN 0
250 	#undef CONFIG_DFS_SLAVE_WITH_RADAR_DETECT
251 	#define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0
252 #endif
253 
254 #ifndef CONFIG_TXPWR_BY_RATE_EN
255 #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */
256 #endif
257 #ifndef CONFIG_TXPWR_LIMIT_EN
258 #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */
259 #endif
260 
261 #ifndef CONFIG_RTW_CHPLAN
262 #define CONFIG_RTW_CHPLAN 0xFF /* RTW_CHPLAN_UNSPECIFIED */
263 #endif
264 
265 /* compatible with old fashion configuration */
266 #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY)
267 	#undef CONFIG_TXPWR_BY_RATE_EN
268 	#undef CONFIG_TXPWR_LIMIT_EN
269 	#define CONFIG_TXPWR_BY_RATE_EN 1
270 	#define CONFIG_TXPWR_LIMIT_EN 1
271 #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX)
272 	#undef CONFIG_TXPWR_BY_RATE_EN
273 	#undef CONFIG_TXPWR_LIMIT_EN
274 	#define CONFIG_TXPWR_BY_RATE_EN 1
275 	#define CONFIG_TXPWR_LIMIT_EN 0
276 #endif
277 
278 #ifndef RTW_DEF_MODULE_REGULATORY_CERT
279 	#define RTW_DEF_MODULE_REGULATORY_CERT 0
280 #endif
281 
282 #if RTW_DEF_MODULE_REGULATORY_CERT
283 	/* force enable TX power by rate and TX power limit */
284 	#undef CONFIG_TXPWR_BY_RATE_EN
285 	#undef CONFIG_TXPWR_LIMIT_EN
286 	#define CONFIG_TXPWR_BY_RATE_EN 1
287 	#define CONFIG_TXPWR_LIMIT_EN 1
288 #endif
289 
290 #if !CONFIG_TXPWR_LIMIT && CONFIG_TXPWR_LIMIT_EN
291 	#undef CONFIG_TXPWR_LIMIT
292 	#define CONFIG_TXPWR_LIMIT 1
293 #endif
294 
295 #ifdef CONFIG_RTW_IPCAM_APPLICATION
296 	#undef CONFIG_TXPWR_BY_RATE_EN
297 	#define CONFIG_TXPWR_BY_RATE_EN 1
298 	#define CONFIG_RTW_CUSTOMIZE_BEEDCA		0x0000431C
299 	#define CONFIG_RTW_CUSTOMIZE_BWMODE		0x00
300 	#define CONFIG_RTW_CUSTOMIZE_RLSTA		0x30
301 #if defined(CONFIG_RTL8192E) || defined(CONFIG_RTL8192F) || defined(CONFIG_RTL8822B)
302 	#define CONFIG_RTW_TX_NPATH_EN		/*	mutually incompatible with STBC_TX & Beamformer	*/
303 #endif
304 #endif
305 /*#define CONFIG_EXTEND_LOWRATE_TXOP			*/
306 
307 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS
308 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF}
309 #endif
310 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS
311 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF}
312 #endif
313 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS
314 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF}
315 #endif
316 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS
317 	#define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF}
318 #endif
319 
320 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A
321 	#define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
322 #endif
323 
324 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B
325 	#define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
326 #endif
327 
328 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C
329 	#define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
330 #endif
331 
332 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D
333 	#define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
334 #endif
335 
336 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A
337 	#define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1}
338 #endif
339 
340 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B
341 	#define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1}
342 #endif
343 
344 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C
345 	#define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1}
346 #endif
347 
348 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D
349 	#define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1}
350 #endif
351 
352 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G
353 	#define CONFIG_RTW_AMPLIFIER_TYPE_2G 0
354 #endif
355 
356 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G
357 	#define CONFIG_RTW_AMPLIFIER_TYPE_5G 0
358 #endif
359 
360 #ifndef CONFIG_RTW_RFE_TYPE
361 	#define CONFIG_RTW_RFE_TYPE 64
362 #endif
363 
364 #ifndef CONFIG_RTW_GLNA_TYPE
365 	#define CONFIG_RTW_GLNA_TYPE 0
366 #endif
367 
368 #ifndef CONFIG_RTW_PLL_REF_CLK_SEL
369 	#define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F
370 #endif
371 
372 #ifndef CONFIG_IFACE_NUMBER
373 	#ifdef CONFIG_CONCURRENT_MODE
374 		#define CONFIG_IFACE_NUMBER	2
375 	#else
376 		#define CONFIG_IFACE_NUMBER	1
377 	#endif
378 #endif
379 
380 #ifndef CONFIG_CONCURRENT_MODE
381 	#if (CONFIG_IFACE_NUMBER > 1)
382 		#error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined"
383 	#endif
384 #endif
385 
386 #if (CONFIG_IFACE_NUMBER == 0)
387 	#error "CONFIG_IFACE_NUMBER cound not be 0 !!"
388 #endif
389 
390 #if defined(CONFIG_RTL8188E) || defined(CONFIG_RTL8192E) || defined(CONFIG_RTL8188F) || \
391 defined(CONFIG_RTL8188GTV) || defined(CONFIG_RTL8192F) || \
392 defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8710B) || \
393 defined(CONFIG_RTL8723B) || defined(CONFIG_RTL8703B) || defined(CONFIG_RTL8723D)
394 #define CONFIG_HWMPCAP_GEN1
395 #elif defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8822C) /*|| defined(CONFIG_RTL8814A)*/
396 #define CONFIG_HWMPCAP_GEN2
397 #elif defined(CONFIG_RTL8814B) /*Address CAM - 128*/
398 #define CONFIG_HWMPCAP_GEN3
399 #endif
400 
401 #if defined(CONFIG_HWMPCAP_GEN1) && (CONFIG_IFACE_NUMBER > 2)
402 	#ifdef CONFIG_POWER_SAVING
403 	/*#warning "Disable PS when CONFIG_IFACE_NUMBER > 2"*/
404 	#undef CONFIG_POWER_SAVING
405 	#endif
406 
407 	#ifdef CONFIG_WOWLAN
408 	#error "This IC can't support MI and WoWLan at the same time"
409 	#endif
410 #endif
411 
412 #if defined(CONFIG_HWMPCAP_GEN1) && (CONFIG_IFACE_NUMBER > 3)
413         #error " This IC can't support over 3 interfaces !!"
414 #endif
415 
416 #if (CONFIG_IFACE_NUMBER > 4)
417 	#error "Not support over 4 interfaces yet !!"
418 #endif
419 
420 #if (CONFIG_IFACE_NUMBER > 8)	/*IFACE_ID_MAX*/
421 	#error "HW count not support over 8 interfaces !!"
422 #endif
423 
424 #if (CONFIG_IFACE_NUMBER > 2)
425 	#define CONFIG_MI_WITH_MBSSID_CAM
426 
427 	#ifdef CONFIG_MI_WITH_MBSSID_CAM
428 		#define CONFIG_MBSSID_CAM
429 		#if defined(CONFIG_RUNTIME_PORT_SWITCH)
430 			#undef CONFIG_RUNTIME_PORT_SWITCH
431 		#endif
432 	#endif
433 
434 	#ifdef CONFIG_AP_MODE
435 		#undef CONFIG_LIMITED_AP_NUM
436 		#define CONFIG_LIMITED_AP_NUM	2
437 
438 		#define CONFIG_SUPPORT_MULTI_BCN
439 
440 		#define CONFIG_SWTIMER_BASED_TXBCN
441 
442 		#ifdef CONFIG_HWMPCAP_GEN2 /*CONFIG_RTL8822B/CONFIG_RTL8821C/CONFIG_RTL8822C*/
443 		#define CONFIG_FW_HANDLE_TXBCN
444 
445 		#ifdef CONFIG_FW_HANDLE_TXBCN
446 			#ifdef CONFIG_SWTIMER_BASED_TXBCN
447 				#undef CONFIG_SWTIMER_BASED_TXBCN
448 			#endif
449 			#undef CONFIG_LIMITED_AP_NUM
450 			#define CONFIG_LIMITED_AP_NUM	4
451 		#endif
452 
453 		#endif /*CONFIG_HWMPCAP_GEN2*/
454 	#endif /*CONFIG_AP_MODE*/
455 
456 	#ifdef CONFIG_HWMPCAP_GEN2 /*CONFIG_RTL8822B/CONFIG_RTL8821C/CONFIG_RTL8822C*/
457 	#define CONFIG_CLIENT_PORT_CFG
458 	#define CONFIG_NEW_NETDEV_HDL
459 	#endif/*CONFIG_HWMPCAP_GEN2*/
460 #endif/*(CONFIG_IFACE_NUMBER > 2)*/
461 
462 #define MACID_NUM_SW_LIMIT 32
463 #define SEC_CAM_ENT_NUM_SW_LIMIT 32
464 
465 #if defined(CONFIG_WOWLAN) && (defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8814A) || defined(CONFIG_RTL8822C) || defined(CONFIG_RTL8814B))
466 	#define CONFIG_WOW_PATTERN_HW_CAM
467 #endif
468 
469 #ifndef CONFIG_TSF_UPDATE_PAUSE_FACTOR
470 #define CONFIG_TSF_UPDATE_PAUSE_FACTOR 200
471 #endif
472 
473 #ifndef CONFIG_TSF_UPDATE_RESTORE_FACTOR
474 #define CONFIG_TSF_UPDATE_RESTORE_FACTOR 5
475 #endif
476 
477 /*
478 	Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20
479 	If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle,
480 	power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP.
481 */
482 /*#define CONFIG_DEAUTH_BEFORE_CONNECT */
483 
484 /*#define CONFIG_WEXT_DONT_JOIN_BYSSID	*/
485 /* #include <rtl871x_byteorder.h> */
486 
487 
488 /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC	*/
489 /*#define CONFIG_PHDYM_FW_FIXRATE		*/	/*	Another way to fix tx rate	*/
490 
491 /*Don't release SDIO irq in suspend/resume procedure*/
492 #define CONFIG_RTW_SDIO_KEEP_IRQ	0
493 
494 /*
495  * Add by Lucas@2016/02/15
496  * For RX Aggregation
497  */
498 #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION)
499 	#define RTW_RX_AGGREGATION
500 #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */
501 
502 #ifdef CONFIG_RTW_HOSTAPD_ACS
503 	#if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A)
504 		#ifndef CONFIG_FIND_BEST_CHANNEL
505 			#define CONFIG_FIND_BEST_CHANNEL
506 		#endif
507 	#else
508 		#ifdef CONFIG_FIND_BEST_CHANNEL
509 			#undef CONFIG_FIND_BEST_CHANNEL
510 		#endif
511 		#ifndef CONFIG_RTW_ACS
512 			#define CONFIG_RTW_ACS
513 		#endif
514 		#ifndef CONFIG_BACKGROUND_NOISE_MONITOR
515 			#define CONFIG_BACKGROUND_NOISE_MONITOR
516 		#endif
517 	#endif
518 #endif
519 
520 #ifdef CONFIG_RTW_80211K
521 	#ifndef CONFIG_RTW_ACS
522 		#define CONFIG_RTW_ACS
523 	#endif
524 #endif /*CONFIG_RTW_80211K*/
525 
526 #ifdef DBG_CONFIG_ERROR_RESET
527 #ifndef CONFIG_IPS
528 #define CONFIG_IPS
529 #endif
530 #endif
531 
532 /* IPS */
533 #ifndef RTW_IPS_MODE
534 	#if defined(CONFIG_IPS)
535 		#define RTW_IPS_MODE 1
536 	#else
537 		#define RTW_IPS_MODE 0
538 	#endif
539 #endif /* !RTW_IPS_MODE */
540 
541 #if (RTW_IPS_MODE > 1 || RTW_IPS_MODE < 0)
542 	#error "The CONFIG_IPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
543 #endif
544 
545 /* LPS */
546 #ifndef RTW_LPS_MODE
547 	#if defined(CONFIG_LPS_PG) || defined(CONFIG_LPS_PG_DDMA)
548 		#define RTW_LPS_MODE 3
549 	#elif defined(CONFIG_LPS_LCLK)
550 		#define RTW_LPS_MODE 2
551 	#elif defined(CONFIG_LPS)
552 		#define RTW_LPS_MODE 1
553 	#else
554 		#define RTW_LPS_MODE 0
555 	#endif
556 #endif /* !RTW_LPS_MODE */
557 
558 #if (RTW_LPS_MODE > 3 || RTW_LPS_MODE < 0)
559 	#error "The CONFIG_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
560 #endif
561 
562 #ifndef RTW_LPS_1T1R
563 #define RTW_LPS_1T1R 0
564 #endif
565 
566 #ifndef RTW_WOW_LPS_1T1R
567 #define RTW_WOW_LPS_1T1R 0
568 #endif
569 
570 /* WOW LPS */
571 #ifndef RTW_WOW_LPS_MODE
572 	#if defined(CONFIG_LPS_PG) || defined(CONFIG_LPS_PG_DDMA)
573 		#define RTW_WOW_LPS_MODE 3
574 	#elif defined(CONFIG_LPS_LCLK)
575 		#define RTW_WOW_LPS_MODE 2
576 	#elif defined(CONFIG_LPS)
577 		#define RTW_WOW_LPS_MODE 1
578 	#else
579 		#define RTW_WOW_LPS_MODE 0
580 	#endif
581 #endif /* !RTW_WOW_LPS_MODE */
582 
583 #if (RTW_WOW_LPS_MODE > 3 || RTW_WOW_LPS_MODE < 0)
584 	#error "The RTW_WOW_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n"
585 #endif
586 
587 #ifdef RTW_REDUCE_SCAN_SWITCH_CH_TIME
588 #ifndef CONFIG_RTL8822B
589 	#error "Only 8822B support RTW_REDUCE_SCAN_SWITCH_CH_TIME"
590 #endif
591 	#ifndef RTW_CHANNEL_SWITCH_OFFLOAD
592 		#define RTW_CHANNEL_SWITCH_OFFLOAD
593 	#endif
594 #endif
595 
596 #define CONFIG_RTW_TPT_MODE
597 
598 #ifdef CONFIG_PCI_BCN_POLLING
599 #define CONFIG_BCN_ICF
600 #endif
601 
602 #ifndef CONFIG_PCI_MSI
603 #define CONFIG_RTW_PCI_MSI_DISABLE
604 #endif
605 
606 #if defined(CONFIG_PCI_DYNAMIC_ASPM_L1_LATENCY) ||	\
607     defined(CONFIG_PCI_DYNAMIC_ASPM_LINK_CTRL)
608 #define CONFIG_PCI_DYNAMIC_ASPM
609 #endif
610 
611 #if 0
612 /* Debug related compiler flags */
613 #define DBG_THREAD_PID	/* Add thread pid to debug message prefix */
614 #define DBG_CPU_INFO	/* Add CPU info to debug message prefix */
615 #endif
616 
617 #endif /* __DRV_CONF_H__ */
618