1*4882a593Smuzhiyun /****************************************************************************** 2*4882a593Smuzhiyun * 3*4882a593Smuzhiyun * Copyright(c) 2019 - 2022 Realtek Corporation. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it 6*4882a593Smuzhiyun * under the terms of version 2 of the GNU General Public License as 7*4882a593Smuzhiyun * published by the Free Software Foundation. 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * This program is distributed in the hope that it will be useful, but WITHOUT 10*4882a593Smuzhiyun * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11*4882a593Smuzhiyun * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12*4882a593Smuzhiyun * more details. 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun *****************************************************************************/ 15*4882a593Smuzhiyun #ifndef _AUTOCONF_H_ 16*4882a593Smuzhiyun #define _AUTOCONF_H_ 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /***** temporarily flag *******/ 19*4882a593Smuzhiyun /*#define CONFIG_NO_FW*/ 20*4882a593Smuzhiyun /*#define CONFIG_DISABLE_ODM*/ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun /* 23*4882a593Smuzhiyun * Debug Related Config 24*4882a593Smuzhiyun */ 25*4882a593Smuzhiyun #ifdef CONFIG_RTW_DEBUG 26*4882a593Smuzhiyun #define DBG 1 /* for ODM & BTC debug */ 27*4882a593Smuzhiyun #else /* !CONFIG_RTW_DEBUG */ 28*4882a593Smuzhiyun #define DBG 0 /* for ODM & BTC debug */ 29*4882a593Smuzhiyun #endif /* CONFIG_RTW_DEBUG */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun /*#define DBG_CONFIG_ERROR_DETECT*/ 33*4882a593Smuzhiyun /*#define DBG_XMIT_BUF*/ 34*4882a593Smuzhiyun /*#define DBG_XMIT_BUF_EXT*/ 35*4882a593Smuzhiyun /*#define CONFIG_FW_C2H_DEBUG*/ 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun /* debug memory management */ 38*4882a593Smuzhiyun #if 0 39*4882a593Smuzhiyun #define DBG_MEM_ALLOC 40*4882a593Smuzhiyun #define DBG_PHL_MEM_ALLOC 41*4882a593Smuzhiyun #define DBG_HAL_MAC_MEM_MOINTOR 42*4882a593Smuzhiyun #define DBG_HAL_MEM_MOINTOR 43*4882a593Smuzhiyun #endif 44*4882a593Smuzhiyun /*#define CONFIG_PHL_USE_KMEM_ALLOC*/ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* debug TX/RX */ 47*4882a593Smuzhiyun /*#define DBG_XMIT_BLOCK*/ 48*4882a593Smuzhiyun /*#define DBG_RX_COUNTER_DUMP*/ 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /*#define DBG_C2H_MAC_HIDDEN_RPT_HANDLE 1*/ 51*4882a593Smuzhiyun /*#define DBG_H2C_CONTENT*/ 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define CONFIG_ERROR_STATE_MONITOR 54*4882a593Smuzhiyun /*#define CONFIG_MONITOR_OVERFLOW*/ 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /*#define CONFIG_SDIO_INDIRECT_ACCESS*/ 57*4882a593Smuzhiyun /*#define DBG_SDIO_INDIRECT_ACCESS*/ 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* 61*4882a593Smuzhiyun * Work around Config 62*4882a593Smuzhiyun */ 63*4882a593Smuzhiyun #define RTW_WKARD_DIS_PROBE_REQ_RPT_TO_HOSTAPD 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun #define RTW_WKARD_CORE_RSSI_V1 66*4882a593Smuzhiyun #ifdef RTW_WKARD_CORE_RSSI_V1 67*4882a593Smuzhiyun #define CONFIG_RX_PSTS_PER_PKT 68*4882a593Smuzhiyun #define CONFIG_SIGNAL_STAT_PROCESS 69*4882a593Smuzhiyun /*#define DBG_RX_SIGNAL_DISPLAY_PROCESSING*/ 70*4882a593Smuzhiyun #endif 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* 73*4882a593Smuzhiyun * Public General Config 74*4882a593Smuzhiyun */ 75*4882a593Smuzhiyun #define AUTOCONF_INCLUDED 76*4882a593Smuzhiyun #define DRV_NAME "rtl8852bs" 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun #define CONFIG_SDIO_HCI 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun /* 82*4882a593Smuzhiyun * Wi-Fi Functions Config 83*4882a593Smuzhiyun */ 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun /*#define CONFIG_RECV_REORDERING_CTRL*/ 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun #define CONFIG_80211N_HT 88*4882a593Smuzhiyun #define CONFIG_80211AC_VHT 89*4882a593Smuzhiyun #define CONFIG_80211AX_HE 90*4882a593Smuzhiyun #ifdef CONFIG_80211AC_VHT 91*4882a593Smuzhiyun #ifndef CONFIG_80211N_HT 92*4882a593Smuzhiyun #define CONFIG_80211N_HT 93*4882a593Smuzhiyun #endif 94*4882a593Smuzhiyun #endif 95*4882a593Smuzhiyun #ifdef CONFIG_80211AX_HE 96*4882a593Smuzhiyun #ifndef CONFIG_80211N_HT 97*4882a593Smuzhiyun #define CONFIG_80211N_HT 98*4882a593Smuzhiyun #endif 99*4882a593Smuzhiyun #ifndef CONFIG_80211AC_VHT 100*4882a593Smuzhiyun #define CONFIG_80211AC_VHT 101*4882a593Smuzhiyun #endif 102*4882a593Smuzhiyun #endif 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define CONFIG_TX_AMSDU 105*4882a593Smuzhiyun #ifdef CONFIG_TX_AMSDU 106*4882a593Smuzhiyun #define CONFIG_TX_AMSDU_SW_MODE 107*4882a593Smuzhiyun #endif 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun #define CONFIG_BEAMFORMING 110*4882a593Smuzhiyun #ifdef CONFIG_BEAMFORMING 111*4882a593Smuzhiyun /*#define RTW_WKARD_TX_DISABLE_BFEE*/ 112*4882a593Smuzhiyun #endif 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun /* Set CONFIG_IOCTL_CFG80211 from Makefile */ 115*4882a593Smuzhiyun #ifdef CONFIG_IOCTL_CFG80211 116*4882a593Smuzhiyun /* 117*4882a593Smuzhiyun * Indecate new sta asoc through cfg80211_new_sta 118*4882a593Smuzhiyun * If kernel version >= 3.2 or 119*4882a593Smuzhiyun * version < 3.2 but already apply cfg80211 patch, 120*4882a593Smuzhiyun * RTW_USE_CFG80211_STA_EVENT must be defiend! 121*4882a593Smuzhiyun */ 122*4882a593Smuzhiyun /* Set RTW_USE_CFG80211_STA_EVENT from Makefile */ 123*4882a593Smuzhiyun #define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER 124*4882a593Smuzhiyun /* #define CONFIG_DEBUG_CFG80211 */ 125*4882a593Smuzhiyun #define CONFIG_SET_SCAN_DENY_TIMER 126*4882a593Smuzhiyun #endif /* CONFIG_IOCTL_CFG80211 */ 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun #define CONFIG_AP_MODE 129*4882a593Smuzhiyun #ifdef CONFIG_AP_MODE 130*4882a593Smuzhiyun #define CONFIG_NATIVEAP_MLME 131*4882a593Smuzhiyun #ifndef CONFIG_NATIVEAP_MLME 132*4882a593Smuzhiyun #define CONFIG_HOSTAPD_MLME 133*4882a593Smuzhiyun #endif 134*4882a593Smuzhiyun /*#define CONFIG_FIND_BEST_CHANNEL*/ 135*4882a593Smuzhiyun #endif 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun #define CONFIG_P2P 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun #ifdef CONFIG_P2P 141*4882a593Smuzhiyun #define CONFIG_WFD /* Wi-Fi display */ 142*4882a593Smuzhiyun #define CONFIG_P2P_REMOVE_GROUP_INFO 143*4882a593Smuzhiyun /*#define CONFIG_DBG_P2P*/ 144*4882a593Smuzhiyun #define CONFIG_P2P_PS 145*4882a593Smuzhiyun /*#define CONFIG_P2P_IPS*/ 146*4882a593Smuzhiyun #define CONFIG_P2P_OP_CHK_SOCIAL_CH 147*4882a593Smuzhiyun #define CONFIG_CFG80211_ONECHANNEL_UNDER_CONCURRENT /* Replace CONFIG_P2P_CHK_INVITE_CH_LIST flag */ 148*4882a593Smuzhiyun /*#define CONFIG_P2P_INVITE_IOT*/ 149*4882a593Smuzhiyun #endif /* CONFIG_P2P */ 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun /* Set CONFIG_TDLS from Makefile */ 152*4882a593Smuzhiyun #ifdef CONFIG_TDLS 153*4882a593Smuzhiyun #define CONFIG_TDLS_DRIVER_SETUP 154*4882a593Smuzhiyun /* #ifndef CONFIG_WFD 155*4882a593Smuzhiyun #define CONFIG_WFD 156*4882a593Smuzhiyun #endif*/ 157*4882a593Smuzhiyun /* #define CONFIG_TDLS_AUTOSETUP*/ 158*4882a593Smuzhiyun #define CONFIG_TDLS_AUTOCHECKALIVE 159*4882a593Smuzhiyun /* 160*4882a593Smuzhiyun * Enable "CONFIG_TDLS_CH_SW" by default, 161*4882a593Smuzhiyun * however limit it to only work in wifi logo test mode 162*4882a593Smuzhiyun * but not in normal mode currently 163*4882a593Smuzhiyun */ 164*4882a593Smuzhiyun #define CONFIG_TDLS_CH_SW 165*4882a593Smuzhiyun #endif /* CONFIG_TDLS */ 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun /*#define CONFIG_RTW_80211K*/ 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun #define CONFIG_HW_RTS 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun /* 174*4882a593Smuzhiyun * Hareware/Firmware Related Config 175*4882a593Smuzhiyun */ 176*4882a593Smuzhiyun /* Set CONFIG_ANTENNA_DIVERSITY from Makefile */ 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun /*#define CONFIG_RTW_LED*/ 179*4882a593Smuzhiyun #ifdef CONFIG_RTW_LED 180*4882a593Smuzhiyun /*#define CONFIG_RTW_SW_LED*/ 181*4882a593Smuzhiyun #endif /* CONFIG_RTW_LED */ 182*4882a593Smuzhiyun /*#define CONFIG_XMIT_ACK*/ 183*4882a593Smuzhiyun #ifdef CONFIG_XMIT_ACK 184*4882a593Smuzhiyun #define CONFIG_ACTIVE_KEEP_ALIVE_CHECK 185*4882a593Smuzhiyun #endif 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun #define DISABLE_BB_RF 0 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun #define CONFIG_TCP_CSUM_OFFLOAD_RX 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun /* 192*4882a593Smuzhiyun * Software feature Related Config 193*4882a593Smuzhiyun */ 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun /* 196*4882a593Smuzhiyun * Interface Related Config 197*4882a593Smuzhiyun */ 198*4882a593Smuzhiyun #define CONFIG_TX_AGGREGATION 199*4882a593Smuzhiyun #define CONFIG_XMIT_THREAD_MODE /* necessary for SDIO */ 200*4882a593Smuzhiyun /*#define RTW_XMIT_THREAD_HIGH_PRIORITY*/ 201*4882a593Smuzhiyun /*#define RTW_XMIT_THREAD_CB_HIGH_PRIORITY*/ 202*4882a593Smuzhiyun /*#define CONFIG_SDIO_TX_ENABLE_AVAL_INT => Related MAC reg must setting => HAL-MAC ?? */ 203*4882a593Smuzhiyun #define CONFIG_SDIO_RX_COPY 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun #define CONFIG_SDIO_RX_NETBUF_ALLOC_IN_PHL 206*4882a593Smuzhiyun #define CONFIG_SDIO_READ_RXFF_IN_INT 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun /*#define RTW_RECV_THREAD_HIGH_PRIORITY*/ 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun #ifdef CONFIG_RTW_NAPI 212*4882a593Smuzhiyun #define CONFIG_RTW_NAPI_DYNAMIC 213*4882a593Smuzhiyun #define CONFIG_RTW_NAPI_V2 214*4882a593Smuzhiyun #ifdef CONFIG_RTW_NAPI_V2 215*4882a593Smuzhiyun #define CONFIG_RX_BATCH_IND 216*4882a593Smuzhiyun #endif 217*4882a593Smuzhiyun #endif 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun #define CONFIG_REDUCE_TX_CPU_LOADING 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun #define MAX_XMITBUF_SZ 26*1024 /* 26 KB */ 222*4882a593Smuzhiyun #define MAX_RECVBUF_SZ 68608 /* 67*1024 KB*/ 223*4882a593Smuzhiyun #define MAX_PHL_TX_RING_ENTRY_NUM 512 224*4882a593Smuzhiyun #define MAX_PHL_RX_RING_ENTRY_NUM 536 225*4882a593Smuzhiyun #define CONFIG_RTW_REDUCE_MEM 226*4882a593Smuzhiyun #define CONFIG_SCAN_BACKOP_STA 227*4882a593Smuzhiyun /* 228*4882a593Smuzhiyun * Others 229*4882a593Smuzhiyun */ 230*4882a593Smuzhiyun /*#define CONFIG_MAC_LOOPBACK_DRIVER*/ 231*4882a593Smuzhiyun #define CONFIG_SKB_COPY /* for amsdu */ 232*4882a593Smuzhiyun #define CONFIG_EMBEDDED_FWIMG 233*4882a593Smuzhiyun /*#define CONFIG_FILE_FWIMG*/ 234*4882a593Smuzhiyun #define CONFIG_LONG_DELAY_ISSUE 235*4882a593Smuzhiyun /*#define CONFIG_PATCH_JOIN_WRONG_CHANNEL*/ 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun /* 239*4882a593Smuzhiyun * Platform 240*4882a593Smuzhiyun */ 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun /* 244*4882a593Smuzhiyun * Auto Config Section 245*4882a593Smuzhiyun */ 246*4882a593Smuzhiyun #ifdef CONFIG_MAC_LOOPBACK_DRIVER 247*4882a593Smuzhiyun #undef CONFIG_IOCTL_CFG80211 248*4882a593Smuzhiyun #undef CONFIG_AP_MODE 249*4882a593Smuzhiyun #undef CONFIG_NATIVEAP_MLME 250*4882a593Smuzhiyun #undef CONFIG_POWER_SAVING 251*4882a593Smuzhiyun #undef CONFIG_ANTENNA_DIVERSITY 252*4882a593Smuzhiyun #endif /* CONFIG_MAC_LOOPBACK_DRIVER */ 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun #ifdef CONFIG_MP_INCLUDED 255*4882a593Smuzhiyun #define MP_DRIVER 1 256*4882a593Smuzhiyun /* disable unnecessary functions for MP*/ 257*4882a593Smuzhiyun /*#undef CONFIG_POWER_SAVING*/ 258*4882a593Smuzhiyun /*#undef CONFIG_ANTENNA_DIVERSITY*/ 259*4882a593Smuzhiyun #else /* !CONFIG_MP_INCLUDED */ 260*4882a593Smuzhiyun #define MP_DRIVER 0 261*4882a593Smuzhiyun #endif /* !CONFIG_MP_INCLUDED */ 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun #ifdef CONFIG_POWER_SAVING 264*4882a593Smuzhiyun #define CONFIG_IPS 265*4882a593Smuzhiyun #define CONFIG_LPS 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun #if defined(CONFIG_LPS) && (defined(CONFIG_GSPI_HCI) || defined(CONFIG_SDIO_HCI)) 268*4882a593Smuzhiyun #define CONFIG_LPS_LCLK 269*4882a593Smuzhiyun #endif 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun #ifdef CONFIG_LPS 272*4882a593Smuzhiyun /*#define CONFIG_CHECK_LEAVE_LPS*/ 273*4882a593Smuzhiyun /*#define CONFIG_LPS_CHK_BY_TP*/ 274*4882a593Smuzhiyun #ifdef CONFIG_LPS_CHK_BY_TP 275*4882a593Smuzhiyun #define LPS_TX_TP_TH 12 /*Mbps*/ 276*4882a593Smuzhiyun #define LPS_RX_TP_TH 12 /*Mbps*/ 277*4882a593Smuzhiyun #define LPS_BI_TP_TH 12 /*Mbps*//*TX + RX*/ 278*4882a593Smuzhiyun #define LPS_TP_CHK_CNT 5 /*10s*/ 279*4882a593Smuzhiyun #define LPS_CHK_PKTS_TX 100 280*4882a593Smuzhiyun #define LPS_CHK_PKTS_RX 100 281*4882a593Smuzhiyun #endif 282*4882a593Smuzhiyun #endif 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun #ifdef CONFIG_LPS_LCLK 285*4882a593Smuzhiyun /*#define CONFIG_DETECT_CPWM_BY_POLLING*/ 286*4882a593Smuzhiyun #define CONFIG_LPS_RPWM_TIMER 287*4882a593Smuzhiyun #if defined(CONFIG_LPS_RPWM_TIMER) || defined(CONFIG_DETECT_CPWM_BY_POLLING) 288*4882a593Smuzhiyun #define LPS_RPWM_WAIT_MS 300 289*4882a593Smuzhiyun #endif 290*4882a593Smuzhiyun #define CONFIG_LPS_LCLK_WD_TIMER /* Watch Dog timer in LPS LCLK */ 291*4882a593Smuzhiyun /*#define CONFIG_LPS_PG*/ 292*4882a593Smuzhiyun #endif 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun #ifdef CONFIG_IPS 295*4882a593Smuzhiyun #define CONFIG_IPS_CHECK_IN_WD /* Do IPS Check in WatchDog. */ 296*4882a593Smuzhiyun /*#define CONFIG_FWLPS_IN_IPS*/ /* issue H2C command to let FW do LPS when entering IPS */ 297*4882a593Smuzhiyun #endif 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun #ifdef CONFIG_LPS 300*4882a593Smuzhiyun /*#define CONFIG_WMMPS_STA*/ 301*4882a593Smuzhiyun #endif /* CONFIG_LPS */ 302*4882a593Smuzhiyun #endif /* CONFIG_POWER_SAVING */ 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun #ifdef CONFIG_POWER_SAVE 305*4882a593Smuzhiyun /* #define CONFIG_RTW_IPS */ 306*4882a593Smuzhiyun /* #define CONFIG_RTW_LPS */ 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun #if defined(CONFIG_RTW_IPS) || defined(CONFIG_RTW_LPS) 309*4882a593Smuzhiyun #define CONFIG_PS_FW_DBG 310*4882a593Smuzhiyun #endif 311*4882a593Smuzhiyun #endif 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun #ifdef CONFIG_WOWLAN 314*4882a593Smuzhiyun #define CONFIG_GTK_OL 315*4882a593Smuzhiyun /* #define CONFIG_ARP_KEEP_ALIVE */ 316*4882a593Smuzhiyun #endif /* CONFIG_WOWLAN */ 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun #ifdef CONFIG_GPIO_WAKEUP 319*4882a593Smuzhiyun #ifndef WAKEUP_GPIO_IDX 320*4882a593Smuzhiyun #define WAKEUP_GPIO_IDX 10 /* WIFI Chip Side */ 321*4882a593Smuzhiyun #endif /*!WAKEUP_GPIO_IDX*/ 322*4882a593Smuzhiyun #endif /* CONFIG_GPIO_WAKEUP */ 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun #ifdef CONFIG_ANTENNA_DIVERSITY 325*4882a593Smuzhiyun #define CONFIG_HW_ANTENNA_DIVERSITY 326*4882a593Smuzhiyun #endif /* CONFIG_ANTENNA_DIVERSITY */ 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun #ifdef RTK_129X_PLATFORM 329*4882a593Smuzhiyun #ifdef CONFIG_REDUCE_TX_CPU_LOADING 330*4882a593Smuzhiyun #undef CONFIG_REDUCE_TX_CPU_LOADING 331*4882a593Smuzhiyun #endif 332*4882a593Smuzhiyun #endif 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun #define CONFIG_MSG_NUM 100 335*4882a593Smuzhiyun #define SCAN_PER_CH_EX_TIME 350 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun #endif /* _AUTOCONF_H_ */ 338*4882a593Smuzhiyun 339