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