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#
Selects the GPIO for wakeup indication to the host.
Enables Dynamic Voltage Selection (DVS) Configuration 1.
Enables Dynamic Voltage Selection (DVS) Configuration 2.
Enables Dynamic Voltage Selection (DVS) Configuration 3.
Enables Dynamic Voltage Selection (DVS) Configuration 4.
Configures External PMU good time to 100 µs.
Configures External PMU good time to 200 µs.
Configures External PMU good time to 300 µs.
Configures External PMU good time to 400 µs.
Configures External PMU good time to 500 µs.
Configures External PMU good time to 600 µs.
Configures External PMU good time to 700 µs.
Configures External PMU good time to 800 µs.
Configures External PMU good time to 900 µs.
Configures External PMU good time to 1000 µs.
Configures External PMU good time to 1100 µs.
Configures External PMU good time to 1200 µs.
Configures External PMU good time to 1300 µs.
Configures External PMU good time to 1400 µs.
Configures External PMU good time to 1500 µs.
Enables selection of external LDO voltage.
Selects the external LDO voltage.
Enables TLS version 1.0 for enterprise security.
Enables TLS version 1.2 for enterprise security.
Configures dynamic switching between STA and AP modes.
Selects ULP_GPIO_9 to enable firmware debug prints.
Disables MCS-5, 6, and 7 data rates.
Disables Short Guard Interval (Short-GI).
Enable PTA 3-Wire feature.
Option to choose PTA 3-Wire configuration.
Configures XTAL good time to 1000 µs.
Configures XTAL good time to 2000 µs.
Configures XTAL good time to 3000 µs.
Configures XTAL good time to 600 µs.
Enables Enhanced Max PSP.
Enables BBP Test Pins.
Macro Definition Documentation#
SL_SI91X_FEAT_SLEEP_GPIO_SEL_BITMAP#
#define SL_SI91X_FEAT_SLEEP_GPIO_SEL_BITMAPValue:
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.
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_1Value:
BIT(2)
Enables Dynamic Voltage Selection (DVS) Configuration 1.
This bit configures the dynamic voltage selection for the system.
Note
Not applicable for SI917.
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_2Value:
BIT(3)
Enables Dynamic Voltage Selection (DVS) Configuration 2.
This bit configures the dynamic voltage selection for the system.
Note
Not applicable for SI917.
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_3Value:
BIT(4)
Enables Dynamic Voltage Selection (DVS) Configuration 3.
This bit configures the dynamic voltage selection for the system.
Note
Not applicable for SI917.
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_4Value:
BIT(5)
Enables Dynamic Voltage Selection (DVS) Configuration 4.
This bit configures the dynamic voltage selection for the system.
Note
Not applicable for SI917.
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_100usValue:
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.
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_200usValue:
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.
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_300usValue:
(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.
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_400usValue:
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.
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_500usValue:
(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.
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_600usValue:
(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.
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_700usValue:
(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.
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_800usValue:
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.
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_900usValue:
(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.
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_1000usValue:
(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.
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_1100usValue:
(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.
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_1200usValue:
(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.
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_1300usValue:
(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.
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_1400usValue:
(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.
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_1500usValue:
(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.
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_SELValue:
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:
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.
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.
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_VOLValue:
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.
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_V1P0Value:
BIT(14)
Enables TLS version 1.0 for enterprise security.
Note
Bit 12 -13 are reserved
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_V1P2Value:
BIT(15)
Enables TLS version 1.2 for enterprise security.
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_SELValue:
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.
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_TXValue:
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.
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_DATARATESValue:
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.
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_GIValue:
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.
1869
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h
SL_SI91X_PTA_3WIRE_EN#
#define SL_SI91X_PTA_3WIRE_ENValue:
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)).
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_SELValue:
(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 |
1906
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h
SL_SI91X_XTAL_GOODTIME_1000us#
#define SL_SI91X_XTAL_GOODTIME_1000usValue:
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.
1916
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h
SL_SI91X_XTAL_GOODTIME_2000us#
#define SL_SI91X_XTAL_GOODTIME_2000usValue:
BIT(24)
Configures XTAL good time to 2000 µs.
This bit selects an XTAL good time of 2000 microseconds.
Note
Not applicable for SI917.
1925
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h
SL_SI91X_XTAL_GOODTIME_3000us#
#define SL_SI91X_XTAL_GOODTIME_3000usValue:
BIT(25)
Configures XTAL good time to 3000 µs.
This bit selects an XTAL good time of 3000 microseconds.
Note
Not applicable for SI917.
1934
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h
SL_SI91X_XTAL_GOODTIME_600us#
#define SL_SI91X_XTAL_GOODTIME_600usValue:
(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.
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_PSPValue:
BIT(26)
Enables Enhanced Max PSP.
Set this bit to enable the Enhanced Max PSP feature for improved performance.
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_PINSValue:
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.
1959
of file components/device/silabs/si91x/wireless/inc/sl_wifi_device.h