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