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