Skip to content

Commit

Permalink
Added required changes for enabling brd4343a
Browse files Browse the repository at this point in the history
  • Loading branch information
arun-silabs committed Oct 17, 2024
1 parent 22e9783 commit 08e88e1
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 7 deletions.
1 change: 1 addition & 0 deletions .github/workflows/examples-efr32.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ jobs:
--enable-flashbundle \
--target efr32-brd2605a-light-skip-rps-generation \
--target efr32-brd4338a-lock-skip-rps-generation \
--target efr32-brd4343a-lock-skip-rps-generation \
build \
--copy-artifacts-to out/artifacts \
"
Expand Down
9 changes: 8 additions & 1 deletion examples/platform/silabs/SiWx917/SiWx917/sl_wlan_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,18 @@
//! Disable feature
#define RSI_DISABLE 0

// Temmporary work-around for wifi-init failure in ACX modules with WiseConnect v3.3.3. This can be removed after integrating with WiseConnect v3.4.0
#if (SL_SI91X_ACX_MODULE == 1)
#define REGION_CODE IGNORE_REGION
#else
#define REGION_CODE US
#endif

static const sl_wifi_device_configuration_t config = {
.boot_option = LOAD_NWP_FW,
.mac_address = NULL,
.band = SL_SI91X_WIFI_BAND_2_4GHZ,
.region_code = US,
.region_code = REGION_CODE,
.boot_config = { .oper_mode = SL_SI91X_CLIENT_MODE,
.coex_mode = SL_SI91X_WLAN_BLE_MODE,
.feature_bit_map =
Expand Down
1 change: 1 addition & 0 deletions scripts/build/build/targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ def BuildEfr32Target():
TargetPart('brd2703a', board=Efr32Board.BRD2703A),
TargetPart('brd4338a', board=Efr32Board.BRD4338A, enable_wifi=True, enable_917_soc=True),
TargetPart('brd2605a', board=Efr32Board.BRD2605A, enable_wifi=True, enable_917_soc=True),
TargetPart('brd4343a', board=Efr32Board.BRD4343A, enable_wifi=True, enable_917_soc=True),
])

# apps
Expand Down
3 changes: 3 additions & 0 deletions scripts/build/builders/efr32.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ class Efr32Board(Enum):
BRD4338A = 11
BRD2703A = 12
BRD2605A = 13
BRD4343A = 14

def GnArgName(self):
if self == Efr32Board.BRD2704B:
Expand Down Expand Up @@ -140,6 +141,8 @@ def GnArgName(self):
return 'BRD2703A'
elif self == Efr32Board.BRD2605A:
return 'BRD2605A'
elif self == Efr32Board.BRD4343A:
return 'BRD4343A'
else:
raise Exception('Unknown board #: %r' % self)

