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