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