1 /* 2 * Copyright 2021-2024 NXP 3 * All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef _WIFI_BT_MODULE_CONFIG_H_ 9 #define _WIFI_BT_MODULE_CONFIG_H_ 10 11 /* Wi-Fi boards configuration list */ 12 13 /* AzureWave AW-NM191-uSD */ 14 #if defined(WIFI_88W8801_BOARD_AW_NM191_USD) 15 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 16 #define SD8801 17 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 18 #define WIFI_BT_USE_USD_INTERFACE 19 #define WLAN_ED_MAC_CTRL \ 20 { \ 21 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x1B \ 22 } 23 24 /* AzureWave AW-NM191MA */ 25 #elif defined(WIFI_88W8801_BOARD_AW_NM191MA) 26 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 27 #define SD8801 28 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 29 #define WIFI_BT_USE_M2_INTERFACE 30 #define WLAN_ED_MAC_CTRL \ 31 { \ 32 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x1B \ 33 } 34 35 /* AzureWave AW-AM457-uSD */ 36 #elif defined(WIFI_IW416_BOARD_AW_AM457_USD) 37 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 38 #define SD8978 39 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 40 #define WIFI_BT_USE_USD_INTERFACE 41 #define OVERRIDE_CALIBRATION_DATA "WIFI_IW416_BOARD_AW_AM457_CAL_DATA_EXT.h" 42 #define WLAN_ED_MAC_CTRL \ 43 { \ 44 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 45 } 46 47 /* AzureWave AW-AM457MA */ 48 #elif defined(WIFI_IW416_BOARD_AW_AM457MA) 49 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 50 #define SD8978 51 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 52 #define WIFI_BT_USE_M2_INTERFACE 53 #define OVERRIDE_CALIBRATION_DATA "WIFI_IW416_BOARD_AW_AM457_CAL_DATA_EXT.h" 54 #define WLAN_ED_MAC_CTRL \ 55 { \ 56 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 57 } 58 59 /* AzureWave AW-AM510-uSD */ 60 #elif defined(WIFI_IW416_BOARD_AW_AM510_USD) 61 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 62 #define SD8978 63 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 64 #define CONFIG_BR_SCO_PCM_DIRECTION 1 65 #define WIFI_BT_USE_USD_INTERFACE 66 #define WLAN_ED_MAC_CTRL \ 67 { \ 68 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 69 } 70 71 /* AzureWave AW-AM510MA */ 72 #elif defined(WIFI_IW416_BOARD_AW_AM510MA) 73 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 74 #define SD8978 75 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 76 #define CONFIG_BR_SCO_PCM_DIRECTION 1 77 #define WIFI_BT_USE_M2_INTERFACE 78 #define WLAN_ED_MAC_CTRL \ 79 { \ 80 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 81 } 82 83 /* AzureWave AW-CM358-uSD */ 84 #elif defined(WIFI_88W8987_BOARD_AW_CM358_USD) 85 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 86 #define SD8987 87 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 88 #define SD_TIMING_MAX kSD_TimingDDR50Mode 89 #define WIFI_BT_USE_USD_INTERFACE 90 #define WLAN_ED_MAC_CTRL \ 91 { \ 92 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 93 } 94 95 /* AzureWave AW-CM358MA */ 96 #elif defined(WIFI_88W8987_BOARD_AW_CM358MA) 97 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 98 #define SD8987 99 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 100 #define SD_TIMING_MAX kSD_TimingDDR50Mode 101 #define WIFI_BT_USE_M2_INTERFACE 102 #define WLAN_ED_MAC_CTRL \ 103 { \ 104 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 105 } 106 107 /* Murata 2DS + Murata uSD-M.2 adapter */ 108 #elif defined(WIFI_88W8801_BOARD_MURATA_2DS_USD) 109 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_CA.h" 110 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_EU.h" 111 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_JP.h" 112 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_US.h" 113 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_WW.h" 114 #define SD8801 115 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 116 #define SD_TIMING_MAX kSD_TimingSDR25HighSpeedMode 117 #define WIFI_BT_USE_USD_INTERFACE 118 #define WLAN_ED_MAC_CTRL \ 119 { \ 120 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x0E \ 121 } 122 123 /* Murata 2DS */ 124 #elif defined(WIFI_88W8801_BOARD_MURATA_2DS_M2) 125 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_CA.h" 126 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_EU.h" 127 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_JP.h" 128 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_US.h" 129 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2DS_WW.h" 130 #define SD8801 131 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 132 #define SD_TIMING_MAX kSD_TimingSDR25HighSpeedMode 133 #define WIFI_BT_USE_M2_INTERFACE 134 #define WLAN_ED_MAC_CTRL \ 135 { \ 136 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x0E \ 137 } 138 139 /* Murata 1XK + Murata uSD-M.2 adapter */ 140 #elif defined(WIFI_IW416_BOARD_MURATA_1XK_USD) 141 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_CA.h" 142 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_EU.h" 143 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_JP.h" 144 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_US.h" 145 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_WW.h" 146 #define SD8978 147 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 148 #define SD_TIMING_MAX kSD_TimingDDR50Mode 149 #define WIFI_BT_USE_USD_INTERFACE 150 #define WLAN_ED_MAC_CTRL \ 151 { \ 152 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x0, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0x6 \ 153 } 154 155 /* Murata 1XK */ 156 #elif defined(WIFI_IW416_BOARD_MURATA_1XK_M2) 157 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_CA.h" 158 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_EU.h" 159 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_JP.h" 160 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_US.h" 161 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1XK_WW.h" 162 #define SD8978 163 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 164 #define SD_TIMING_MAX kSD_TimingDDR50Mode 165 #define WIFI_BT_USE_M2_INTERFACE 166 #define WLAN_ED_MAC_CTRL \ 167 { \ 168 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x0, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0x6 \ 169 } 170 171 /* Murata 1ZM + Murata uSD-M.2 adapter */ 172 #elif defined(WIFI_88W8987_BOARD_MURATA_1ZM_USD) 173 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_CA.h" 174 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_EU.h" 175 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_JP.h" 176 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_US.h" 177 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_WW.h" 178 #define SD8987 179 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 180 #define SD_TIMING_MAX kSD_TimingDDR50Mode 181 #define WIFI_BT_USE_USD_INTERFACE 182 #define WLAN_ED_MAC_CTRL \ 183 { \ 184 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x6, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0x6 \ 185 } 186 187 /* Murata 1ZM */ 188 #elif defined(WIFI_88W8987_BOARD_MURATA_1ZM_M2) 189 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_CA.h" 190 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_EU.h" 191 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_JP.h" 192 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_US.h" 193 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_1ZM_WW.h" 194 #define SD8987 195 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 196 #define SD_TIMING_MAX kSD_TimingDDR50Mode 197 #define WIFI_BT_USE_M2_INTERFACE 198 #define WLAN_ED_MAC_CTRL \ 199 { \ 200 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x6, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0x6 \ 201 } 202 203 /* USD Firecrest module */ 204 #elif defined(WIFI_IW612_BOARD_RD_USD) 205 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 206 #define SD9177 207 #define SDMMCHOST_OPERATION_VOLTAGE_3V3 208 #define SD_TIMING_MAX kSD_TimingDDR50Mode 209 #define WIFI_BT_USE_USD_INTERFACE 210 #define WLAN_ED_MAC_CTRL \ 211 { \ 212 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 213 } 214 215 /* 2EL Firecrest module with uSD adapter */ 216 #elif defined(WIFI_IW612_BOARD_MURATA_2EL_USD) 217 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_CA_RU_Tx_power.h" 218 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_EU_RU_Tx_power.h" 219 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_JP_RU_Tx_power.h" 220 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_US_RU_Tx_power.h" 221 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_WW.h" 222 #define SD9177 223 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 224 #define SD_TIMING_MAX kSD_TimingDDR50Mode 225 #define WIFI_BT_USE_USD_INTERFACE 226 #define WLAN_ED_MAC_CTRL \ 227 { \ 228 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 229 } 230 231 /* 2EL Firecrest module with M2 interface */ 232 #elif defined(WIFI_IW612_BOARD_MURATA_2EL_M2) 233 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_CA_RU_Tx_power.h" 234 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_EU_RU_Tx_power.h" 235 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_JP_RU_Tx_power.h" 236 // #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_US_RU_Tx_power.h" 237 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_WW.h" 238 #define SD9177 239 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 240 #define SD_TIMING_MAX kSD_TimingDDR50Mode 241 #define WIFI_BT_USE_M2_INTERFACE 242 #define WLAN_ED_MAC_CTRL \ 243 { \ 244 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 245 } 246 247 /* u-blox EVK-LILY-W131/-W132 */ 248 #elif defined(WIFI_88W8801_BOARD_UBX_LILY_W1_USD) 249 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 250 #define SD8801 251 #define SDMMCHOST_OPERATION_VOLTAGE_3V3 252 #define WIFI_BT_USE_USD_INTERFACE 253 #define WLAN_ED_MAC_CTRL \ 254 { \ 255 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x1B \ 256 } 257 258 /* u-blox EVK-JODY-W263 */ 259 #elif defined(WIFI_88W8987_BOARD_UBX_JODY_W2_USD) 260 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 261 #define SD8987 262 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 263 #define WIFI_BT_USE_USD_INTERFACE 264 #define WLAN_ED_MAC_CTRL \ 265 { \ 266 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 267 } 268 /* Murata 2DL + Murata uSD-M.2 adapter */ 269 #elif defined(WIFI_IW611_BOARD_MURATA_2DL_USD) 270 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_WW.h" 271 #define SD9177 272 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 273 #define SD_TIMING_MAX kSD_TimingDDR50Mode 274 #define WIFI_BT_USE_USD_INTERFACE 275 #define WLAN_ED_MAC_CTRL \ 276 { \ 277 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 278 } 279 280 /* Murata 2DL */ 281 #elif defined(WIFI_IW611_BOARD_MURATA_2DL_M2) 282 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_murata_2EL_WW.h" 283 #define SD9177 284 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 285 #define SD_TIMING_MAX kSD_TimingDDR50Mode 286 #define WIFI_BT_USE_M2_INTERFACE 287 #define WLAN_ED_MAC_CTRL \ 288 { \ 289 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 290 } 291 292 /* u-blox JODY W5 uSD */ 293 #elif defined(WIFI_AW611_BOARD_UBX_JODY_W5_USD) 294 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_jody_w5_WW.h" 295 #define SD9177 296 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 297 #define SD_TIMING_MAX kSD_TimingDDR50Mode 298 #define WIFI_BT_USE_USD_INTERFACE 299 #define WLAN_ED_MAC_CTRL \ 300 { \ 301 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 302 } 303 304 /* u-blox JODY W5 M2 */ 305 #elif defined(WIFI_AW611_BOARD_UBX_JODY_W5_M2) 306 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_jody_w5_WW.h" 307 #define SD9177 308 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 309 #define SD_TIMING_MAX kSD_TimingDDR50Mode 310 #define WIFI_BT_USE_M2_INTERFACE 311 #define WLAN_ED_MAC_CTRL \ 312 { \ 313 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0xA, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xA \ 314 } 315 316 /* u-blox EVK-MAYA-W161/-W166 */ 317 #elif defined(WIFI_IW416_BOARD_UBX_MAYA_W1_USD) 318 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW.h" 319 #define SD8978 320 #define SDMMCHOST_OPERATION_VOLTAGE_1V8 321 #define WIFI_BT_USE_USD_INTERFACE 322 #define WLAN_ED_MAC_CTRL \ 323 { \ 324 .ed_ctrl_2g = 0x1, .ed_offset_2g = 0x9, .ed_ctrl_5g = 0x1, .ed_offset_5g = 0xC \ 325 } 326 327 /* Redfinch */ 328 #elif defined(WIFI_BOARD_RW610) 329 #define WIFI_BT_TX_PWR_LIMITS "wlan_txpwrlimit_cfg_WW_rw610.h" 330 #define RW610 331 332 /* K32W061 transceiver */ 333 #elif defined(K32W061_TRANSCEIVER) 334 /* 335 * Wifi functions are not used with K32W061 but wifi files require to 336 * be built, so stub macro are defined. Wifi functions won't be used at 337 * link stage for k32w061 transceiver 338 * 339 */ 340 #define SD8987 341 342 #else 343 #error "Please define macro related to wifi board" 344 #endif 345 346 #endif /* _WIFI_BT_MODULE_CONFIG_H_ */ 347