diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml
index c44b24f02f49bd..7dab3f0886f09e 100644
--- a/.github/workflows/examples-efr32.yaml
+++ b/.github/workflows/examples-efr32.yaml
@@ -33,7 +33,7 @@ jobs:
name: EFR32
env:
- SILABS_BOARD: BRD4161A
+ SILABS_BOARD: BRD4187C
BUILD_TYPE: gn_efr32
runs-on: ubuntu-latest
diff --git a/.github/workflows/release_artifacts.yaml b/.github/workflows/release_artifacts.yaml
index 178bc028ea6b46..55041773007925 100644
--- a/.github/workflows/release_artifacts.yaml
+++ b/.github/workflows/release_artifacts.yaml
@@ -58,8 +58,8 @@ jobs:
efr32:
name: EFR32
env:
- SILABS_BOARD: BRD4161A
- BUILD_DIRECTORY: out/lock_app_debug/BRD4161A
+ SILABS_BOARD: BRD4187C
+ BUILD_DIRECTORY: out/lock_app_debug/BRD4187C
runs-on: ubuntu-latest
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 6e9983700a0df7..a0ae1b95fe4730 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -557,54 +557,18 @@
"bouffalolab-xt-zb6-devkit-light",
"bouffalolab-xt-zb6-devkit-light-rpc-115200",
"bouffalolab-bl706-night-light-light",
- "efr32-brd4161a-light",
- "efr32-brd4163a-light",
- "efr32-brd4164a-light",
- "efr32-brd4166a-light",
- "efr32-brd4170a-light",
- "efr32-brd4186a-light",
- "efr32-brd4187a-light",
- "efr32-brd4304a-light",
- "efr32-brd4161a-light-rpc",
- "efr32-brd4163a-light-rpc",
- "efr32-brd4164a-light-rpc",
- "efr32-brd4166a-light-rpc",
- "efr32-brd4170a-light-rpc",
- "efr32-brd4186a-light-rpc",
- "efr32-brd4187a-light-rpc",
- "efr32-brd4304a-light-rpc",
- "efr32-brd4161a-lock",
- "efr32-brd4163a-lock",
- "efr32-brd4164a-lock",
- "efr32-brd4166a-lock",
- "efr32-brd4170a-lock",
- "efr32-brd4186a-lock",
- "efr32-brd4187a-lock",
- "efr32-brd4304a-lock",
- "efr32-brd4161a-unit-test",
- "efr32-brd4163a-unit-test",
- "efr32-brd4164a-unit-test",
- "efr32-brd4166a-unit-test",
- "efr32-brd4170a-unit-test",
- "efr32-brd4186a-unit-test",
- "efr32-brd4187a-unit-test",
- "efr32-brd4304a-unit-test",
- "efr32-brd4161a-switch",
- "efr32-brd4163a-switch",
- "efr32-brd4164a-switch",
- "efr32-brd4166a-switch",
- "efr32-brd4170a-switch",
- "efr32-brd4186a-switch",
- "efr32-brd4187a-switch",
- "efr32-brd4304a-switch",
- "efr32-brd4161a-window-covering",
- "efr32-brd4163a-window-covering",
- "efr32-brd4164a-window-covering",
- "efr32-brd4166a-window-covering",
- "efr32-brd4170a-window-covering",
- "efr32-brd4186a-window-covering",
- "efr32-brd4187a-window-covering",
- "efr32-brd4304a-window-covering",
+ "efr32-brd4186c-light",
+ "efr32-brd4186c-light-rpc",
+ "efr32-brd4186c-lock",
+ "efr32-brd4186c-unit-test",
+ "efr32-brd4186c-switch",
+ "efr32-brd4186c-window-covering",
+ "efr32-brd4187c-light",
+ "efr32-brd4187c-light-rpc",
+ "efr32-brd4187c-lock",
+ "efr32-brd4187c-unit-test",
+ "efr32-brd4187c-switch",
+ "efr32-brd4187c-window-covering",
"efr32-brd4338a-light-wifi-917_soc-skip_rps_generation",
"esp32-c3devkit-all-clusters",
"esp32-devkitc-all-clusters",
diff --git a/examples/chef/sample_app_util/README.md b/examples/chef/sample_app_util/README.md
index 9e10419ff39cc0..fb687195ea617f 100644
--- a/examples/chef/sample_app_util/README.md
+++ b/examples/chef/sample_app_util/README.md
@@ -96,7 +96,7 @@ The list of platforms supported here (as of writing this) are:
```
m5stack
-brd4161a
+brd4187c
nrf52840dk
linux_x86
```
@@ -105,7 +105,7 @@ For example, here are some valid names:
```
m5stack_rootnode_humiditysensor_pv0comNKyT
-brd4161a_rootnode_humiditysensor_pv0comNKyT
+brd4187c_rootnode_humiditysensor_pv0comNKyT
nrf52840dk_rootnode_humiditysensor_pv0comNKyT
linux_x86_rootnode_humiditysensor_pv0comNKyT
```
diff --git a/examples/light-switch-app/silabs/README.md b/examples/light-switch-app/silabs/README.md
index 401e9b88b41fac..fe39610cbffe7e 100644
--- a/examples/light-switch-app/silabs/README.md
+++ b/examples/light-switch-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Light Switch Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -79,22 +79,6 @@ Silicon Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -212,17 +196,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
-
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
-
For MG24 use:
+ ```
$ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/lighting-app/silabs/README.md b/examples/lighting-app/silabs/README.md
index 08db63d9d3f0ea..606208a3872432 100644
--- a/examples/lighting-app/silabs/README.md
+++ b/examples/lighting-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Lighting Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -73,22 +73,6 @@ Silicon Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -202,13 +186,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
+ For MG24 use:
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ ```
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/lit-icd-app/silabs/README.md b/examples/lit-icd-app/silabs/README.md
index 07ec9c320bcb36..a38944bad547ee 100644
--- a/examples/lit-icd-app/silabs/README.md
+++ b/examples/lit-icd-app/silabs/README.md
@@ -1,10 +1,10 @@
# Matter EFR32 Lit ICD Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
-- [Matter EFR32 LIT ICD Example](#matter-efr32-lit-icd-example)
+- [Matter EFR32 Lit ICD Example](#matter-efr32-lit-icd-example)
- [Introduction](#introduction)
- [Building](#building)
- [Linux](#linux)
@@ -79,22 +79,6 @@ Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -204,17 +188,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
-
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
-
For MG24 use:
+ ```
$ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/lock-app/silabs/README.md b/examples/lock-app/silabs/README.md
index 447fe3b9949995..4a16af08c01fda 100644
--- a/examples/lock-app/silabs/README.md
+++ b/examples/lock-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Lock Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -74,22 +74,6 @@ Mac OS X
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -223,16 +207,10 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- ```
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- ```
-
- For MG21 use:
+ For MG24 use:
```
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/platform/silabs/efr32/rs911x/hal/efx_spi.c b/examples/platform/silabs/efr32/rs911x/hal/efx_spi.c
index 7a3dcc08942d46..6c03b6f1f4835b 100644
--- a/examples/platform/silabs/efr32/rs911x/hal/efx_spi.c
+++ b/examples/platform/silabs/efr32/rs911x/hal/efx_spi.c
@@ -65,11 +65,7 @@
#include "sl_mx25_flash_shutdown_usart_config.h"
#endif // SL_MX25CTRL_MUX
-#if defined(EFR32MG12)
-#include "em_usart.h"
-#include "sl_spidrv_exp_config.h"
-#define SL_SPIDRV_HANDLE sl_spidrv_exp_handle
-#elif defined(EFR32MG24)
+#if defined(EFR32MG24)
#include "em_eusart.h"
#include "sl_spidrv_eusart_exp_config.h"
#include "spi_multiplex.h"
@@ -183,7 +179,7 @@ void rsi_hal_board_init(void)
xSemaphoreGive(spi_sem_sync_hdl);
#endif /* SL_SPICTRL_MUX */
- /* GPIO INIT of MG12 & MG24 : Reset, Wakeup, Interrupt */
+ /* GPIO INIT of MG24 : Reset, Wakeup, Interrupt */
sl_wfx_host_gpio_init();
/* Reset of Wifi chip */
diff --git a/examples/platform/silabs/efr32/rs911x/hal/rsi_board_configuration.h b/examples/platform/silabs/efr32/rs911x/hal/rsi_board_configuration.h
index e40e1856d7f8f7..4d8d9da1dd36a9 100644
--- a/examples/platform/silabs/efr32/rs911x/hal/rsi_board_configuration.h
+++ b/examples/platform/silabs/efr32/rs911x/hal/rsi_board_configuration.h
@@ -30,17 +30,12 @@ typedef struct
.port = gpioPort##port_id, .pin = pin_id \
}
-#if defined(EFR32MG12_BRD4161A) || defined(BRD4161A) || defined(EFR32MG12_BRD4162A) || defined(BRD4162A) || \
- defined(EFR32MG12_BRD4163A) || defined(BRD4163A) || defined(EFR32MG12_BRD4164A) || defined(BRD4164A) || \
- defined(EFR32MG12_BRD4170A) || defined(BRD4170A)
-// BRD4161-63-64 are pin to pin compatible for SPI
-#include "brd4161a.h"
-#elif defined(EFR32MG24_BRD4186C) || defined(BRD4186C)
+#if defined(EFR32MG24_BRD4186C) || defined(BRD4186C)
#include "brd4186c.h"
#elif defined(EFR32MG24_BRD4187C) || defined(BRD4187C)
#include "brd4187c.h"
#else
#error "Need SPI Pins"
-#endif /* EFR32MG12_BRD4161A */
+#endif /* EFR32MG24_BRD4186C */
#endif /* _RSI_BOARD_CONFIGURATION_H_ */
diff --git a/examples/platform/silabs/efr32/rs911x/hal/sl_board_configuration.h b/examples/platform/silabs/efr32/rs911x/hal/sl_board_configuration.h
index 5591467580bbc4..c1dceab06d8228 100644
--- a/examples/platform/silabs/efr32/rs911x/hal/sl_board_configuration.h
+++ b/examples/platform/silabs/efr32/rs911x/hal/sl_board_configuration.h
@@ -31,12 +31,7 @@ typedef struct
}
#define PACKET_PENDING_INT_PRI 3
-#if defined(EFR32MG12_BRD4161A) || defined(BRD4161A) || defined(EFR32MG12_BRD4162A) || defined(BRD4162A) || \
- defined(EFR32MG12_BRD4163A) || defined(BRD4163A) || defined(EFR32MG12_BRD4164A) || defined(BRD4164A) || \
- defined(EFR32MG12_BRD4170A) || defined(BRD4170A)
-// BRD4161-63-64 are pin to pin compatible for SPI
-#include "brd4161a.h"
-#elif defined(EFR32MG24_BRD4186C) || defined(BRD4186C)
+#if defined(EFR32MG24_BRD4186C) || defined(BRD4186C)
#include "brd4186c.h"
#elif defined(EFR32MG24_BRD4187C) || defined(BRD4187C)
#include "brd4187c.h"
@@ -48,4 +43,4 @@ typedef struct
#define INTERRUPT_PIN PIN(A, 7)
#define SLEEP_CONFIRM_PIN PIN(A, 5) /* Exp hdr 7 */
#endif
-#endif /* _RSI_BOARD_CONFIGURATION_H_ */
\ No newline at end of file
+#endif /* _RSI_BOARD_CONFIGURATION_H_ */
diff --git a/examples/platform/silabs/efr32/wf200/efr_spi.c b/examples/platform/silabs/efr32/wf200/efr_spi.c
index 4cb83427ca3a49..122652e96da39d 100644
--- a/examples/platform/silabs/efr32/wf200/efr_spi.c
+++ b/examples/platform/silabs/efr32/wf200/efr_spi.c
@@ -79,11 +79,7 @@ static uint32_t dummy_rx_data;
static uint32_t dummy_tx_data;
static bool spi_enabled = false;
-#if defined(EFR32MG12)
-uint8_t wirq_irq_nb = SL_WFX_HOST_PINOUT_SPI_IRQ;
-#elif defined(EFR32MG24)
uint8_t wirq_irq_nb = SL_WFX_HOST_PINOUT_SPI_WIRQ_PIN; // SL_WFX_HOST_PINOUT_SPI_WIRQ_PIN;
-#endif
#define PIN_OUT_SET 1
#define PIN_OUT_CLEAR 0
@@ -102,11 +98,6 @@ sl_status_t sl_wfx_host_init_bus(void)
* EUSARTROUTE register to do this.
*/
-#if defined(EFR32MG12)
- MY_USART->CTRL |= (1u << _USART_CTRL_SMSDELAY_SHIFT);
- MY_USART->ROUTEPEN = USART_ROUTEPEN_TXPEN | USART_ROUTEPEN_RXPEN | USART_ROUTEPEN_CLKPEN;
-#endif
-
#if defined(EFR32MG24)
GPIO->USARTROUTE[0].ROUTEEN = GPIO_USART_ROUTEEN_RXPEN | // MISO
GPIO_USART_ROUTEEN_TXPEN | // MOSI
diff --git a/examples/platform/silabs/efr32/wf200/sl_wfx_board.h b/examples/platform/silabs/efr32/wf200/sl_wfx_board.h
index 96ab9681745fdc..3cbed666d68eab 100644
--- a/examples/platform/silabs/efr32/wf200/sl_wfx_board.h
+++ b/examples/platform/silabs/efr32/wf200/sl_wfx_board.h
@@ -20,15 +20,11 @@
/*
* Pull in the right board PINS
*/
-#if defined(EFR32MG12_BRD4161A) || defined(BRD4161A) || defined(EFR32MG12_BRD4162A) || defined(BRD4162A) || \
- defined(EFR32MG12_BRD4163A) || defined(BRD4163A) || defined(EFR32MG12_BRD4164A) || defined(BRD4164A) || \
- defined(EFR32MG12_BRD4170A) || defined(BRD4170A)
-#include "brd4161a.h"
-#elif defined(EFR32MG24_BRD4186C) || defined(BRD4186C) || defined(EFR32MG24_BRD4186A) || defined(BRD4186A)
+#if defined(EFR32MG24_BRD4186C) || defined(BRD4186C) || defined(EFR32MG24_BRD4186A) || defined(BRD4186A)
#include "brd4186c.h"
#elif defined(EFR32MG24_BRD4187C) || defined(BRD4187C) || defined(EFR32MG24_BRD4187A) || defined(BRD4187A)
#include "brd4187c.h"
#else
#error "Need SPI Pins"
-#endif /* EFR32MG12_BRD4161A */
+#endif
#endif /* _SL_WFX_BOARD_H_ */
diff --git a/examples/platform/silabs/ldscripts/efr32mg12.ld b/examples/platform/silabs/ldscripts/efr32mg12.ld
deleted file mode 100644
index c4ef0e2ec1c6c9..00000000000000
--- a/examples/platform/silabs/ldscripts/efr32mg12.ld
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/***************************************************************************//**
- * Linker script for Silicon Labs EFR32MG12P devices
- *******************************************************************************
- * # License
- * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
- *******************************************************************************
- *
- * SPDX-License-Identifier: Zlib
- *
- * The licensor of this software is Silicon Laboratories Inc.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- *
- ******************************************************************************/
-
-
-MEMORY
-{
- FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 1048576
- RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 262144
-}
-
-/* Linker script to place sections and symbol values. Should be used together
- * with other linker script that defines memory regions FLASH and RAM.
- * It references following symbols, which must be defined in code:
- * Reset_Handler : Entry of reset handler
- *
- * It defines following symbols, which code can use without definition:
- * __exidx_start
- * __exidx_end
- * __copy_table_start__
- * __copy_table_end__
- * __zero_table_start__
- * __zero_table_end__
- * __etext
- * __data_start__
- * __preinit_array_start
- * __preinit_array_end
- * __init_array_start
- * __init_array_end
- * __fini_array_start
- * __fini_array_end
- * __data_end__
- * __bss_start__
- * __bss_end__
- * __end__
- * end
- * __HeapBase
- * __HeapLimit
- * __StackLimit
- * __StackTop
- * __stack
- */
-ENTRY(Reset_Handler)
-
-SECTIONS
-{
- .text :
- {
- KEEP(*(.vectors))
-
- *(.text*)
-
- KEEP(*(.init))
- KEEP(*(.fini))
-
- /* .ctors */
- *crtbegin.o(.ctors)
- *crtbegin?.o(.ctors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
-
- /* .dtors */
- *crtbegin.o(.dtors)
- *crtbegin?.o(.dtors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-
- __code_classification_validator_start__ = .;
- . = . + 0x20;
- *(code_classification_validator)
- . = ALIGN(32);
- __code_classification_validator_end__ = .;
- *(.rodata*)
-
- KEEP(*(.eh_frame*))
- } > FLASH
-
- .ARM.extab :
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > FLASH
-
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- } > FLASH
- __exidx_end = .;
-
- .copy.table :
- {
- . = ALIGN(4);
- __copy_table_start__ = .;
-
- LONG (__etext)
- LONG (__data_start__)
- LONG ((__data_end__ - __data_start__) / 4)
-
- __copy_table_end__ = .;
- } > FLASH
-
- .zero.table :
- {
- . = ALIGN(4);
- __zero_table_start__ = .;
- __zero_table_end__ = .;
- } > FLASH
-
- __etext = ALIGN (4);
-
- .data : AT (__etext)
- {
- __data_start__ = .;
- *(vtable)
- *(.data*)
- . = ALIGN (4);
- PROVIDE (__ram_func_section_start = .);
- *(.ram)
- PROVIDE (__ram_func_section_end = .);
-
- . = ALIGN(4);
- /* preinit data */
- PROVIDE_HIDDEN (__preinit_array_start = .);
- KEEP(*(.preinit_array))
- PROVIDE_HIDDEN (__preinit_array_end = .);
-
- . = ALIGN(4);
- /* init data */
- PROVIDE_HIDDEN (__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE_HIDDEN (__init_array_end = .);
-
- . = ALIGN(4);
- /* finit data */
- PROVIDE_HIDDEN (__fini_array_start = .);
- KEEP(*(SORT(.fini_array.*)))
- KEEP(*(.fini_array))
- PROVIDE_HIDDEN (__fini_array_end = .);
-
- KEEP(*(.jcr*))
- . = ALIGN(4);
- /* All data end */
- __data_end__ = .;
-
- } > RAM
-
- .bss :
- {
- . = ALIGN(4);
- __bss_start__ = .;
- *(.bss)
- *(.bss.*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end__ = .;
- } > RAM
- __ramfuncs_start__ = .;
-
- __vma_ramfuncs_start__ = .;
- __lma_ramfuncs_start__ = __etext + SIZEOF(.data);
-
- __text_application_ram_offset__ = . - __vma_ramfuncs_start__;
- text_application_ram . : AT(__lma_ramfuncs_start__ + __text_application_ram_offset__)
- {
- . = ALIGN(4);
- __text_application_ram_start__ = .;
- *(text_application_ram)
- . = ALIGN(4);
- __text_application_ram_end__ = .;
- } > RAM
-
- . = ALIGN(4);
- __vma_ramfuncs_end__ = .;
- __lma_ramfuncs_end__ = __lma_ramfuncs_start__ + __text_application_ram_offset__ + SIZEOF(text_application_ram);
-
- __ramfuncs_end__ = .;
-
- .heap (COPY) :
- {
- __HeapBase = .;
- __end__ = .;
- end = __end__;
- _end = __end__;
- KEEP(*(.heap*))
- __HeapLimit = .;
- } > RAM
-
- __main_flash_end__ = ORIGIN(FLASH) + LENGTH(FLASH);
-
- /* .stack_dummy section doesn't contains any symbols. It is only
- * used for linker to calculate size of stack sections, and assign
- * values to stack symbols later */
- .stack_dummy (COPY):
- {
- KEEP(*(.stack*))
- } > RAM
-
- /* Set stack top to end of RAM, and stack limit move down by
- * size of stack_dummy section */
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- PROVIDE(__stack = __StackTop);
-
- .nvm (DSECT) : {
- KEEP(*(.simee*))
- } > FLASH
-
- /* Last page of flash is reserved for the manufacturing token space */
- linker_nvm_end = __main_flash_end__ - 2048;
- linker_nvm_begin = linker_nvm_end - SIZEOF(.nvm);
- linker_nvm_size = SIZEOF(.nvm);
- __nvm3Base = linker_nvm_begin;
- __attestation_credentials_base = linker_nvm_end;
-
- /* Check if data + heap + stack exceeds RAM limit */
- /*ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")*/
- ASSERT( (linker_nvm_begin + SIZEOF(.nvm)) <= __main_flash_end__, "NVM3 is excessing the flash size !")
-
- /* Check if FLASH usage exceeds FLASH size */
- ASSERT( LENGTH(FLASH) >= (__etext), "FLASH memory overflowed !")
- ASSERT((__etext + SIZEOF(.data)) <= __nvm3Base, "FLASH memory overlapped with NVM section.")
-}
diff --git a/examples/platform/silabs/ldscripts/efr32mg21.ld b/examples/platform/silabs/ldscripts/efr32mg21.ld
deleted file mode 100644
index 2c9de0ddede7d7..00000000000000
--- a/examples/platform/silabs/ldscripts/efr32mg21.ld
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/***************************************************************************//**
- * Linker script for Silicon Labs EFR32MG21 devices
- * @version 5.7.2
- *******************************************************************************
- * # License
- * Copyright 2018 Silicon Laboratories Inc. www.silabs.com
- *******************************************************************************
- *
- * SPDX-License-Identifier: Zlib
- *
- * The licensor of this software is Silicon Laboratories Inc.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- *
- ******************************************************************************/
-
-MEMORY
-{
- FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 1048576 - 8192 /* 8K is reserved at top of flash on MG21 */
- RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 98304
-}
-
-/* Linker script to place sections and symbol values. Should be used together
- * with other linker script that defines memory regions FLASH and RAM.
- * It references following symbols, which must be defined in code:
- * Reset_Handler : Entry of reset handler
- *
- * It defines following symbols, which code can use without definition:
- * __exidx_start
- * __exidx_end
- * __copy_table_start__
- * __copy_table_end__
- * __zero_table_start__
- * __zero_table_end__
- * __etext
- * __data_start__
- * __preinit_array_start
- * __preinit_array_end
- * __init_array_start
- * __init_array_end
- * __fini_array_start
- * __fini_array_end
- * __data_end__
- * __bss_start__
- * __bss_end__
- * __end__
- * end
- * __HeapBase
- * __HeapLimit
- * __StackLimit
- * __StackTop
- * __stack
- * __Vectors_End
- * __Vectors_Size
- */
-ENTRY(Reset_Handler)
-
-SECTIONS
-{
- .text :
- {
- KEEP(*(.vectors))
- __Vectors_End = .;
- __Vectors_Size = __Vectors_End - __Vectors;
- __end__ = .;
-
- *(.text*)
-
- KEEP(*(.init))
- KEEP(*(.fini))
-
- KEEP(*(.application_properties))
- KEEP(*(.gecko_configuration))
- KEEP(*(.xo_configuration))
- KEEP(*(.gatt_header))
- KEEP(*(.gatt_data))
-
- /* .ctors */
- *crtbegin.o(.ctors)
- *crtbegin?.o(.ctors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
-
- /* .dtors */
- *crtbegin.o(.dtors)
- *crtbegin?.o(.dtors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-
- *(.rodata*)
-
-
- KEEP(*(.eh_frame*))
- } > FLASH
-
-
- .ARM.extab :
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > FLASH
-
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- } > FLASH
- __exidx_end = .;
-
-
-
- /* To copy multiple ROM to RAM sections,
- * uncomment .copy.table section and,
- * define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */
- /*
- .copy.table :
- {
- . = ALIGN(4);
- __copy_table_start__ = .;
- LONG (__etext)
- LONG (__data_start__)
- LONG (__data_end__ - __data_start__)
- LONG (__etext2)
- LONG (__data2_start__)
- LONG (__data2_end__ - __data2_start__)
- __copy_table_end__ = .;
- } > FLASH
- */
-
- /* To clear multiple BSS sections,
- * uncomment .zero.table section and,
- * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */
- /*
- .zero.table :
- {
- . = ALIGN(4);
- __zero_table_start__ = .;
- LONG (__bss_start__)
- LONG (__bss_end__ - __bss_start__)
- LONG (__bss2_start__)
- LONG (__bss2_end__ - __bss2_start__)
- __zero_table_end__ = .;
- } > FLASH
- */
-
- __etext = .;
-
- /*******************************************************************/
- /* Define flash block for BLE-simee & CHIP-nvm3 */
- /* simee: 9000H (36k) bytes for BLE nvm3 */
- /* chipNvm3_section: 4000H (16k) bytes for CHIP nvm3. */
- /* 8K is reserved for OpenThread's NVM which is mapped directly at */
- /* the top of flash */
- /*******************************************************************/
-
- OPENTHREAD_NVM_SIZE = 8192;
-
- .nvm_dummy (DSECT):
- {
- __nvm3_dummy_begin = .;
- . = ALIGN (8192);
- __nvm3_dummy_simee = .;
- KEEP(*(.simee));
- . = ALIGN (8192);
- __nvm3_dummy_chip = .;
- KEEP(*(chipNvm3_section));
- . = ALIGN (8192);
- . += OPENTHREAD_NVM_SIZE;
- . = ALIGN (8192);
- } > FLASH
-
- /* Set NVM to end of FLASH */
- __nvm3Base = LENGTH(FLASH) - SIZEOF(.nvm_dummy) + (__nvm3_dummy_simee - __nvm3_dummy_begin);
- __nvm3ChipBase = LENGTH(FLASH) - SIZEOF(.nvm_dummy) + (__nvm3_dummy_chip - __nvm3_dummy_begin);
-
-
- /*******************************************************************/
-
- .data : AT (__etext)
- {
- __data_start__ = .;
- *(vtable)
- *(.data*)
- . = ALIGN (4);
- PROVIDE (__ram_func_section_start = .);
- *(.ram)
- PROVIDE (__ram_func_section_end = .);
-
- . = ALIGN(4);
- /* preinit data */
- PROVIDE_HIDDEN (__preinit_array_start = .);
- KEEP(*(.preinit_array))
- PROVIDE_HIDDEN (__preinit_array_end = .);
-
- . = ALIGN(4);
- /* init data */
- PROVIDE_HIDDEN (__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE_HIDDEN (__init_array_end = .);
-
- . = ALIGN(4);
- /* finit data */
- PROVIDE_HIDDEN (__fini_array_start = .);
- KEEP(*(SORT(.fini_array.*)))
- KEEP(*(.fini_array))
- PROVIDE_HIDDEN (__fini_array_end = .);
-
- KEEP(*(.jcr*))
- . = ALIGN(4);
- /* All data end */
- __data_end__ = .;
-
- } > RAM
-
- .bss :
- {
- . = ALIGN(4);
- __bss_start__ = .;
- *(.bss*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end__ = .;
- } > RAM
-
- .heap (COPY):
- {
- __HeapBase = .;
- __end__ = .;
- end = __end__;
- _end = __end__;
- KEEP(*(.heap*))
- __HeapLimit = .;
- } > RAM
-
- /* .stack_dummy section doesn't contains any symbols. It is only
- * used for linker to calculate size of stack sections, and assign
- * values to stack symbols later */
- .stack_dummy (COPY):
- {
- KEEP(*(.stack*))
- } > RAM
-
- /* Set stack top to end of RAM, and stack limit move down by
- * size of stack_dummy section */
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- PROVIDE(__stack = __StackTop);
-
- /* Check if data + heap + stack exceeds RAM limit */
- ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
-
-
- /* Check if FLASH usage exceeds FLASH size */
- ASSERT( LENGTH(FLASH) >= (__etext + SIZEOF(.data)), "FLASH memory overflowed !")
- ASSERT((__etext + SIZEOF(.data)) <= __nvm3Base, "FLASH memory overlapped with NVM section.")
-}
\ No newline at end of file
diff --git a/examples/pump-app/silabs/README.md b/examples/pump-app/silabs/README.md
index 56e6ad938f82db..7bde704c4aa5b0 100644
--- a/examples/pump-app/silabs/README.md
+++ b/examples/pump-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Pump Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -72,22 +72,6 @@ Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -199,13 +183,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
+ For MG24 use:
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ ```
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/smoke-co-alarm-app/silabs/README.md b/examples/smoke-co-alarm-app/silabs/README.md
index 03ff976deca183..e16621df11b2fd 100644
--- a/examples/smoke-co-alarm-app/silabs/README.md
+++ b/examples/smoke-co-alarm-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Smoke CO Alarm Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -71,22 +71,6 @@ Silicon Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -220,16 +204,10 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- ```
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- ```
-
- For MG21 use:
+ For MG24 use:
```
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/thermostat/silabs/README.md b/examples/thermostat/silabs/README.md
index 3440277c64dfee..25ba47891b5047 100644
--- a/examples/thermostat/silabs/README.md
+++ b/examples/thermostat/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Thermostat Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -79,22 +79,6 @@ Silicon Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -208,13 +192,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
+ For MG24 use:
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ ```
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/examples/window-app/silabs/README.md b/examples/window-app/silabs/README.md
index 1464e7d4cc0ad8..47dbb77a7f4405 100644
--- a/examples/window-app/silabs/README.md
+++ b/examples/window-app/silabs/README.md
@@ -1,6 +1,6 @@
# Matter EFR32 Window Covering Example
-An example showing the use of CHIP on the Silicon Labs EFR32 MG12 and MG24.
+An example showing the use of CHIP on the Silicon Labs EFR32 MG24.
@@ -72,22 +72,6 @@ Silicon Labs platform.
> [Hardware Requirements](https://github.com/SiliconLabs/matter/blob/latest/docs/silabs/general/HARDWARE_REQUIREMENTS.md)
> in the Silicon Labs Matter Github Repo
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -197,13 +181,11 @@ combination with JLinkRTTClient as follows:
- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
+ For MG24 use:
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
+ ```
+ $ JLinkExe -device EFR32MG24AXXXF1536 -if SWD -speed 4000 -autoconnect 1
+ ```
- In a second terminal, run the JLinkRTTClient to view logs:
diff --git a/integrations/cloudbuild/smoke-test.yaml b/integrations/cloudbuild/smoke-test.yaml
index c8e49945881484..77e5647aab9e53 100644
--- a/integrations/cloudbuild/smoke-test.yaml
+++ b/integrations/cloudbuild/smoke-test.yaml
@@ -73,10 +73,10 @@ steps:
args:
- >-
./scripts/build/build_examples.py --enable-flashbundle
- --target efr32-brd4161a-light
- --target efr32-brd4161a-light-rpc
- --target efr32-brd4161a-lock-openthread-mtd
- --target efr32-brd4161a-lock-rpc-openthread-mtd
+ --target efr32-brd4187c-light
+ --target efr32-brd4187c-light-rpc
+ --target efr32-brd4187cbrd4187c-lock-openthread-mtd
+ --target efr32-brd4187c-lock-rpc-openthread-mtd
--target efr32-brd4187c-unit-test
build
--create-archives /workspace/artifacts/
diff --git a/scripts/build/BUILD.gn b/scripts/build/BUILD.gn
index 1818160884c4fd..dd3ed2de3e7efa 100644
--- a/scripts/build/BUILD.gn
+++ b/scripts/build/BUILD.gn
@@ -24,7 +24,7 @@ pw_python_package("build_examples") {
# Dependency for the unit test
"testdata/all_targets_linux_x64.txt",
"testdata/dry_run_android-arm64-chip-tool.txt",
- "testdata/dry_run_efr32-brd4161a-light-rpc-no-version.txt",
+ "testdata/dry_run_efr32-brd4187c-light-rpc-no-version.txt",
"testdata/dry_run_esp32-devkitc-light-rpc.txt",
"testdata/dry_run_esp32-m5stack-all-clusters-minimal-rpc-ipv6only.txt",
"testdata/dry_run_linux-arm64-chip-tool-ipv6only-clang.txt",
diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py
index 94f0c7c598c07d..0a91b3ea17bcd2 100755
--- a/scripts/build/build/targets.py
+++ b/scripts/build/build/targets.py
@@ -233,17 +233,17 @@ def BuildEfr32Target():
# board
target.AppendFixedTargets([
- TargetPart('brd2703a', board=Efr32Board.BRD2703A),
- TargetPart('brd4161a', board=Efr32Board.BRD4161A),
- TargetPart('brd4187c', board=Efr32Board.BRD4187C),
- TargetPart('brd4186c', board=Efr32Board.BRD4186C),
- TargetPart('brd4163a', board=Efr32Board.BRD4163A),
- TargetPart('brd4164a', board=Efr32Board.BRD4164A),
- TargetPart('brd4166a', board=Efr32Board.BRD4166A),
- TargetPart('brd4170a', board=Efr32Board.BRD4170A),
+ TargetPart('brd2704b', board=Efr32Board.BRD2704B),
+ TargetPart('brd4316a', board=Efr32Board.BRD4316A),
+ TargetPart('brd4317a', board=Efr32Board.BRD4317A),
+ TargetPart('brd4318a', board=Efr32Board.BRD4318A),
+ TargetPart('brd4319a', board=Efr32Board.BRD4319A),
TargetPart('brd4186a', board=Efr32Board.BRD4186A),
TargetPart('brd4187a', board=Efr32Board.BRD4187A),
- TargetPart('brd4304a', board=Efr32Board.BRD4304A),
+ TargetPart('brd2601b', board=Efr32Board.BRD2601B),
+ TargetPart('brd4187c', board=Efr32Board.BRD4187C),
+ TargetPart('brd4186c', board=Efr32Board.BRD4186C),
+ TargetPart('brd2703a', board=Efr32Board.BRD2703A),
TargetPart('brd4338a', board=Efr32Board.BRD4338A, enable_wifi=True, enable_917_soc=True),
])
diff --git a/scripts/build/builders/efr32.py b/scripts/build/builders/efr32.py
index b0ad37be4774a9..3972dc7bb48eff 100644
--- a/scripts/build/builders/efr32.py
+++ b/scripts/build/builders/efr32.py
@@ -90,36 +90,36 @@ def BuildRoot(self, root):
class Efr32Board(Enum):
- BRD4161A = 1
- BRD4163A = 2
- BRD4164A = 3
- BRD4166A = 4
- BRD4170A = 5
+ BRD2704B = 1
+ BRD4316A = 2
+ BRD4317A = 3
+ BRD4318A = 4
+ BRD4319A = 5
BRD4186A = 6
BRD4187A = 7
- BRD4304A = 8
+ BRD2601B = 8
BRD4187C = 9
BRD4186C = 10
BRD4338A = 11
BRD2703A = 12
def GnArgName(self):
- if self == Efr32Board.BRD4161A:
- return 'BRD4161A'
- elif self == Efr32Board.BRD4163A:
- return 'BRD4163A'
- elif self == Efr32Board.BRD4164A:
- return 'BRD4164A'
- elif self == Efr32Board.BRD4166A:
- return 'BRD4166A'
- elif self == Efr32Board.BRD4170A:
- return 'BRD4170A'
+ if self == Efr32Board.BRD2704B:
+ return 'BRD2704B'
+ elif self == Efr32Board.BRD4316A:
+ return 'BRD4316A'
+ elif self == Efr32Board.BRD4317A:
+ return 'BRD4317A'
+ elif self == Efr32Board.BRD4318A:
+ return 'BRD4318A'
+ elif self == Efr32Board.BRD4319A:
+ return 'BRD4319A'
elif self == Efr32Board.BRD4186A:
return 'BRD4186A'
elif self == Efr32Board.BRD4187A:
return 'BRD4187A'
- elif self == Efr32Board.BRD4304A:
- return 'BRD4304A'
+ elif self == Efr32Board.BRD2601B:
+ return 'BRD2601B'
elif self == Efr32Board.BRD4186C:
return 'BRD4186C'
elif self == Efr32Board.BRD4187C:
@@ -138,7 +138,7 @@ def __init__(self,
root,
runner,
app: Efr32App = Efr32App.LIGHT,
- board: Efr32Board = Efr32Board.BRD4161A,
+ board: Efr32Board = Efr32Board.BRD4187C,
chip_build_libshell: bool = False,
chip_logging: bool = True,
chip_openthread_ftd: bool = True,
@@ -205,10 +205,6 @@ def __init__(self,
# Wifi SoC platform
self.extra_gn_options.append('chip_device_platform=\"SiWx917\"')
else:
- # EFR32 + WiFi NCP combos
- if board == Efr32Board.BRD4161A:
- self.extra_gn_options.append('is_debug=false chip_logging=false')
-
if enable_rs9116:
self.extra_gn_options.append('use_rs9116=true chip_device_platform =\"efr32\"')
elif enable_wf200:
diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py
index 822375fdd65c05..258fb33c6a83fe 100644
--- a/scripts/build/builders/host.py
+++ b/scripts/build/builders/host.py
@@ -411,7 +411,7 @@ def __init__(self, root, runner, app: HostApp, board=HostBoard.NATIVE,
self.build_command = 'runner'
# board will NOT be used, but is required to be able to properly
# include things added by the test_runner efr32 build
- self.extra_gn_options.append('silabs_board="BRD4161A"')
+ self.extra_gn_options.append('silabs_board="BRD4187C"')
# Crypto library has per-platform defaults (like openssl for linux/mac
# and mbedtls for android/freertos/zephyr/mbed/...)
diff --git a/scripts/build/test.py b/scripts/build/test.py
index f03c841d916c84..48a7e4fe53bafc 100644
--- a/scripts/build/test.py
+++ b/scripts/build/test.py
@@ -111,7 +111,7 @@ def test_general_dry_runs(self):
'esp32-m5stack-all-clusters-minimal-rpc-ipv6only',
'android-arm64-chip-tool',
'nrf-nrf52840dk-pump',
- 'efr32-brd4161a-light-rpc-no-version',
+ 'efr32-brd4187c-light-rpc-no-version',
'openiotsdk-lock-mbedtls',
'openiotsdk-shell-mbedtls'
]
diff --git a/scripts/build/testdata/all_targets_linux_x64.txt b/scripts/build/testdata/all_targets_linux_x64.txt
index a8ad9198f63da8..f8880cc1e0cff5 100644
--- a/scripts/build/testdata/all_targets_linux_x64.txt
+++ b/scripts/build/testdata/all_targets_linux_x64.txt
@@ -5,7 +5,7 @@ bouffalolab-{bl602-iot-matter-v1,bl602-night-light,xt-zb6-devkit,bl706-night-lig
cc32xx-{lock,air-purifier}
ti-cc13x4_26x4-{all-clusters,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-{brd2703a,brd4161a,brd4187c,brd4186c,brd4163a,brd4164a,brd4166a,brd4170a,brd4186a,brd4187a,brd4304a,brd4338a}-{window-covering,switch,unit-test,light,lock,thermostat,pump}[-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}-{window-covering,switch,unit-test,light,lock,thermostat,pump}[-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]
genio-lighting-app
linux-fake-tests[-mbedtls][-boringssl][-asan][-tsan][-ubsan][-libfuzzer][-ossfuzz][-coverage][-dmalloc][-clang]
diff --git a/scripts/build/testdata/dry_run_efr32-brd4161a-light-rpc-no-version.txt b/scripts/build/testdata/dry_run_efr32-brd4187c-light-rpc-no-version.txt
similarity index 54%
rename from scripts/build/testdata/dry_run_efr32-brd4161a-light-rpc-no-version.txt
rename to scripts/build/testdata/dry_run_efr32-brd4187c-light-rpc-no-version.txt
index 990be458d56155..d75eeabc3b6996 100644
--- a/scripts/build/testdata/dry_run_efr32-brd4161a-light-rpc-no-version.txt
+++ b/scripts/build/testdata/dry_run_efr32-brd4187c-light-rpc-no-version.txt
@@ -1,8 +1,8 @@
# Commands will be run in CHIP project root.
cd "{root}"
-# Generating efr32-brd4161a-light-rpc-no-version
-gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/silabs '--args=silabs_board="BRD4161A" is_debug=false import("//with_pw_rpc.gni") efr32_sdk_root="TEST_GSDK_ROOT" openthread_root="TEST_GSDK_ROOT/util/third_party/openthread" wiseconnect_sdk_root="TEST_WISECONNECT_SDK_ROOT" wifi_sdk_root="TEST_WIFI_SDK_ROOT"' {out}/efr32-brd4161a-light-rpc-no-version
+# Generating efr32-brd4187c-light-rpc-no-version
+gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/silabs '--args=silabs_board="BRD4187C" is_debug=false import("//with_pw_rpc.gni") efr32_sdk_root="TEST_GSDK_ROOT" openthread_root="TEST_GSDK_ROOT/util/third_party/openthread" wiseconnect_sdk_root="TEST_WISECONNECT_SDK_ROOT" wifi_sdk_root="TEST_WIFI_SDK_ROOT"' {out}/efr32-brd4187c-light-rpc-no-version
-# Building efr32-brd4161a-light-rpc-no-version
-ninja -C {out}/efr32-brd4161a-light-rpc-no-version
+# Building efr32-brd4187c-light-rpc-no-version
+ninja -C {out}/efr32-brd4187c-light-rpc-no-version
diff --git a/scripts/examples/gn_silabs_example.sh b/scripts/examples/gn_silabs_example.sh
index 5dbea0452fb7c6..55154782119992 100755
--- a/scripts/examples/gn_silabs_example.sh
+++ b/scripts/examples/gn_silabs_example.sh
@@ -56,14 +56,18 @@ if [ "$#" == "0" ]; then
Identifier of the board for which this app is built
Currently Supported :
- BRD4161A
- BRD4163A
- BRD4164A
- BRD4166A
- BRD4170A
BRD4186A
BRD4187A
- BRD4304A
+ BRD4186C
+ BRD4187C
+ BRD2601B
+ BRD2703A
+ BRD2704A
+ BRD4316A
+ BRD4317A
+ BRD4318A
+ BRD4319A
+
- optional noteworthy build options for EFR32
chip_build_libshell
diff --git a/src/test_driver/efr32/README.md b/src/test_driver/efr32/README.md
index 0f4ea0b33176d4..c36812e484fdee 100644
--- a/src/test_driver/efr32/README.md
+++ b/src/test_driver/efr32/README.md
@@ -40,22 +40,6 @@ test runner.
- Supported hardware:
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
@@ -71,7 +55,7 @@ OR use GN/Ninja directly
cd ~/connectedhomeip/src/test_driver/efr32/
git submodule update --init
source third_party/connectedhomeip/scripts/activate.sh
- export SILABS_BOARD=BRD4161A
+ export SILABS_BOARD=BRD4187C
gn gen out/debug
ninja -C out/debug
```
diff --git a/third_party/silabs/SiWx917_sdk.gni b/third_party/silabs/SiWx917_sdk.gni
index 0819d7287bc9bc..59ab00534af208 100644
--- a/third_party/silabs/SiWx917_sdk.gni
+++ b/third_party/silabs/SiWx917_sdk.gni
@@ -261,8 +261,6 @@ template("siwx917_sdk") {
defines += [ "LWIP_IPV6=0" ]
}
- defines += board_defines
-
if (chip_enable_wifi_ipv4) {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_IPV4=1" ]
}
diff --git a/third_party/silabs/efr32_sdk.gni b/third_party/silabs/efr32_sdk.gni
index 8b1ae3e7e6ff47..a563f8eb4a9731 100644
--- a/third_party/silabs/efr32_sdk.gni
+++ b/third_party/silabs/efr32_sdk.gni
@@ -419,8 +419,6 @@ template("efr32_sdk") {
]
}
- defines += board_defines
-
if (use_wstk_leds) {
_include_dirs += [ "${efr32_sdk_root}/platform/driver/leddrv/inc" ]
@@ -505,38 +503,7 @@ template("efr32_sdk") {
defines += [ "CHIP_CONFIG_SYNCHRONOUS_REPORTS_ENABLED=1" ]
}
- if (silabs_family == "efr32mg12") {
- _include_dirs += [
- "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Include",
- "${efr32_sdk_root}/platform/radio/rail_lib/chip/efr32/efr32xg1x",
- "${efr32_sdk_root}/platform/radio/rail_lib/plugin/pa-conversions/efr32xg1x/config",
- "${efr32_sdk_root}/platform/service/device_init/config/s1/",
- "${efr32_sdk_root}/platform/emdrv/spidrv/inc",
- "${efr32_sdk_root}/protocol/bluetooth/bgcommon/inc",
- "${efr32_sdk_root}/util/third_party/freertos/kernel/portable/GCC/ARM_CM4F",
- ]
-
- if (silabs_board == "BRD4304A") {
- _include_dirs +=
- [ "${efr32_sdk_root}/platform/radio/rail_lib/plugin/fem_util/" ]
- }
-
- libs += [
- "${sdk_support_root}/platform/radio/rail_lib/autogen/librail_release/librail_multiprotocol_efr32xg12_gcc_release.a",
- "${sdk_support_root}/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a",
- "${sdk_support_root}/protocol/openthread/libs/libsl_openthread_efr32mg1x_gcc.a",
- ]
-
- if (!chip_enable_ble_rs911x) {
- libs += [
- "${sdk_support_root}/protocol/bluetooth/bgcommon/lib/libbgcommon_efr32xg12_gcc_release.a",
- "${sdk_support_root}/protocol/bluetooth/bgstack/ll/lib/libbluetooth_controller_efr32xg12_gcc_release.a",
- "${sdk_support_root}/protocol/bluetooth/lib/libbluetooth_host_efr32xg12_gcc_release.a",
- ]
- }
-
- defines += [ "EFR32MG12" ]
- } else if (silabs_family == "efr32mg24") {
+ if (silabs_family == "efr32mg24") {
_include_dirs += [
"${efr32_sdk_root}/platform/radio/rail_lib/chip/efr32/efr32xg2x",
"${efr32_sdk_root}/util/third_party/freertos/kernel/portable/GCC/ARM_CM33_NTZ/non_secure",
@@ -929,34 +896,7 @@ template("efr32_sdk") {
]
}
- if (silabs_family == "efr32mg12") {
- sources += [
- "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Source/startup_efr32mg12p.c",
- "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_mbedtls_support/src/crypto_aes.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_protocol_crypto/src/sli_protocol_crypto_crypto.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/crypto_management.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/sli_crypto_driver_trng.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_aead.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_cipher.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_hash.c",
- "${efr32_sdk_root}/platform/security/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_mac.c",
- "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_dcdc_s1.c",
- "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_emu_s1.c",
- "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_hfxo_s1.c",
- "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_lfxo_s1.c",
- "${efr32_sdk_root}/protocol/bluetooth/bgcommon/src/sl_bt_mbedtls_context.c",
- "${efr32_sdk_root}/util/third_party/freertos/kernel/portable/GCC/ARM_CM4F/port.c",
- "${efr32_sdk_root}/util/third_party/mbedtls/library/ctr_drbg.c",
- "${efr32_sdk_root}/util/third_party/mbedtls/library/entropy.c",
- "${efr32_sdk_root}/util/third_party/mbedtls/library/entropy_poll.c",
- "${efr32_sdk_root}/util/third_party/mbedtls/library/hmac_drbg.c",
- ]
-
- if (silabs_board == "BRD4304A") {
- sources += [ "${efr32_sdk_root}/platform/radio/rail_lib/plugin/fem_util/sl_fem_util.c" ]
- }
- } else if (silabs_family == "efr32mg24") {
+ if (silabs_family == "efr32mg24") {
sources += [
"${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG24/Source/startup_efr32mg24.c",
"${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG24/Source/system_efr32mg24.c",
diff --git a/third_party/silabs/silabs_arm.gni b/third_party/silabs/silabs_arm.gni
index 5c138824c744f9..30e6ed6ed09af8 100644
--- a/third_party/silabs/silabs_arm.gni
+++ b/third_party/silabs/silabs_arm.gni
@@ -14,14 +14,13 @@
import("silabs_board.gni")
-if (silabs_family == "efr32mg12" || wifi_soc == true) {
+if (silabs_family == "SiWx917-common") {
arm_arch = "armv7e-m"
arm_abi = "aapcs"
arm_cpu = "cortex-m4"
arm_float_abi = "softfp"
arm_fpu = "fpv4-sp-d16"
-} else if (silabs_family == "efr32mg21" || silabs_family == "efr32mg24" ||
- silabs_family == "mgm24") {
+} else if (silabs_family == "efr32mg24" || silabs_family == "mgm24") {
arm_arch = "armv8-m.main+dsp"
arm_abi = "aapcs"
arm_cpu = "cortex-m33"
diff --git a/third_party/silabs/silabs_board.gni b/third_party/silabs/silabs_board.gni
index bd52ab31ec93bc..6b69fb59b9af06 100644
--- a/third_party/silabs/silabs_board.gni
+++ b/third_party/silabs/silabs_board.gni
@@ -64,59 +64,10 @@ if (silabs_board == "") {
assert(silabs_board != "", "silabs_board must be specified")
-# Differentiate between boards
-# - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-# - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
-# - BRD4163A / SLWSTK6000B / Dual band Wireless Starter Kit / 2.4GHz@19dBm, 868MHz@19dBm
-# - BRD4164A / SLWSTK6000B / Dual band Wireless Starter Kit / 2.4GHz@19dBm, 915MHz@19dBm
-# - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
-# - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm, 915MHz@19dBm, 868MHz@19dBm
-# - BRD4180A / SLWSTK6006A / MG21 Module / 2.4GHz@20dBm
-# - BRD4186A / SLWSTK6006A / MG24 / Wireless Starter Kit / 2.4GHz@10dBm
-# - BRD4187A / SLWSTK6006A / MG24 / Wireless Starter Kit / 2.4GHz@20dBm
-
-board_defines = []
-
-if (silabs_board == "BRD4304A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P432F1024GM48"
- enable_fem = true
-
- # Board does not support LEDs and Buttons at the same time
- use_wstk_leds = false
- board_defines += [ "PAL_RTCC_CLOCK_LFRCO" ]
-} else if (silabs_board == "BRD4161A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P432F1024GL125"
-} else if (silabs_board == "BRD4162A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P332F1024GL125"
-} else if (silabs_board == "BRD4163A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P433F1024GL125"
-} else if (silabs_board == "BRD4164A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P433F1024GL125"
-} else if (silabs_board == "BRD4166A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P332F1024GL125"
-
- # ThunderBoards don't have a LCD
- show_qr_code = false
- disable_lcd = true
-} else if (silabs_board == "BRD4170A") {
- silabs_family = "efr32mg12"
- silabs_mcu = "EFR32MG12P433F1024GM68"
-} else if (silabs_board == "BRD4338A") {
+if (silabs_board == "BRD4338A") {
silabs_family = "SiWx917-common"
silabs_mcu = "SiWG917M111MGTBA"
wifi_soc = true
-} else if (silabs_board == "BRD4180A") {
- assert(
- false,
- "The board ${silabs_board} not currently supported due to RAM limitation")
- silabs_family = "efr32mg21"
- silabs_mcu = "EFR32MG21A020F1024IM32"
} else if (silabs_board == "BRD4186A" || silabs_board == "BRD4187A") {
variant = string_replace(silabs_board, "A", "C")
print(