1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2021 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 19 #define CONFIG_RSSI_PRIORITY 20 21 /* 22 * RTW_BUSY_DENY_SCAN control if scan would be denied by busy traffic. 23 * When this defined, BUSY_TRAFFIC_SCAN_DENY_PERIOD would be used to judge if 24 * scan request coming from scan UI. Scan request from scan UI would be 25 * exception and never be denied by busy traffic. 26 */ 27 #define RTW_BUSY_DENY_SCAN 28 29 #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE)) 30 31 #error "Enable CONCURRENT_MODE before enable MCC MODE\n" 32 33 #endif 34 35 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BTC) 36 37 #error "Disable BT COEXIST before enable MCC MODE\n" 38 39 #endif 40 41 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS) 42 43 #error "Disable TDLS before enable MCC MODE\n" 44 45 #endif 46 47 #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING) 48 49 #error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n" 50 51 #endif 52 53 #ifdef CONFIG_RTW_ANDROID 54 55 #include <linux/version.h> 56 57 #ifndef CONFIG_IOCTL_CFG80211 58 #define CONFIG_IOCTL_CFG80211 59 #endif 60 61 #ifndef RTW_USE_CFG80211_STA_EVENT 62 #define RTW_USE_CFG80211_STA_EVENT 63 #endif 64 65 #if (CONFIG_RTW_ANDROID > 4) 66 #ifndef CONFIG_RADIO_WORK 67 #define CONFIG_RADIO_WORK 68 #endif 69 #endif 70 71 #if (CONFIG_RTW_ANDROID >= 8) 72 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)) 73 #ifndef CONFIG_RTW_WIFI_HAL 74 #define CONFIG_RTW_WIFI_HAL 75 #endif 76 #else 77 #error "Linux kernel version is too old\n" 78 #endif 79 #endif 80 81 #ifdef CONFIG_RTW_WIFI_HAL 82 #ifndef CONFIG_RTW_WIFI_HAL_DEBUG 83 //#define CONFIG_RTW_WIFI_HAL_DEBUG 84 #endif 85 #if (CONFIG_RTW_ANDROID < 11) 86 #ifndef CONFIG_RTW_CFGVENDOR_LLSTATS 87 #define CONFIG_RTW_CFGVENDOR_LLSTATS 88 #endif 89 #endif 90 #ifndef CONFIG_RTW_CFGVENDOR_RANDOM_MAC_OUI 91 #define CONFIG_RTW_CFGVENDOR_RANDOM_MAC_OUI 92 #endif 93 #ifndef CONFIG_RTW_CFGVENDOR_RSSIMONITOR 94 #define CONFIG_RTW_CFGVENDOR_RSSIMONITOR 95 #endif 96 #ifndef CONFIG_RTW_CFGVENDOR_WIFI_LOGGER 97 #define CONFIG_RTW_CFGVENDOR_WIFI_LOGGER 98 #endif 99 #if (CONFIG_RTW_ANDROID >= 10) 100 #ifndef CONFIG_RTW_CFGVENDOR_WIFI_OFFLOAD 101 //#define CONFIG_RTW_CFGVENDOR_WIFI_OFFLOAD 102 #endif 103 #ifndef CONFIG_KERNEL_PATCH_EXTERNAL_AUTH 104 #define CONFIG_KERNEL_PATCH_EXTERNAL_AUTH 105 #endif 106 #endif 107 #endif // CONFIG_RTW_WIFI_HAL 108 109 110 /* Some Android build will restart the UI while non-printable ascii is passed 111 * between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID 112 * for Android here. If you are sure there is no risk on your system about this, 113 * mask this macro define to support non-printable ascii ssid. 114 * #define CONFIG_VALIDATE_SSID */ 115 116 /* Android expect dbm as the rx signal strength unit */ 117 #define CONFIG_SIGNAL_DISPLAY_DBM 118 #endif // CONFIG_RTW_ANDROID 119 120 /* 121 #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE) 122 #warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically" 123 #undef CONFIG_RESUME_IN_WORKQUEUE 124 #endif 125 126 #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE) 127 #warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically" 128 #undef CONFIG_RESUME_IN_WORKQUEUE 129 #endif 130 */ 131 132 #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */ 133 #if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER) 134 #error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..." 135 #error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..." 136 #endif 137 #endif 138 139 /* About USB VENDOR REQ */ 140 #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX) 141 #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically" 142 #define CONFIG_USB_VENDOR_REQ_MUTEX 143 #endif 144 #if defined(CONFIG_VENDOR_REQ_RETRY) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX) 145 #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically" 146 #define CONFIG_USB_VENDOR_REQ_MUTEX 147 #endif 148 149 #ifdef CONFIG_WIFI_MONITOR 150 /* #define CONFIG_MONITOR_MODE_XMIT */ 151 #endif 152 153 #ifdef CONFIG_CUSTOMER_ALIBABA_GENERAL 154 #ifndef CONFIG_WIFI_MONITOR 155 #define CONFIG_WIFI_MONITOR 156 #endif 157 #ifndef CONFIG_MONITOR_MODE_XMIT 158 #define CONFIG_MONITOR_MODE_XMIT 159 #endif 160 #ifdef CONFIG_POWER_SAVING 161 #undef CONFIG_POWER_SAVING 162 #endif 163 #endif 164 165 #ifndef CONFIG_RTW_DATA_BMC_TO_UC 166 #define CONFIG_RTW_DATA_BMC_TO_UC 0 167 #endif 168 169 #ifdef CONFIG_AP_MODE 170 #define CONFIG_LIMITED_AP_NUM 1 171 #define BMC_ON_HIQ 172 173 #ifndef CONFIG_RTW_AP_DATA_BMC_TO_UC 174 #define CONFIG_RTW_AP_DATA_BMC_TO_UC 1 175 #endif 176 #if CONFIG_RTW_AP_DATA_BMC_TO_UC 177 #undef CONFIG_RTW_DATA_BMC_TO_UC 178 #define CONFIG_RTW_DATA_BMC_TO_UC 1 179 #endif 180 #ifndef CONFIG_RTW_AP_SRC_B2U_FLAGS 181 #define CONFIG_RTW_AP_SRC_B2U_FLAGS 0x8 /* see RTW_AP_B2U_XXX */ 182 #endif 183 #ifndef CONFIG_RTW_AP_FWD_B2U_FLAGS 184 #define CONFIG_RTW_AP_FWD_B2U_FLAGS 0x8 /* see RTW_AP_B2U_XXX */ 185 #endif 186 #endif 187 188 #ifdef CONFIG_RTW_MULTI_AP 189 #ifndef CONFIG_AP_MODE 190 #error "enable CONFIG_RTW_MULTI_AP without CONFIG_AP_MODE" 191 #endif 192 #ifndef CONFIG_RTW_WDS 193 #define CONFIG_RTW_WDS 194 #endif 195 #ifndef CONFIG_RTW_UNASOC_STA_MODE_OF_STYPE 196 #define CONFIG_RTW_UNASOC_STA_MODE_OF_STYPE {2, 1} /* BMC:2 for all, NMY_UC:1 for interested target */ 197 #endif 198 #ifndef CONFIG_RTW_NLRTW 199 #define CONFIG_RTW_NLRTW 200 #endif 201 #ifndef CONFIG_RTW_WNM 202 #define CONFIG_RTW_WNM 203 #endif 204 #ifndef CONFIG_RTW_80211K 205 #define CONFIG_RTW_80211K 206 #endif 207 #endif 208 209 #ifdef CONFIG_RTW_MESH 210 #ifndef CONFIG_RTW_MESH_ACNODE_PREVENT 211 #define CONFIG_RTW_MESH_ACNODE_PREVENT 1 212 #endif 213 214 #ifndef CONFIG_RTW_MESH_OFFCH_CAND 215 #define CONFIG_RTW_MESH_OFFCH_CAND 1 216 #endif 217 218 #ifndef CONFIG_RTW_MESH_PEER_BLACKLIST 219 #define CONFIG_RTW_MESH_PEER_BLACKLIST 1 220 #endif 221 222 #ifndef CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 223 #define CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 1 224 #endif 225 #ifndef CONFIG_RTW_MESH_CTO_MGATE_CARRIER 226 #define CONFIG_RTW_MESH_CTO_MGATE_CARRIER CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 227 #endif 228 229 #ifndef CONFIG_RTW_MPM_TX_IES_SYNC_BSS 230 #define CONFIG_RTW_MPM_TX_IES_SYNC_BSS 1 231 #endif 232 #if CONFIG_RTW_MPM_TX_IES_SYNC_BSS 233 #ifndef CONFIG_RTW_MESH_AEK 234 #define CONFIG_RTW_MESH_AEK 235 #endif 236 #endif 237 238 #ifndef CONFIG_RTW_MESH_DATA_BMC_TO_UC 239 #define CONFIG_RTW_MESH_DATA_BMC_TO_UC 1 240 #endif 241 #if CONFIG_RTW_MESH_DATA_BMC_TO_UC 242 #undef CONFIG_RTW_DATA_BMC_TO_UC 243 #define CONFIG_RTW_DATA_BMC_TO_UC 1 244 #endif 245 #ifndef CONFIG_RTW_MSRC_B2U_FLAGS 246 #define CONFIG_RTW_MSRC_B2U_FLAGS 0x0 /* see RTW_MESH_B2U_XXX */ 247 #endif 248 #ifndef CONFIG_RTW_MFWD_B2U_FLAGS 249 #define CONFIG_RTW_MFWD_B2U_FLAGS 0x2 /* see RTW_MESH_B2U_XXX */ 250 #endif 251 #endif 252 253 #if !defined(CONFIG_SCAN_BACKOP) && defined(CONFIG_AP_MODE) 254 #define CONFIG_SCAN_BACKOP 255 #endif 256 257 #define RTW_SCAN_SPARSE_MIRACAST 1 258 #define RTW_SCAN_SPARSE_BG 0 259 260 #ifndef CONFIG_RTW_HIQ_FILTER 261 #define CONFIG_RTW_HIQ_FILTER 1 262 #endif 263 264 #ifndef CONFIG_RTW_ADAPTIVITY_EN 265 #define CONFIG_RTW_ADAPTIVITY_EN 0 266 #endif 267 268 #ifndef CONFIG_RTW_ADAPTIVITY_MODE 269 #define CONFIG_RTW_ADAPTIVITY_MODE 0 270 #endif 271 272 #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 273 #define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0 274 #endif 275 276 #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 277 #define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0 278 #endif 279 280 #ifndef CONFIG_RTW_EXCL_CHS 281 #define CONFIG_RTW_EXCL_CHS {0} 282 #endif 283 284 #ifndef CONFIG_RTW_EXCL_CHS_6G 285 #define CONFIG_RTW_EXCL_CHS_6G {0} 286 #endif 287 288 #ifndef CONFIG_RTW_COUNTRY_IE_SLAVE_EN_ROLE 289 #define CONFIG_RTW_COUNTRY_IE_SLAVE_EN_ROLE 0x03 /* BIT0 for pure STA mode, BIT1 for P2P group client */ 290 #endif 291 292 #ifndef CONFIG_RTW_COUNTRY_IE_SLAVE_EN_IFBMP 293 #define CONFIG_RTW_COUNTRY_IE_SLAVE_EN_IFBMP 0xFF /* all iface */ 294 #endif 295 296 #define CONFIG_IEEE80211_BAND_5GHZ 1 297 298 #ifndef CONFIG_IEEE80211_BAND_6GHZ 299 #define CONFIG_IEEE80211_BAND_6GHZ 0 300 #endif 301 302 #ifndef CONFIG_DFS 303 #define CONFIG_DFS 1 304 #endif 305 306 #if CONFIG_DFS 307 #define CONFIG_ECSA_PHL /* Process ECSA by PHL cmd dispatcher */ 308 #ifdef CONFIG_ECSA_PHL 309 #define CONFIG_ECSA 310 #endif 311 #endif 312 313 #if CONFIG_IEEE80211_BAND_5GHZ && CONFIG_DFS && defined(CONFIG_AP_MODE) 314 #if !defined(CONFIG_DFS_SLAVE_WITH_RADAR_DETECT) 315 #define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0 316 #endif 317 #if !defined(CONFIG_DFS_MASTER) || CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 318 /*#define CONFIG_DFS_MASTER*/ 319 #endif 320 #if defined(CONFIG_DFS_MASTER) && !defined(CONFIG_RTW_DFS_REGION_DOMAIN) 321 #define CONFIG_RTW_DFS_REGION_DOMAIN 0 322 #endif 323 #else 324 #undef CONFIG_DFS_MASTER 325 #undef CONFIG_RTW_DFS_REGION_DOMAIN 326 #define CONFIG_RTW_DFS_REGION_DOMAIN 0 327 #undef CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 328 #define CONFIG_DFS_SLAVE_WITH_RADAR_DETECT 0 329 #endif 330 331 #ifndef CONFIG_TXPWR_BY_RATE_EN 332 #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */ 333 #endif 334 #ifndef CONFIG_TXPWR_LIMIT_EN 335 #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */ 336 #endif 337 338 #ifndef CONFIG_RTW_CHPLAN 339 #define CONFIG_RTW_CHPLAN 0xFFFF /* RTW_CHPLAN_IOCTL_UNSPECIFIED */ 340 #endif 341 342 #ifndef CONFIG_RTW_CHPLAN_6G 343 #define CONFIG_RTW_CHPLAN_6G 0xFFFF /* RTW_CHPLAN_IOCTL_UNSPECIFIED */ 344 #endif 345 346 /* compatible with old fashion configuration */ 347 #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY) 348 #undef CONFIG_TXPWR_BY_RATE_EN 349 #undef CONFIG_TXPWR_LIMIT_EN 350 #define CONFIG_TXPWR_BY_RATE_EN 1 351 #define CONFIG_TXPWR_LIMIT_EN 1 352 #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX) 353 #undef CONFIG_TXPWR_BY_RATE_EN 354 #undef CONFIG_TXPWR_LIMIT_EN 355 #define CONFIG_TXPWR_BY_RATE_EN 1 356 #define CONFIG_TXPWR_LIMIT_EN 0 357 #endif 358 359 #ifndef RTW_DEF_MODULE_REGULATORY_CERT 360 #define RTW_DEF_MODULE_REGULATORY_CERT 0 361 #endif 362 363 #if RTW_DEF_MODULE_REGULATORY_CERT 364 #ifdef CONFIG_REGD_SRC_FROM_OS 365 #error "CONFIG_REGD_SRC_FROM_OS is not supported when enable RTW_DEF_MODULE_REGULATORY_CERT" 366 #endif 367 /* force enable TX power by rate and TX power limit */ 368 #undef CONFIG_TXPWR_BY_RATE_EN 369 #undef CONFIG_TXPWR_LIMIT_EN 370 #define CONFIG_TXPWR_BY_RATE_EN 1 371 #define CONFIG_TXPWR_LIMIT_EN 1 372 #endif 373 374 #if !CONFIG_TXPWR_LIMIT && CONFIG_TXPWR_LIMIT_EN 375 #undef CONFIG_TXPWR_LIMIT 376 #define CONFIG_TXPWR_LIMIT 1 377 #endif 378 379 #ifndef CONFIG_RTW_REGD_SRC 380 #define CONFIG_RTW_REGD_SRC 1 /* 0:RTK_PRIV, 1:OS */ 381 #endif 382 383 #ifdef CONFIG_RTW_IPCAM_APPLICATION 384 #undef CONFIG_TXPWR_BY_RATE_EN 385 #define CONFIG_TXPWR_BY_RATE_EN 1 386 #define CONFIG_RTW_CUSTOMIZE_BEEDCA 0x0000431C 387 #define CONFIG_RTW_CUSTOMIZE_BWMODE 0x00 388 #define CONFIG_RTW_CUSTOMIZE_RLSTA 0x7 389 #if defined(CONFIG_RTL8822B) 390 #define CONFIG_RTW_TX_NPATH_EN /*mutually incompatible with STBC_TX & Beamformer */ 391 #endif 392 #endif 393 /* #define CONFIG_RTW_TOKEN_BASED_XMIT */ 394 #ifdef CONFIG_RTW_TOKEN_BASED_XMIT 395 #define NR_TBTX_SLOT 4 396 #define NR_MAXSTA_INSLOT 5 397 #define TBTX_TX_DURATION 30 398 399 #define MAX_TXPAUSE_DURATION (TBTX_TX_DURATION*NR_TBTX_SLOT) 400 #endif 401 402 /*#define CONFIG_EXTEND_LOWRATE_TXOP */ 403 404 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS 405 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF} 406 #endif 407 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS 408 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF} 409 #endif 410 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS 411 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF} 412 #endif 413 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS 414 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF} 415 #endif 416 417 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A 418 #define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 419 #endif 420 421 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B 422 #define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 423 #endif 424 425 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C 426 #define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 427 #endif 428 429 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D 430 #define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 431 #endif 432 433 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A 434 #define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1} 435 #endif 436 437 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B 438 #define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1} 439 #endif 440 441 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C 442 #define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1} 443 #endif 444 445 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D 446 #define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1} 447 #endif 448 449 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G 450 #define CONFIG_RTW_AMPLIFIER_TYPE_2G 0 451 #endif 452 453 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G 454 #define CONFIG_RTW_AMPLIFIER_TYPE_5G 0 455 #endif 456 457 #ifndef CONFIG_RTW_RFE_TYPE 458 #define CONFIG_RTW_RFE_TYPE 0xFF 459 #endif 460 461 #ifndef CONFIG_RTW_GLNA_TYPE 462 #define CONFIG_RTW_GLNA_TYPE 0 463 #endif 464 465 #ifndef CONFIG_RTW_PLL_REF_CLK_SEL 466 #define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F 467 #endif 468 469 #ifndef CONFIG_IFACE_NUMBER 470 #ifdef CONFIG_CONCURRENT_MODE 471 #define CONFIG_IFACE_NUMBER 2 472 #else 473 #define CONFIG_IFACE_NUMBER 1 474 #endif 475 #endif 476 477 #ifdef CONFIG_CONCURRENT_MODE 478 #if (CONFIG_IFACE_NUMBER < 2) 479 #error "CONFIG_IFACE_NUMBER less 2,but CONFIG_CONCURRENT_MODE defined" 480 #endif 481 #else 482 #if (CONFIG_IFACE_NUMBER > 1) 483 #error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined" 484 #endif 485 #endif 486 487 #if (CONFIG_IFACE_NUMBER == 0) 488 #error "CONFIG_IFACE_NUMBER cound not be 0 !!" 489 #endif 490 491 492 #if (CONFIG_IFACE_NUMBER > 4) 493 #error "Not support over 4 interfaces yet !!" 494 #endif 495 496 #if (CONFIG_IFACE_NUMBER > 8) /*IFACE_ID_MAX*/ 497 #error "HW count not support over 8 interfaces !!" 498 #endif 499 500 #if (CONFIG_IFACE_NUMBER > 2) 501 #ifdef CONFIG_AP_MODE 502 #undef CONFIG_LIMITED_AP_NUM 503 #define CONFIG_LIMITED_AP_NUM 2 504 #endif /*CONFIG_AP_MODE*/ 505 506 #endif/*(CONFIG_IFACE_NUMBER > 2)*/ 507 508 #define MACID_NUM_SW_LIMIT 32 509 #define SEC_CAM_ENT_NUM_SW_LIMIT 32 510 511 512 /* 513 Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20 514 If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle, 515 power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP. 516 */ 517 /*#define CONFIG_DEAUTH_BEFORE_CONNECT */ 518 519 /*#define CONFIG_WEXT_DONT_JOIN_BYSSID */ 520 /* #include <rtw_byteorder.h> */ 521 522 523 /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC */ 524 525 /*Don't release SDIO irq in suspend/resume procedure*/ 526 #define CONFIG_RTW_SDIO_KEEP_IRQ 0 527 528 /* 529 * Add by Lucas@2016/02/15 530 * For RX Aggregation 531 */ 532 #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION) 533 #define RTW_RX_AGGREGATION 534 #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */ 535 536 #ifdef CONFIG_RTW_HOSTAPD_ACS 537 #ifdef CONFIG_FIND_BEST_CHANNEL 538 #undef CONFIG_FIND_BEST_CHANNEL 539 #endif 540 #ifndef CONFIG_RTW_ACS 541 #define CONFIG_RTW_ACS 542 #endif 543 #endif 544 545 546 #ifdef DBG_CONFIG_ERROR_RESET 547 #ifndef CONFIG_IPS 548 #define CONFIG_IPS 549 #endif 550 #endif 551 552 /* IPS */ 553 #ifndef RTW_IPS_MODE 554 #if defined(CONFIG_IPS) 555 #define RTW_IPS_MODE 1 556 #else 557 #define RTW_IPS_MODE 0 558 #endif 559 #endif /* !RTW_IPS_MODE */ 560 561 #if (RTW_IPS_MODE > 1 || RTW_IPS_MODE < 0) 562 #error "The CONFIG_IPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 563 #endif 564 565 /* LPS */ 566 #ifndef RTW_LPS_MODE 567 #if defined(CONFIG_LPS_PG) 568 #define RTW_LPS_MODE 3 569 #elif defined(CONFIG_LPS_LCLK) 570 #define RTW_LPS_MODE 2 571 #elif defined(CONFIG_LPS) 572 #define RTW_LPS_MODE 1 573 #else 574 #define RTW_LPS_MODE 0 575 #endif 576 #endif /* !RTW_LPS_MODE */ 577 578 #if (RTW_LPS_MODE > 3 || RTW_LPS_MODE < 0) 579 #error "The CONFIG_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 580 #endif 581 582 #ifndef RTW_LPS_1T1R 583 #define RTW_LPS_1T1R 0 584 #endif 585 586 #ifndef RTW_WOW_LPS_1T1R 587 #define RTW_WOW_LPS_1T1R 0 588 #endif 589 590 /* WOW LPS */ 591 #ifndef RTW_WOW_LPS_MODE 592 #if defined(CONFIG_LPS_PG) 593 #define RTW_WOW_LPS_MODE 3 594 #elif defined(CONFIG_LPS_LCLK) 595 #define RTW_WOW_LPS_MODE 2 596 #elif defined(CONFIG_LPS) 597 #define RTW_WOW_LPS_MODE 1 598 #else 599 #define RTW_WOW_LPS_MODE 0 600 #endif 601 #endif /* !RTW_WOW_LPS_MODE */ 602 603 #if (RTW_WOW_LPS_MODE > 3 || RTW_WOW_LPS_MODE < 0) 604 #error "The RTW_WOW_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 605 #endif 606 607 #ifdef RTW_REDUCE_SCAN_SWITCH_CH_TIME 608 #ifndef CONFIG_RTL8822B 609 #error "Only 8822B support RTW_REDUCE_SCAN_SWITCH_CH_TIME" 610 #endif 611 #ifndef RTW_CHANNEL_SWITCH_OFFLOAD 612 #define RTW_CHANNEL_SWITCH_OFFLOAD 613 #endif 614 #endif 615 616 #ifdef CONFIG_PCI_BCN_POLLING 617 #define CONFIG_BCN_ICF 618 #endif 619 620 #if !defined (CONFIG_PCI_MSI) || defined (CONFIG_RTW_FORCE_PCI_MSI_DISABLE) 621 #define CONFIG_RTW_PCI_MSI_DISABLE 622 #endif 623 624 #if defined(CONFIG_PCI_DYNAMIC_ASPM_L1_LATENCY) || \ 625 defined(CONFIG_PCI_DYNAMIC_ASPM_LINK_CTRL) 626 #define CONFIG_PCI_DYNAMIC_ASPM 627 #endif 628 629 #if 0 630 /* Debug related compiler flags */ 631 #define DBG_THREAD_PID /* Add thread pid to debug message prefix */ 632 #define DBG_CPU_INFO /* Add CPU info to debug message prefix */ 633 #endif 634 635 #ifdef CONFIG_TX_AMSDU_HW_MODE 636 #define CONFIG_HW_HDR_CONVERSION 637 #elif defined(CONFIG_TX_AMSDU_SW_MODE) 638 #else 639 #define CONFIG_HW_HDR_CONVERSION /* TODO: should be 'unchange' */ 640 #endif 641 642 /* for phl illegal mac io access check*/ 643 #define CONFIG_MAC_REG_RW_CHK 644 645 /* To enable the CONFIG_PHL_P2PPS definition in phl_config.h */ 646 #ifdef CONFIG_P2P_PS 647 #define CONFIG_P2PPS 648 #endif 649 650 #ifdef CONFIG_CMD_DISP 651 /*#define DBG_CONFIG_CMD_DISP*/ 652 653 #define CONFIG_CMD_SCAN 654 #ifdef CONFIG_CMD_SCAN 655 #ifdef CONFIG_IOCTL_CFG80211 656 #define CONFIG_PHL_CMD_SCAN_BKOP_TIME 657 #endif 658 /* Scan hidden AP in passive channel */ 659 #define RTW_WKARD_CMD_SCAN_EXTEND_ACTIVE_SCAN 660 #define RTW_EXTEND_ACTIVE_SCAN_PERIOD 30 /* unit: ms */ 661 #endif /* CONFIG_CMD_SCAN */ 662 663 #define CONFIG_CMD_GENERAL 664 #define CONFIG_CMD_SER 665 #define CONFIG_STA_CMD_DISPR 666 #define CONFIG_AP_CMD_DISPR 667 /*#define CONFIG_IBSS_CMD_DISPR*/ 668 #define CONFIG_CMD_TSF_SYNC 669 #endif 670 671 #ifdef ROKU_PRIVATE 672 #define CONFIG_RELEASE_RPT 673 #define CONFIG_RA_TXSTS_DBG 674 #endif 675 676 #ifdef CONFIG_80211AX_HE 677 #define CONFIG_STA_MULTIPLE_BSSID 678 #endif 679 680 /* 681 * Work around Config 682 */ 683 /* 684 * RTW_WKARD_UPDATE_PHL_ROLE_CAP 685 * Update adapter->phl_role.cap & proto_role_cap by driver parameters(registry). 686 */ 687 #define RTW_WKARD_UPDATE_PHL_ROLE_CAP 688 689 /* 690 *RTW_WKARD_TRIGGER_FRAME_PARSER-OFDMA UL TB control 691 */ 692 #define RTW_WKARD_TRIGGER_FRAME_PARSER 693 #endif /* __DRV_CONF_H__ */ 694