Configuration Feature Bitmap#

This section provides a reference to the configuration feature bitmap in the boot configuration feature bitmaps.

Note

  • Bits 24 -31 are reserved

Macros#

#define

Selects the GPIO for wakeup indication to the host.

#define

Enables Dynamic Voltage Selection (DVS) Configuration 1.

#define

Enables Dynamic Voltage Selection (DVS) Configuration 2.

#define

Enables Dynamic Voltage Selection (DVS) Configuration 3.

#define

Enables Dynamic Voltage Selection (DVS) Configuration 4.

#define

Configures External PMU good time to 100 µs.

#define

Configures External PMU good time to 200 µs.

#define

Configures External PMU good time to 300 µs.

#define

Configures External PMU good time to 400 µs.

#define

Configures External PMU good time to 500 µs.

#define

Configures External PMU good time to 600 µs.

#define
SL_SI91X_EXTERNAL_PMU_GOOD_TIME_700us (BIT(6) | BIT(7) | BIT(8))

Configures External PMU good time to 700 µs.

#define

Configures External PMU good time to 800 µs.

#define

Configures External PMU good time to 900 µs.

#define

Configures External PMU good time to 1000 µs.

#define
SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1100us (BIT(6) | BIT(7) | BIT(9))

Configures External PMU good time to 1100 µs.

#define

Configures External PMU good time to 1200 µs.

#define
SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1300us (BIT(6) | BIT(8) | BIT(9))

Configures External PMU good time to 1300 µs.

#define
SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1400us (BIT(7) | BIT(8) | BIT(9))

Configures External PMU good time to 1400 µs.

#define
SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1500us (BIT(6) | BIT(7) | BIT(8) | BIT(9))

Configures External PMU good time to 1500 µs.

#define

Enables selection of external LDO voltage.

#define

Selects the external LDO voltage.

#define

Enables TLS version 1.0 for enterprise security.

#define

Enables TLS version 1.2 for enterprise security.

#define

Configures dynamic switching between STA and AP modes.

#define

Selects ULP_GPIO_9 to enable firmware debug prints.

#define

Disables MCS-5, 6, and 7 data rates.

#define

Disables Short Guard Interval (Short-GI).

#define

Enable PTA 3-Wire feature.

#define

Option to choose PTA 3-Wire configuration.

#define

Configures XTAL good time to 1000 µs.

#define

Configures XTAL good time to 2000 µs.

#define

Configures XTAL good time to 3000 µs.

#define
SL_SI91X_XTAL_GOODTIME_600us (BIT(24) | BIT(25))

Configures XTAL good time to 600 µs.

#define

Enables Enhanced Max PSP.

#define

Enables BBP Test Pins.

Macro Definition Documentation#

SL_SI91X_FEAT_SLEEP_GPIO_SEL_BITMAP#

#define SL_SI91X_FEAT_SLEEP_GPIO_SEL_BITMAP
Value:
BIT(0)

Selects the GPIO for wakeup indication to the host.

When this bit is disabled, UULP_GPIO_3 is used as the wakeup indication. When enabled, UULP_GPIO_0 is used instead.

Note

  • Bit 1 is reserved and should not be used.


Definition at line 1622 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DVS_SEL_CONFIG_1#

#define SL_SI91X_FEAT_DVS_SEL_CONFIG_1
Value:
BIT(2)

Enables Dynamic Voltage Selection (DVS) Configuration 1.

This bit configures the dynamic voltage selection for the system.

Note

  • Not applicable for SI917.


Definition at line 1631 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DVS_SEL_CONFIG_2#

#define SL_SI91X_FEAT_DVS_SEL_CONFIG_2
Value:
BIT(3)

Enables Dynamic Voltage Selection (DVS) Configuration 2.

This bit configures the dynamic voltage selection for the system.

Note

  • Not applicable for SI917.


Definition at line 1640 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DVS_SEL_CONFIG_3#

