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