Expand Down
2 changes: 1 addition & 1 deletion scripts/build/testdata/all_targets_linux_x64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ bouffalolab-{bl602dk,bl704ldk,bl706dk,bl602-night-light,bl706-night-light,bl602-
cc32xx-{lock,air-purifier}
ti-cc13x4_26x4-{lighting,lock,pump,pump-controller}[-mtd][-ftd]
cyw30739-{cyw30739b2_p5_evk_01,cyw30739b2_p5_evk_02,cyw30739b2_p5_evk_03,cyw930739m2evb_01,cyw930739m2evb_02}-{light,light-switch,lock,thermostat}
efr32-{brd2704b,brd4316a,brd4317a,brd4318a,brd4319a,brd4186a,brd4187a,brd2601b,brd4187c,brd4186c,brd2703a,brd4338a,brd2605a}-{window-covering,switch,unit-test,light,lock,thermostat,pump,air-quality-sensor-app}[-rpc][-with-ota-requestor][-icd][-low-power][-shell][-no-logging][-openthread-mtd][-heap-monitoring][-no-openthread-cli][-show-qr-code][-wifi][-rs9116][-wf200][-siwx917][-ipv4][-additional-data-advertising][-use-ot-lib][-use-ot-coap-lib][-no-version][-skip-rps-generation]
efr32-{brd2704b,brd4316a,brd4317a,brd4318a,brd4319a,brd4186a,brd4187a,brd2601b,brd4187c,brd4186c,brd2703a,brd4338a,brd2605a,brd4343a}-{window-covering,switch,unit-test,light,lock,thermostat,pump,air-quality-sensor-app}[-rpc][-with-ota-requestor][-icd][-low-power][-shell][-no-logging][-openthread-mtd][-heap-monitoring][-no-openthread-cli][-show-qr-code][-wifi][-rs9116][-wf200][-siwx917][-ipv4][-additional-data-advertising][-use-ot-lib][-use-ot-coap-lib][-no-version][-skip-rps-generation]
esp32-{m5stack,c3devkit,devkitc,qemu}-{all-clusters,all-clusters-minimal,energy-management,ota-provider,ota-requestor,shell,light,lock,bridge,temperature-measurement,ota-requestor,tests}[-rpc][-ipv6only][-tracing][-data-model-disabled][-data-model-enabled]
genio-lighting-app
linux-fake-tests[-mbedtls][-boringssl][-asan][-tsan][-ubsan][-libfuzzer][-ossfuzz][-pw-fuzztest][-coverage][-dmalloc][-clang]
Expand Down
2 changes: 1 addition & 1 deletion scripts/examples/gn_silabs_example.sh
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ else
fi

# 917 exception. TODO find a more generic way
if [ "$SILABS_BOARD" == "BRD4338A" ] || [ "$SILABS_BOARD" == "BRD2605A" ]; then
if [ "$SILABS_BOARD" == "BRD4338A" ] || [ "$SILABS_BOARD" == "BRD2605A" ] || [ "$SILABS_BOARD" == "BRD4343A" ]; then
echo "Compiling for 917 WiFi SOC"
USE_WIFI=true
fi
Expand Down
11 changes: 9 additions & 2 deletions src/platform/silabs/rs911x/rsi_ble_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -267,15 +267,22 @@
(SL_SI91X_TCP_IP_FEAT_DHCPV4_CLIENT) //! TCP/IP feature select bitmap for selecting TCP/IP features
#define RSI_CUSTOM_FEATURE_BIT_MAP SL_SI91X_CUSTOM_FEAT_EXTENTION_VALID //! To set custom feature select bit map

// Enable front-end internal switch control for ACX module boards
#if (SL_SI91X_ACX_MODULE == 1)
#define FRONT_END_SWITCH_CTRL SL_SI91X_EXT_FEAT_FRONT_END_INTERNAL_SWITCH
#else
#define FRONT_END_SWITCH_CTRL SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0
#endif

#ifdef SLI_SI917
#if WIFI_ENABLE_SECURITY_WPA3_TRANSITION // Adding Support for WPA3 transition
#define RSI_EXT_CUSTOM_FEATURE_BIT_MAP \
(SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(1) | SL_SI91X_RAM_LEVEL_NWP_BASIC_MCU_ADV | \
SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0 | SL_SI91X_EXT_FEAT_IEEE_80211W)
FRONT_END_SWITCH_CTRL | SL_SI91X_EXT_FEAT_IEEE_80211W)
#else
#define RSI_EXT_CUSTOM_FEATURE_BIT_MAP \
(SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(1) | SL_SI91X_RAM_LEVEL_NWP_BASIC_MCU_ADV | \
SL_SI91X_EXT_FEAT_FRONT_END_SWITCH_PINS_ULP_GPIO_4_5_0)
FRONT_END_SWITCH_CTRL)
#endif /* WIFI_ENABLE_SECURITY_WPA3_TRANSITION */
#else // EXP_BOARD
#define RSI_EXT_CUSTOM_FEATURE_BIT_MAP (SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(2))
Expand Down
2 changes: 1 addition & 1 deletion third_party/silabs/matter_support
Submodule matter_support updated 87 files
+3 −5 matter/si91x/siwx917/BRD2605A/autogen/sl_component_catalog.h
+3 −4 matter/si91x/siwx917/BRD2605A/autogen/sl_event_handler.c
+0 −3 matter/si91x/siwx917/BRD2605A/autogen/sl_si91x_button_instances.c
+3 −0 matter/si91x/siwx917/BRD2605A/autogen/sl_si91x_button_instances.h
+94 −0 matter/si91x/siwx917/BRD2605A/autogen/sl_si91x_rgb_led_instances.c
+15 −12 matter/si91x/siwx917/BRD2605A/autogen/sl_si91x_rgb_led_instances.h
+124 −380 matter/si91x/siwx917/BRD2605A/config/RTE_Device_917.h
+11 −2 matter/si91x/siwx917/BRD2605A/config/pin_config.h
+20 −6 matter/si91x/siwx917/BRD2605A/config/sl_si91x_button_init_btn0_config.h
+21 −6 matter/si91x/siwx917/BRD2605A/config/sl_si91x_button_init_btn1_config.h
+5 −0 matter/si91x/siwx917/BRD2605A/config/sl_si91x_button_pin_config.h
+47 −0 matter/si91x/siwx917/BRD2605A/config/sl_si91x_rgb_led_config.h
+0 −104 matter/si91x/siwx917/BRD2605A/config/sl_si91x_ulp_uart_config.h
+0 −2 matter/si91x/siwx917/BRD4338A/autogen/sl_si91x_button_instances.c
+2 −0 matter/si91x/siwx917/BRD4338A/autogen/sl_si91x_button_instances.h
+10 −1 matter/si91x/siwx917/BRD4338A/autogen/sl_si91x_led_instances.h
+6 −1 matter/si91x/siwx917/BRD4338A/autogen/sl_si91x_power_manager_wakeup_handler.c
+3 −4 matter/si91x/siwx917/BRD4338A/autogen/sl_si91x_power_manager_wakeup_handler.h
+105 −362 matter/si91x/siwx917/BRD4338A/config/RTE_Device_917.h
+20 −6 matter/si91x/siwx917/BRD4338A/config/sl_si91x_button_init_btn0_config.h
+21 −6 matter/si91x/siwx917/BRD4338A/config/sl_si91x_button_init_btn1_config.h
+5 −0 matter/si91x/siwx917/BRD4338A/config/sl_si91x_button_pin_config.h
+4 −10 matter/si91x/siwx917/BRD4338A/config/sl_si91x_led_config.h
+28 −0 matter/si91x/siwx917/BRD4338A/config/sl_si91x_led_init_led0_config.h
+28 −0 matter/si91x/siwx917/BRD4338A/config/sl_si91x_led_init_led1_config.h
+2 −2 matter/si91x/siwx917/BRD4338A/config/sl_si91x_power_manager_wakeup_source_config.h
+0 −104 matter/si91x/siwx917/BRD4338A/config/sl_si91x_ulp_uart_config.h
+0 −3 matter/si91x/siwx917/BRD4342A/autogen/sl_si91x_button_instances.c
+3 −0 matter/si91x/siwx917/BRD4342A/autogen/sl_si91x_button_instances.h
+10 −1 matter/si91x/siwx917/BRD4342A/autogen/sl_si91x_led_instances.h
+106 −363 matter/si91x/siwx917/BRD4342A/config/RTE_Device_917.h
+20 −6 matter/si91x/siwx917/BRD4342A/config/sl_si91x_button_init_btn0_config.h
+21 −6 matter/si91x/siwx917/BRD4342A/config/sl_si91x_button_init_btn1_config.h
+5 −0 matter/si91x/siwx917/BRD4342A/config/sl_si91x_button_pin_config.h
+4 −10 matter/si91x/siwx917/BRD4342A/config/sl_si91x_led_config.h
+28 −0 matter/si91x/siwx917/BRD4342A/config/sl_si91x_led_init_led0_config.h
+28 −0 matter/si91x/siwx917/BRD4342A/config/sl_si91x_led_init_led1_config.h
+0 −104 matter/si91x/siwx917/BRD4342A/config/sl_si91x_ulp_uart_config.h
+33 −0 matter/si91x/siwx917/BRD4343A/autogen/RTE_Components.h
+35 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_component_catalog.h
+70 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_event_handler.c
+12 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_event_handler.h
+27 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_iostream_handles.c
+20 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_iostream_handles.h
+16 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_iostream_init_instances.h
+57 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_button_instances.c
+45 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_button_instances.h
+12 −6 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_led_instances.c
+13 −3 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_led_instances.h
+96 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_power_manager_handler.c
+51 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_power_manager_init.h
+42 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_power_manager_wakeup_handler.c
+43 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_si91x_power_manager_wakeup_handler.h
+49 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_ulp_timer_init.c
+53 −0 matter/si91x/siwx917/BRD4343A/autogen/sl_ulp_timer_instances.h
+49 −0 matter/si91x/siwx917/BRD4343A/autogen/sli_mbedtls_config_autogen.h
+51 −0 matter/si91x/siwx917/BRD4343A/autogen/sli_mbedtls_config_transform_autogen.h
+16 −0 matter/si91x/siwx917/BRD4343A/autogen/sli_psa_builtin_config_autogen.h
+32 −0 matter/si91x/siwx917/BRD4343A/autogen/sli_psa_config_autogen.h
+4,557 −0 matter/si91x/siwx917/BRD4343A/config/RTE_Device_917.h
+428 −0 matter/si91x/siwx917/BRD4343A/config/SEGGER_RTT_Conf.h
+13 −11 matter/si91x/siwx917/BRD4343A/config/emlib_core_debug_config.h
+57 −0 matter/si91x/siwx917/BRD4343A/config/glib_config.h
+62 −0 matter/si91x/siwx917/BRD4343A/config/nvm3_default_config.h
+140 −0 matter/si91x/siwx917/BRD4343A/config/pin_config.h
+130 −0 matter/si91x/siwx917/BRD4343A/config/psa_crypto_config.h
+23 −0 matter/si91x/siwx917/BRD4343A/config/sl_board_configuration.h
+22 −0 matter/si91x/siwx917/BRD4343A/config/sl_board_control.h
+11 −10 matter/si91x/siwx917/BRD4343A/config/sl_core_config.h
+118 −0 matter/si91x/siwx917/BRD4343A/config/sl_mbedtls_config.h
+70 −0 matter/si91x/siwx917/BRD4343A/config/sl_mbedtls_device_config.h
+49 −0 matter/si91x/siwx917/BRD4343A/config/sl_memory_manager_config.h
+49 −0 matter/si91x/siwx917/BRD4343A/config/sl_memory_manager_region_config.h
+149 −0 matter/si91x/siwx917/BRD4343A/config/sl_net_default_values.h
+42 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_button_init_btn0_config.h
+43 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_button_init_btn1_config.h
+30 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_button_pin_config.h
+0 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_dma_config.h
+5 −11 matter/si91x/siwx917/BRD4343A/config/sl_si91x_led_config.h
+28 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_led_init_led0_config.h
+28 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_led_init_led1_config.h
+358 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_power_manager_config_3.h
+104 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_power_manager_wakeup_source_config.h
+35 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_stack_size_config.h
+84 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_ulp_timer_common_config.h
+67 −0 matter/si91x/siwx917/BRD4343A/config/sl_si91x_ulp_timer_init_timer0_config.h
+82 −0 matter/si91x/siwx917/BRD4343A/config/sl_sleeptimer_config.h
2 changes: 1 addition & 1 deletion third_party/silabs/silabs_board.gni
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ if (silabs_board == "") {
assert(silabs_board != "", "silabs_board must be specified")

# Si917 WIFI board ----------
if (silabs_board == "BRD4338A" || silabs_board == "BRD2605A") {
if (silabs_board == "BRD4338A" || silabs_board == "BRD2605A" || silabs_board == "BRD4343A") {
silabs_family = "SiWx917-common"
silabs_mcu = "SiWG917M111MGTBA"
wifi_soc = true
Expand Down

0 comments on commit 08e88e1

Please sign in to comment.