#define SL_SI91X_FEAT_DVS_SEL_CONFIG_3
Value:
BIT(4)

Enables Dynamic Voltage Selection (DVS) Configuration 3.

This bit configures the dynamic voltage selection for the system.

Note

  • Not applicable for SI917.


Definition at line 1649 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DVS_SEL_CONFIG_4#

#define SL_SI91X_FEAT_DVS_SEL_CONFIG_4
Value:
BIT(5)

Enables Dynamic Voltage Selection (DVS) Configuration 4.

This bit configures the dynamic voltage selection for the system.

Note

  • Not applicable for SI917.


Definition at line 1658 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_100us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_100us
Value:
BIT(6)

Configures External PMU good time to 100 µs.

This bit selects an external PMU good time of 100 microseconds.

Note

  • These bits are used to select external PMU good time. 1 to 15 means 100 usec to 1500 usec (in 100 usec granularity).

  • Not applicable for SI917.


Definition at line 1668 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_200us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_200us
Value:
BIT(7)

Configures External PMU good time to 200 µs.

This bit selects an external PMU good time of 200 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1677 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_300us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_300us
Value:
(BIT(6) | BIT(7))

Configures External PMU good time to 300 µs.

This is a combination of 100 µs and 200 µs good times, totaling 300 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1686 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_400us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_400us
Value:
BIT(8)

Configures External PMU good time to 400 µs.

This bit selects an external PMU good time of 400 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1695 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_500us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_500us
Value:
(BIT(6) | BIT(8))

Configures External PMU good time to 500 µs.

This is a combination of 100 µs and 400 µs good times, totaling 500 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1704 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_600us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_600us
Value:
(BIT(7) | BIT(8))

Configures External PMU good time to 600 µs.

This is a combination of 200 µs and 400 µs good times, totaling 600 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1713 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_700us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_700us
Value:
(BIT(6) | BIT(7) | BIT(8))

Configures External PMU good time to 700 µs.

This is a combination of 100 µs, 200 µs, and 400 µs good times, totaling 700 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1722 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_800us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_800us
Value:
BIT(9)

Configures External PMU good time to 800 µs.

This bit selects an external PMU good time of 800 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1731 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_900us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_900us
Value:
(BIT(6) | BIT(9))

Configures External PMU good time to 900 µs.

This is a combination of 100 µs and 800 µs good times, totaling 900 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1740 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1000us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1000us
Value:
(BIT(7) | BIT(9))

Configures External PMU good time to 1000 µs.

This is a combination of 200 µs and 800 µs good times, totaling 1000 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1749 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1100us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1100us
Value:
(BIT(6) | BIT(7) | BIT(9))

Configures External PMU good time to 1100 µs.

This is a combination of 100 µs, 200 µs, and 800 µs good times, totaling 1100 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1758 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1200us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1200us
Value:
(BIT(8) | BIT(9))

Configures External PMU good time to 1200 µs.

This is a combination of 400 µs and 800 µs good times, totaling 1200 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1767 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1300us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1300us
Value:
(BIT(6) | BIT(8) | BIT(9))

Configures External PMU good time to 1300 µs.

This is a combination of 100 µs, 400 µs, and 800 µs good times, totaling 1300 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1776 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1400us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1400us
Value:
(BIT(7) | BIT(8) | BIT(9))

Configures External PMU good time to 1400 µs.

This is a combination of 200 µs, 400 µs, and 800 µs good times, totaling 1400 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1785 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1500us#

#define SL_SI91X_EXTERNAL_PMU_GOOD_TIME_1500us
Value:
(BIT(6) | BIT(7) | BIT(8) | BIT(9))

Configures External PMU good time to 1500 µs.

This is a combination of 100 µs, 200 µs, 400 µs, and 800 µs good times, totaling 1500 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1794 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_EXTERNAL_LDO_SEL#

#define SL_SI91X_FEAT_EXTERNAL_LDO_SEL
Value:
BIT(10)

