@@ -35,6 +35,20 @@ BUILD_ASSERT(DT_REG_SIZE(DT_CHOSEN(zephyr_sram)) == KB(195) ||
3535 DT_REG_SIZE (DT_CHOSEN (zephyr_sram )) == KB (255 ) ||
3636 DT_REG_SIZE (DT_CHOSEN (zephyr_sram )) == KB (319 ));
3737
38+ #ifdef CONFIG_WIFI_SILABS_SIWX91X
39+ #ifndef TX_POOL_RATIO
40+ #define TX_POOL_RATIO 1
41+ #endif
42+
43+ #ifndef RX_POOL_RATIO
44+ #define RX_POOL_RATIO 1
45+ #endif
46+
47+ #ifndef GLOBAL_POOL_RATIO
48+ #define GLOBAL_POOL_RATIO 1
49+ #endif
50+ #endif
51+
3852struct siwx91x_nwp_data {
3953 char current_country_code [WIFI_COUNTRY_CODE_LEN ];
4054};
@@ -172,9 +186,10 @@ static void siwx91x_configure_sta_mode(sl_si91x_boot_configuration_t *boot_confi
172186
173187#ifdef CONFIG_WIFI_SILABS_SIWX91X
174188 boot_config -> ext_tcp_ip_feature_bit_map = SL_SI91X_CONFIG_FEAT_EXTENSION_VALID ;
175- boot_config -> ext_custom_feature_bit_map |=
176- SL_SI91X_EXT_FEAT_IEEE_80211W |
177- SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0 ;
189+ boot_config -> ext_custom_feature_bit_map |= SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0 ;
190+ if (!IS_ENABLED (CONFIG_WIFI_SILABS_SIWX91X )) {
191+ boot_config -> ext_custom_feature_bit_map |= SL_SI91X_EXT_FEAT_IEEE_80211W ;
192+ }
178193 if (IS_ENABLED (CONFIG_WIFI_SILABS_SIWX91X_ENHANCED_MAX_PSP )) {
179194 boot_config -> config_feature_bit_map = SL_SI91X_ENABLE_ENHANCED_MAX_PSP ;
180195 }
@@ -318,17 +333,29 @@ static int siwx91x_get_nwp_config(const struct device *dev,
318333 SL_SI91X_FEAT_SECURITY_PSK | SL_SI91X_FEAT_AGGREGATION |
319334 SL_SI91X_FEAT_HIDE_PSK_CREDENTIALS ,
320335 .tcp_ip_feature_bit_map = SL_SI91X_TCP_IP_FEAT_EXTENSION_VALID ,
321- .custom_feature_bit_map = SL_SI91X_CUSTOM_FEAT_EXTENSION_VALID |
322- SL_SI91X_CUSTOM_FEAT_ASYNC_CONNECTION_STATUS |
323- SL_SI91X_CUSTOM_FEAT_RTC_FROM_HOST ,
336+ .custom_feature_bit_map =
337+ IS_ENABLED (CONFIG_WIFI_SILABS_SIWX91X )
338+ ? (SL_SI91X_CUSTOM_FEAT_SOC_CLK_CONFIG_160MHZ |
339+ SL_SI91X_CUSTOM_FEAT_EXTENSION_VALID )
340+ : (SL_SI91X_CUSTOM_FEAT_EXTENSION_VALID |
341+ SL_SI91X_CUSTOM_FEAT_ASYNC_CONNECTION_STATUS |
342+ SL_SI91X_CUSTOM_FEAT_RTC_FROM_HOST ),
324343 .ext_custom_feature_bit_map =
325- SL_SI91X_EXT_FEAT_XTAL_CLK | SL_SI91X_EXT_FEAT_1P8V_SUPPORT |
326- SL_SI91X_EXT_FEAT_DISABLE_XTAL_CORRECTION |
327- SL_SI91X_EXT_FEAT_NWP_QSPI_80MHZ_CLK_ENABLE |
328- SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0 |
329- SL_SI91X_EXT_FEAT_FRONT_END_INTERNAL_SWITCH |
330- SL_SI91X_EXT_FEAT_XTAL_CLK ,
331- }
344+ IS_ENABLED (CONFIG_WIFI_SILABS_SIWX91X )
345+ ? SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0
346+ : (SL_SI91X_EXT_FEAT_XTAL_CLK |
347+ SL_SI91X_EXT_FEAT_1P8V_SUPPORT |
348+ SL_SI91X_EXT_FEAT_DISABLE_XTAL_CORRECTION |
349+ SL_SI91X_EXT_FEAT_NWP_QSPI_80MHZ_CLK_ENABLE |
350+ SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0 |
351+ SL_SI91X_EXT_FEAT_FRONT_END_INTERNAL_SWITCH |
352+ SL_SI91X_EXT_FEAT_XTAL_CLK ),
353+ },
354+ #if IS_ENABLED (CONFIG_WIFI_SILABS_SIWX91X )
355+ .ta_pool = {.tx_ratio_in_buffer_pool = TX_POOL_RATIO ,
356+ .rx_ratio_in_buffer_pool = RX_POOL_RATIO ,
357+ .global_ratio_in_buffer_pool = GLOBAL_POOL_RATIO }
358+ #endif
332359 };
333360
334361 sl_si91x_boot_configuration_t * boot_config = & default_config .boot_config ;
0 commit comments