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