Enables selection of external LDO voltage.

When enabled, this bit allows the selection between using an external LDO or an internal PMU. If both the external LDO selection and the LDO voltage are configured, the system uses the external LDO. If this bit is cleared, the internal PMU is used.

Note

  • These bits are used for External LDO selection External PMU:

    1. Incase of External PMU, User has to set EXTERNAL_PMU_GOOD_TIME_CONFIGURATION value to external PMU good time, If this is zero then it indicates using Internal PMU.

    2. Incase of External PMU 1.0 or 1.05 V, User has to set both the bits config_feature_bit_map[11] and config_feature_bit_map[10].

  • Not applicable for SI917.


Definition at line 1809 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_EXTERNAL_LDO_VOL#

#define SL_SI91X_FEAT_EXTERNAL_LDO_VOL
Value:
BIT(11)

Selects the external LDO voltage.

This field is relevant only if SL_SI91X_FEAT_EXTERNAL_LDO_SEL is enabled (that is, BIT(10) is set). If this bit is set, the LDO voltage is configured to 1.0 V; if cleared, it is set to 1.1 V.

Note

  • Not applicable for SI917.


Definition at line 1819 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_EAP_TLS_V1P0#

#define SL_SI91X_FEAT_EAP_TLS_V1P0
Value:
BIT(14)

Enables TLS version 1.0 for enterprise security.

Note

  • Bit 12 -13 are reserved


Definition at line 1827 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_EAP_TLS_V1P2#

#define SL_SI91X_FEAT_EAP_TLS_V1P2
Value:
BIT(15)

Enables TLS version 1.2 for enterprise security.


Definition at line 1833 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_CONC_STA_AP_DYN_SWITCH_SEL#

#define SL_SI91X_FEAT_CONC_STA_AP_DYN_SWITCH_SEL
Value:
BIT(17)

Configures dynamic switching between STA and AP modes.

This bit enables or disables dynamic switching between Station (STA) and Access Point (AP) modes. When enabled, the system can dynamically switch between STA and AP modes based on operational requirements or network conditions. This feature is useful for applications requiring flexible mode changes to optimize performance or power consumption.

Note

  • Enabling this feature allows the system to switch modes dynamically, which can improve adaptability in varying network scenarios. Make sure to configure the system appropriately for the desired switching behavior.

  • Bit 16 is reserved.


Definition at line 1846 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_ULP_GPIO9_FOR_UART2_TX#

#define SL_SI91X_ULP_GPIO9_FOR_UART2_TX
Value:
BIT(18)

Selects ULP_GPIO_9 to enable firmware debug prints.

If this bit is not set, the default UART2-TX pin GPIO_6 is used.

Note

  • SI917 supports prints only on ULP_GPIO_9.


Definition at line 1855 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DISABLE_MCS_5_6_7_DATARATES#

#define SL_SI91X_FEAT_DISABLE_MCS_5_6_7_DATARATES
Value:
BIT(19)

Disables MCS-5, 6, and 7 data rates.

This bit is used to disable the higher MCS data rates (5, 6, and 7) for reduced data rate requirements.


Definition at line 1862 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_FEAT_DISABLE_SHORT_GI#

#define SL_SI91X_FEAT_DISABLE_SHORT_GI
Value:
BIT(20)

Disables Short Guard Interval (Short-GI).

This bit disables the use of Short-GI, which may affect the timing and performance of the system.


Definition at line 1869 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_PTA_3WIRE_EN#

#define SL_SI91X_PTA_3WIRE_EN
Value:
BIT(21)

Enable PTA 3-Wire feature.

It has three different configurations, which can be chosen in SL_SI91X_PTA_3WIRE_CONFIG_SEL(config_sel)).


Definition at line 1876 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_PTA_3WIRE_CONFIG_SEL#

#define SL_SI91X_PTA_3WIRE_CONFIG_SEL
Value:
(config_sel)

