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