Option to choose PTA 3-Wire configuration.

It has three different configurations, which can be chosen by enabling or disabling the Bit [23:22]. Each of these configurations changes the behavior of how GRANT is asserted in response to REQUEST and PRIORITY signals.

Configuration

BIT[23]

BIT[22]

Reserved

0

0

config1

0

1

config2

1

0

config3

1

1

Configuration

Description

Configuration 1

PTA Main would aggressively assert GRANT if the REQUEST is asserted irrespective of PRIORITY being asserted or not. This would mean any ongoing Wi-Fi transmission would be aborted, and GRANT would be provided to the PTA secondary.

Configuration 2

PTA Main would aggressively assert GRANT if the REQUEST is asserted irrespective of PRIORITY being asserted or not, with only one exception of an ongoing ACK/Block ACK Transmission in response to a Wi-Fi reception. If there is an ongoing ACK/Block ACK transmission in response to a Wi-Fi Reception, PTA MAIN would GRANT access if PRIORITY is asserted along with REQUEST.

Configuration 3

If there is an ongoing Wi-Fi Transmission (Including ACK/BLOCK ACK), then PTA MAIN would not assert GRANT to an asserted REQUEST. However, if PRIORITY and REQUEST are asserted, PTA MAIN would assert GRANT.

The below configuration describes the pin connections between the EFR32MG21 and the SiW91x device that involves the GRANT, REQUEST, and PRIORITY signal. 0 kept reserved for future. 3-Wire used at DUT are GPIO_7(Grant pin driven by DUT), ULP_GPIO_1(Request i/p pin for DUT) and ULP_GPIO_6(Priority i/p pin for DUT).

Pin Description

GPIO

4338A Radio board

4002A EFR board

Request

ULP_GPIO_1

WSTK_P16

Pin7

Priority

ULP_GPIO_6

EXP_HEADER16

Pin11

Grant

GPIO_7

WSTK_P20

Pin9


Definition at line 1906 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_XTAL_GOODTIME_1000us#

#define SL_SI91X_XTAL_GOODTIME_1000us
Value:
0

Configures XTAL good time to 1000 µs.

This bit selects a default XTAL good time of 1000 microseconds. This setting is applicable from Release 2.3.0 onward. Prior releases have reserved config_feature_bitmap[31:17]. This setting is intended for chip users and not applicable for device users.

Note

  • Not applicable for SI917.


Definition at line 1916 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_XTAL_GOODTIME_2000us#

#define SL_SI91X_XTAL_GOODTIME_2000us
Value:
BIT(24)

Configures XTAL good time to 2000 µs.

This bit selects an XTAL good time of 2000 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1925 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_XTAL_GOODTIME_3000us#

#define SL_SI91X_XTAL_GOODTIME_3000us
Value:
BIT(25)

Configures XTAL good time to 3000 µs.

This bit selects an XTAL good time of 3000 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1934 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_XTAL_GOODTIME_600us#

#define SL_SI91X_XTAL_GOODTIME_600us
Value:
(BIT(24) | BIT(25))

Configures XTAL good time to 600 µs.

This is a combination of 2000 µs and 3000 µs XTAL good times, totaling 600 microseconds.

Note

  • Not applicable for SI917.


Definition at line 1943 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_ENABLE_ENHANCED_MAX_PSP#

#define SL_SI91X_ENABLE_ENHANCED_MAX_PSP
Value:
BIT(26)

Enables Enhanced Max PSP.

Set this bit to enable the Enhanced Max PSP feature for improved performance.


Definition at line 1950 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h

SL_SI91X_ENABLE_DEBUG_BBP_TEST_PINS#

#define SL_SI91X_ENABLE_DEBUG_BBP_TEST_PINS
Value:
BIT(27)

Enables BBP Test Pins.

Set this bit to enable the use of BBP test pins for debugging and testing purposes.

Note

  • Bits 28 - 31 are reserved for future use.


Definition at line 1959 of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h