diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/board.yml b/boards/silabs/dev_kits/bgm220_ek4314a/board.yml deleted file mode 100644 index f0aa04ed5c443..0000000000000 --- a/boards/silabs/dev_kits/bgm220_ek4314a/board.yml +++ /dev/null @@ -1,6 +0,0 @@ -board: - name: bgm220_ek4314a - full_name: BGM220 Explorer Kit (BGM220-EK4314A) - vendor: silabs - socs: - - name: bgm220pc22hna diff --git a/boards/silabs/dev_kits/xg22_ek2710a/board.yml b/boards/silabs/dev_kits/xg22_ek2710a/board.yml deleted file mode 100644 index 9d4fb22806ebe..0000000000000 --- a/boards/silabs/dev_kits/xg22_ek2710a/board.yml +++ /dev/null @@ -1,6 +0,0 @@ -board: - name: xg22_ek2710a - full_name: EFR32xG22 Explorer Kit (xG22-EK2710A) - vendor: silabs - socs: - - name: efr32mg22e224f512im40 diff --git a/boards/silabs/explorer_kits/index.rst b/boards/silabs/explorer_kits/index.rst new file mode 100644 index 0000000000000..b5333b24c7811 --- /dev/null +++ b/boards/silabs/explorer_kits/index.rst @@ -0,0 +1,10 @@ +.. _explorer_kits: + +Explorer Kits +############# + +.. toctree:: + :maxdepth: 1 + :glob: + + **/* diff --git a/boards/silabs/explorer_kits/xg22/Kconfig.bg22_ek4108a b/boards/silabs/explorer_kits/xg22/Kconfig.bg22_ek4108a new file mode 100644 index 0000000000000..b516b84615bf6 --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/Kconfig.bg22_ek4108a @@ -0,0 +1,5 @@ +# Copyright The Zephyr Project Contributors +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_BG22_EK4108A + select SOC_EFR32BG22C224F512IM40 diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/Kconfig.bgm220_ek4314a b/boards/silabs/explorer_kits/xg22/Kconfig.bgm220_ek4314a similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/Kconfig.bgm220_ek4314a rename to boards/silabs/explorer_kits/xg22/Kconfig.bgm220_ek4314a diff --git a/boards/silabs/dev_kits/xg22_ek2710a/Kconfig.defconfig b/boards/silabs/explorer_kits/xg22/Kconfig.defconfig similarity index 65% rename from boards/silabs/dev_kits/xg22_ek2710a/Kconfig.defconfig rename to boards/silabs/explorer_kits/xg22/Kconfig.defconfig index 40a34f361c266..bffcfc4aaef62 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/Kconfig.defconfig +++ b/boards/silabs/explorer_kits/xg22/Kconfig.defconfig @@ -1,28 +1,21 @@ # Copyright The Zephyr Project Contributors # SPDX-License-Identifier: Apache-2.0 -if BOARD_XG22_EK2710A +if BOARD_BGM220_EK4314A || BOARD_XG22_EK2710A || BOARD_BG22_EK4108A config LOG_BACKEND_SWO_FREQ_HZ default 875000 depends on LOG_BACKEND_SWO -if SOC_GECKO_USE_RAIL - config FPU - default y - -endif # SOC_GECKO_USE_RAIL + default y if SOC_GECKO_USE_RAIL || BT if BT -config FPU - default y - config MAIN_STACK_SIZE default 3072 if PM default 2304 endif # BT -endif # BOARD_XG22_EK2710A +endif diff --git a/boards/silabs/dev_kits/xg22_ek2710a/Kconfig.xg22_ek2710a b/boards/silabs/explorer_kits/xg22/Kconfig.xg22_ek2710a similarity index 100% rename from boards/silabs/dev_kits/xg22_ek2710a/Kconfig.xg22_ek2710a rename to boards/silabs/explorer_kits/xg22/Kconfig.xg22_ek2710a diff --git a/boards/silabs/explorer_kits/xg22/bg22_ek4108a.dts b/boards/silabs/explorer_kits/xg22/bg22_ek4108a.dts new file mode 100644 index 0000000000000..8155abec92185 --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/bg22_ek4108a.dts @@ -0,0 +1,50 @@ +/* + * Copyright The Zephyr Project Contributors + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "xg22_explorer_kit.dtsi" + +/ { + model = "Silicon Labs BRD4108A (BG22 Explorer Kit)"; + compatible = "silabs,xg22_ek4108a", "silabs,efr32bg22"; +}; + +&radio { + pa-voltage-mv = <1800>; +}; + +&hfxo { + ctune = <140>; + precision = <50>; + status = "okay"; +}; + +&lfxo { + ctune = <25>; + precision = <50>; + status = "okay"; +}; + +&em23grpaclk { + clocks = <&lfxo>; +}; + +&em4grpaclk { + clocks = <&lfxo>; +}; + +&prortcclk { + clocks = <&lfxo>; +}; + +&rtccclk { + clocks = <&lfxo>; +}; + +&wdog0clk { + clocks = <&lfxo>; +}; diff --git a/boards/silabs/explorer_kits/xg22/bg22_ek4108a.yaml b/boards/silabs/explorer_kits/xg22/bg22_ek4108a.yaml new file mode 100644 index 0000000000000..69df78c027785 --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/bg22_ek4108a.yaml @@ -0,0 +1,24 @@ +identifier: bg22_ek4108a +name: EFR32BG22 Explorer Kit (BG22-EK4108A, BRD4108A) +type: mcu +arch: arm +ram: 32 +flash: 512 +toolchain: + - zephyr + - gnuarmemb +supported: + - bluetooth + - counter + - gpio + - uart + - watchdog + - clock_control + - comparator + - i2c + - dma + - spi +testing: + ignore_tags: + - pm +vendor: silabs diff --git a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a_defconfig b/boards/silabs/explorer_kits/xg22/bg22_ek4108a_defconfig similarity index 100% rename from boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a_defconfig rename to boards/silabs/explorer_kits/xg22/bg22_ek4108a_defconfig diff --git a/boards/silabs/explorer_kits/xg22/bgm220_ek4314a.dts b/boards/silabs/explorer_kits/xg22/bgm220_ek4314a.dts new file mode 100644 index 0000000000000..645fc651615ac --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/bgm220_ek4314a.dts @@ -0,0 +1,14 @@ +/* + * Copyright The Zephyr Project Contributors + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "xg22_explorer_kit.dtsi" + +/ { + model = "Silicon Labs BRD4314A (BGM220 Explorer Kit)"; + compatible = "silabs,bgm220_ek4314a", "silabs,efr32bg22"; +}; diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a.yaml b/boards/silabs/explorer_kits/xg22/bgm220_ek4314a.yaml similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a.yaml rename to boards/silabs/explorer_kits/xg22/bgm220_ek4314a.yaml diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a_defconfig b/boards/silabs/explorer_kits/xg22/bgm220_ek4314a_defconfig similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a_defconfig rename to boards/silabs/explorer_kits/xg22/bgm220_ek4314a_defconfig diff --git a/boards/silabs/dev_kits/xg22_ek2710a/board.cmake b/boards/silabs/explorer_kits/xg22/board.cmake similarity index 80% rename from boards/silabs/dev_kits/xg22_ek2710a/board.cmake rename to boards/silabs/explorer_kits/xg22/board.cmake index f62e0c1e1501d..78ec4dabad0f1 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/board.cmake +++ b/boards/silabs/explorer_kits/xg22/board.cmake @@ -4,5 +4,5 @@ board_runner_args(jlink "--device=EFR32MG22C224F512IM40" "--reset-after-load") include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) -board_runner_args(silabs_commander "--device=EFR32MG22E224F512IM40") +board_runner_args(silabs_commander "--device=${CONFIG_SOC}") include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake) diff --git a/boards/silabs/explorer_kits/xg22/board.yml b/boards/silabs/explorer_kits/xg22/board.yml new file mode 100644 index 0000000000000..0d1c9137bb3ea --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/board.yml @@ -0,0 +1,16 @@ +boards: + - name: bgm220_ek4314a + full_name: BGM220 Explorer Kit (BGM220-EK4314A) + vendor: silabs + socs: + - name: bgm220pc22hna + - name: bg22_ek4108a + full_name: EFR32BG22 Explorer Kit (BG22-EK4108A) + vendor: silabs + socs: + - name: efr32bg22c224f512im40 + - name: xg22_ek2710a + full_name: EFR32xG22E Explorer Kit (xG22-EK2710A) + vendor: silabs + socs: + - name: efr32mg22e224f512im40 diff --git a/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.rst b/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.rst new file mode 100644 index 0000000000000..b3f02d7e31c47 --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.rst @@ -0,0 +1,130 @@ +.. zephyr:board:: bg22_ek4108a + +Overview +******** + +The EFR32BG22 Explorer Kit (BG22-EK4108A) contains +a Wireless System-On-Chip from the EFR32BG22 family built on an +ARM Cortex®-M33 processor with excellent low power capabilities. + +Hardware +******** + +- EFR32BG22C224F512IM40 Mighty Gecko SoC +- CPU core: ARM Cortex®-M33 with FPU +- Flash memory: 512 kB +- RAM: 32 kB +- Transmit power: up to +6 dBm +- Operation frequency: 2.4 GHz +- Crystal for HFXO (38.4 MHz) + +For more information about the EFR32BG22 SoC and BRD4108A board, refer to these +documents: + +- `EFR32BG22 Website`_ +- `EFR32BG22 Datasheet`_ +- `EFR32xG22 Reference Manual`_ +- `BRD4108A User Guide`_ + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +Connections and IOs +=================== + +In the following table, the column **Name** contains Pin names. For example, PA2 +means Pin number 2 on PORTA, as used in the board's datasheets and manuals. + ++-------+-------------+-------------------------------------+ +| Name | Function | Usage | ++=======+=============+=====================================+ +| PA4 | GPIO | LED0 | ++-------+-------------+-------------------------------------+ +| PC7 | GPIO | Push Button 0 | ++-------+-------------+-------------------------------------+ +| PA5 | USART1_TX | UART Console VCOM_TX US0_TX | ++-------+-------------+-------------------------------------+ +| PA6 | USART1_RX | UART Console VCOM_RX US0_RX | ++-------+-------------+-------------------------------------+ + +System Clock +============ + +The EFR32BG22 SoC is configured to use the 38.4 MHz external oscillator on the +board, and can operate a clock speeds of up to 76.8 MHz. + +Serial Port +=========== + +The EFR32BG22 SoC has two USARTs and one EUART. +USART1 is connected to the board controller and is used for the console. + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners:: + +.. note:: + Before using the kit the first time, you should update the J-Link firmware + in Simplicity Studio. + +Flashing +======== + +The sample application :zephyr:code-sample:`hello_world` is used for this example. +Build the Zephyr kernel and application: + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: bg22_ek4108a + :goals: build + +Connect the bg22_ek4108a to your host computer using the USB port and you +should see a USB connection. + +Open a serial terminal (minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Reset the board and you'll see the following message on the corresponding serial port +terminal session: + +.. code-block:: console + + Hello World! bg22_ek4108a/efr32bg22c224f512im40 + +Bluetooth +========= + +To use the BLE function, run the command below to retrieve necessary binary +blobs from the SiLabs HAL repository. + +.. code-block:: console + + west blobs fetch hal_silabs + +Then build the Zephyr kernel and a Bluetooth sample with the following +command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in +this example. + +.. zephyr-app-commands:: + :zephyr-app: samples/bluetooth/observer + :board: bg22_ek4108a + :goals: build + +.. _EFR32BG22 Website: + https://www.silabs.com/wireless/bluetooth/efr32bg22-series-2-socs# + +.. _EFR32BG22 Datasheet: + https://www.silabs.com/documents/public/data-sheets/efr32bg22-datasheet.pdf + +.. _EFR32xG22 Reference Manual: + https://www.silabs.com/documents/public/reference-manuals/efr32xg22-rm.pdf + +.. _BRD4108A User Guide: + https://www.silabs.com/documents/public/user-guides/ug509-bg22-ek4108a.pdf diff --git a/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.webp b/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.webp new file mode 100644 index 0000000000000..9c7eb2ae80e7f Binary files /dev/null and b/boards/silabs/explorer_kits/xg22/doc/bg22_ek4108a.webp differ diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/doc/index.rst b/boards/silabs/explorer_kits/xg22/doc/bgm220_ek4314a.rst similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/doc/index.rst rename to boards/silabs/explorer_kits/xg22/doc/bgm220_ek4314a.rst diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/doc/bgm220-ek4314a-explorer-kit.webp b/boards/silabs/explorer_kits/xg22/doc/bgm220_ek4314a.webp similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/doc/bgm220-ek4314a-explorer-kit.webp rename to boards/silabs/explorer_kits/xg22/doc/bgm220_ek4314a.webp diff --git a/boards/silabs/dev_kits/xg22_ek2710a/doc/img/xg22_ek2710a.png b/boards/silabs/explorer_kits/xg22/doc/xg22_ek2710a.png similarity index 100% rename from boards/silabs/dev_kits/xg22_ek2710a/doc/img/xg22_ek2710a.png rename to boards/silabs/explorer_kits/xg22/doc/xg22_ek2710a.png diff --git a/boards/silabs/dev_kits/xg22_ek2710a/doc/index.rst b/boards/silabs/explorer_kits/xg22/doc/xg22_ek2710a.rst similarity index 96% rename from boards/silabs/dev_kits/xg22_ek2710a/doc/index.rst rename to boards/silabs/explorer_kits/xg22/doc/xg22_ek2710a.rst index 53d1533969bdb..66b05aacfd866 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/doc/index.rst +++ b/boards/silabs/explorer_kits/xg22/doc/xg22_ek2710a.rst @@ -49,9 +49,6 @@ means Pin number 2 on PORTA, as used in the board's datasheets and manuals. | PA6 | USART1_RX | UART Console VCOM_RX US0_RX | +-------+-------------+-------------------------------------+ -The default configuration can be found in -:zephyr_file:`boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a_defconfig` - System Clock ============ diff --git a/boards/silabs/explorer_kits/xg22/xg22_ek2710a.dts b/boards/silabs/explorer_kits/xg22/xg22_ek2710a.dts new file mode 100644 index 0000000000000..530f9b3bac967 --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/xg22_ek2710a.dts @@ -0,0 +1,50 @@ +/* + * Copyright The Zephyr Project Contributors + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "xg22_explorer_kit.dtsi" + +/ { + model = "Silicon Labs BRD2710A (xG22 Explorer Kit)"; + compatible = "silabs,xg22_ek2710a", "silabs,efr32mg22"; +}; + +&radio { + pa-voltage-mv = <1800>; +}; + +&hfxo { + ctune = <140>; + precision = <50>; + status = "okay"; +}; + +&lfxo { + ctune = <25>; + precision = <50>; + status = "okay"; +}; + +&em23grpaclk { + clocks = <&lfxo>; +}; + +&em4grpaclk { + clocks = <&lfxo>; +}; + +&prortcclk { + clocks = <&lfxo>; +}; + +&rtccclk { + clocks = <&lfxo>; +}; + +&wdog0clk { + clocks = <&lfxo>; +}; diff --git a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.yaml b/boards/silabs/explorer_kits/xg22/xg22_ek2710a.yaml similarity index 83% rename from boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.yaml rename to boards/silabs/explorer_kits/xg22/xg22_ek2710a.yaml index 11a3ad5c8da80..ed8b28059a08e 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.yaml +++ b/boards/silabs/explorer_kits/xg22/xg22_ek2710a.yaml @@ -1,5 +1,5 @@ identifier: xg22_ek2710a -name: EFR32xG22 Explorer Kit (xG22-EK2710A, BRD2710A) +name: EFR32xG22E Explorer Kit (xG22-EK2710A, BRD2710A) type: mcu arch: arm ram: 32 diff --git a/boards/silabs/explorer_kits/xg22/xg22_ek2710a_defconfig b/boards/silabs/explorer_kits/xg22/xg22_ek2710a_defconfig new file mode 100644 index 0000000000000..6de9817b5a93e --- /dev/null +++ b/boards/silabs/explorer_kits/xg22/xg22_ek2710a_defconfig @@ -0,0 +1,10 @@ +# Copyright The Zephyr Project Contributors +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_ARM_MPU=y +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_GPIO=y +CONFIG_HW_STACK_PROTECTION=y +CONFIG_REGULATOR=y diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a-pinctrl.dtsi b/boards/silabs/explorer_kits/xg22/xg22_explorer_kit-pinctrl.dtsi similarity index 100% rename from boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a-pinctrl.dtsi rename to boards/silabs/explorer_kits/xg22/xg22_explorer_kit-pinctrl.dtsi diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a.dts b/boards/silabs/explorer_kits/xg22/xg22_explorer_kit.dtsi similarity index 95% rename from boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a.dts rename to boards/silabs/explorer_kits/xg22/xg22_explorer_kit.dtsi index eba7608a8ddb2..ff5592d7bb5a3 100644 --- a/boards/silabs/dev_kits/bgm220_ek4314a/bgm220_ek4314a.dts +++ b/boards/silabs/explorer_kits/xg22/xg22_explorer_kit.dtsi @@ -4,18 +4,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -/dts-v1/; -#include #include #include #include #include -#include "bgm220_ek4314a-pinctrl.dtsi" +#include "xg22_explorer_kit-pinctrl.dtsi" / { - model = "Silicon Labs BRD4314A (BGM220 Explorer Kit)"; - compatible = "silabs,bgm220_ek4314a", "silabs,efr32bg22"; - chosen { zephyr,bt-hci = &bt_hci_silabs; zephyr,code-partition = &slot0_partition; diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/Kconfig.defconfig b/boards/silabs/radio_boards/xg22/Kconfig.defconfig similarity index 84% rename from boards/silabs/dev_kits/bgm220_ek4314a/Kconfig.defconfig rename to boards/silabs/radio_boards/xg22/Kconfig.defconfig index 7f56465909f24..749fc8c7d23c5 100644 --- a/boards/silabs/dev_kits/bgm220_ek4314a/Kconfig.defconfig +++ b/boards/silabs/radio_boards/xg22/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright The Zephyr Project Contributors # SPDX-License-Identifier: Apache-2.0 -if BOARD_BGM220_EK4314A +if BOARD_SLWRB4182A || BOARD_SLWRB4311A config LOG_BACKEND_SWO_FREQ_HZ default 875000 @@ -18,4 +18,4 @@ config MAIN_STACK_SIZE endif # BT -endif # BOARD_BGM220_EK4314A +endif diff --git a/boards/silabs/radio_boards/xg22/Kconfig.slwrb4182a b/boards/silabs/radio_boards/xg22/Kconfig.slwrb4182a new file mode 100644 index 0000000000000..aa0a6dabfd9e4 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/Kconfig.slwrb4182a @@ -0,0 +1,5 @@ +# Copyright (c) 2025 Silicon Laboratories Inc. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_SLWRB4182A + select SOC_EFR32MG22C224F512IM40 diff --git a/boards/silabs/radio_boards/xg22/Kconfig.slwrb4311a b/boards/silabs/radio_boards/xg22/Kconfig.slwrb4311a new file mode 100644 index 0000000000000..7242bdfb053dd --- /dev/null +++ b/boards/silabs/radio_boards/xg22/Kconfig.slwrb4311a @@ -0,0 +1,5 @@ +# Copyright (c) 2025 Silicon Laboratories Inc. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_SLWRB4311A + select SOC_BGM220PC22HNA diff --git a/boards/silabs/dev_kits/bgm220_ek4314a/board.cmake b/boards/silabs/radio_boards/xg22/board.cmake similarity index 59% rename from boards/silabs/dev_kits/bgm220_ek4314a/board.cmake rename to boards/silabs/radio_boards/xg22/board.cmake index a0b07f239f3ae..78ec4dabad0f1 100644 --- a/boards/silabs/dev_kits/bgm220_ek4314a/board.cmake +++ b/boards/silabs/radio_boards/xg22/board.cmake @@ -1,8 +1,8 @@ # Copyright The Zephyr Project Contributors # SPDX-License-Identifier: Apache-2.0 -board_runner_args(jlink "--device=BGM220PC22HNA" "--reset-after-load") +board_runner_args(jlink "--device=EFR32MG22C224F512IM40" "--reset-after-load") include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) -board_runner_args(silabs_commander "--device=BGM220PC22HNA") +board_runner_args(silabs_commander "--device=${CONFIG_SOC}") include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake) diff --git a/boards/silabs/radio_boards/xg22/board.yml b/boards/silabs/radio_boards/xg22/board.yml new file mode 100644 index 0000000000000..1c3e5c82f5e85 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/board.yml @@ -0,0 +1,11 @@ +boards: + - name: slwrb4182a + full_name: EFR32xG22 2.4 GHz +6 dBm Radio Board + vendor: silabs + socs: + - name: efr32mg22c224f512im40 + - name: slwrb4311a + full_name: BGM220P Bluetooth Module 2.4 GHz +8 dBm Radio Board + vendor: silabs + socs: + - name: bgm220pc22hna diff --git a/boards/silabs/radio_boards/xg22/doc/slwrb4182a.rst b/boards/silabs/radio_boards/xg22/doc/slwrb4182a.rst new file mode 100644 index 0000000000000..1ccde6c01553a --- /dev/null +++ b/boards/silabs/radio_boards/xg22/doc/slwrb4182a.rst @@ -0,0 +1,97 @@ +.. zephyr:board:: slwrb4182a + +Overview +******** + +The `EFR32xG22 Wireless Gecko 2.4 GHz +6 dBm Radio Board`_ is available standalone and as part of +the `EFR32xG22 Wireless Gecko Starter Kit`_. It is a complete reference design for the EFR32xG22 +Wireless SoC, with matching network and a PCB antenna for 6 dBm output power in the 2.4 GHz band. + +See :ref:`silabs_radio_boards` for more information about the Wireless Mainboard platform. + +.. _EFR32xG22 Wireless Gecko 2.4 GHz +6 dBm Radio Board: + https://www.silabs.com/development-tools/wireless/slwrb4182a-efr32xg22-wireless-gecko-radio-board + +.. _EFR32xG22 Wireless Gecko Starter Kit: + https://www.silabs.com/development-tools/wireless/efr32xg22-wireless-starter-kit + +Hardware +******** + +- EFR32MG22C224F512IM40 SoC +- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone +- Memory: 512 kB Flash, 32 kB RAM +- Transmit power: up to +6 dBm +- Operation frequency: 2.4 GHz +- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz) +- 8 Mbit SPI NOR Flash + +For more information about the EFR32MG22 SoC and BRD4182A board, refer to these documents: + +- `SLWRB4182A User Guide `__ +- `EFR32xG22 Reference Manual `__ +- `EFR32MG22 Datasheet `__ + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +System Clock +============ + +The EFR32MG22 SoC is configured to use the HFRCODPLL oscillator at 76.8 MHz as the system +clock, locked to the 38.4 MHz external crystal oscillator on the board. + +Serial Port +=========== + +The EFR32MG22 SoC has two USARTs and one EUART. +USART1 is connected to the board controller and is used for the console. + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners :: + +Connect the BRD4001A mainboard with a mounted BRD4182A radio board to your host +computer using the USB port. + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: slwrb4182a + :goals: flash + +Open a serial terminal (minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Reset the board and you should see the following message in the terminal: + +.. code-block:: console + + Hello World! slwrb4182a + +Bluetooth +========= + +To use Bluetooth functionality, run the command below to retrieve necessary binary +blobs from the Silicon Labs HAL repository. + +.. code-block:: console + + west blobs fetch hal_silabs + +Then build the Zephyr kernel and a Bluetooth sample with the following +command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in +this example. + +.. zephyr-app-commands:: + :zephyr-app: samples/bluetooth/observer + :board: slwrb4182a + :goals: build diff --git a/boards/silabs/radio_boards/xg22/doc/slwrb4182a.webp b/boards/silabs/radio_boards/xg22/doc/slwrb4182a.webp new file mode 100644 index 0000000000000..a2a87a9a8b6dc Binary files /dev/null and b/boards/silabs/radio_boards/xg22/doc/slwrb4182a.webp differ diff --git a/boards/silabs/radio_boards/xg22/doc/slwrb4311a.rst b/boards/silabs/radio_boards/xg22/doc/slwrb4311a.rst new file mode 100644 index 0000000000000..6860aa70c4853 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/doc/slwrb4311a.rst @@ -0,0 +1,97 @@ +.. zephyr:board:: slwrb4311a + +Overview +******** + +The `BGM220PC22 Bluetooth Module 2.4 GHz +8 dBm Radio Board`_ is available standalone and as part of +the `BGM220 Bluetooth Module Wireless Starter Kit`_. It is a complete reference design for the BGM220 +Wireless Module. + +See :ref:`silabs_radio_boards` for more information about the Wireless Mainboard platform. + +.. _BGM220PC22 Bluetooth Module 2.4 GHz +8 dBm Radio Board: + https://www.silabs.com/development-tools/wireless/bluetooth/slwrb4311a-bgm220pc22-bluetooth-module-radio-board + +.. _BGM220 Bluetooth Module Wireless Starter Kit: + https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-wireless-starter-kit + +Hardware +******** + +- BGM220PC22HNA module based on EFR32BG22 SoC +- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone +- Memory: 512 kB Flash, 32 kB RAM +- Transmit power: up to +8 dBm +- Operation frequency: 2.4 GHz +- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz) +- 8 Mbit SPI NOR Flash + +For more information about the BGM220 module and BRD4311A board, refer to these documents: + +- `SLWRB4311A User Guide `__ +- `EFR32xG22 Reference Manual `__ +- `BGM220P Datasheet `__ + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +System Clock +============ + +The BGM220 module is configured to use the HFRCODPLL oscillator at 76.8 MHz as the system +clock, locked to the 38.4 MHz external crystal oscillator on the board. + +Serial Port +=========== + +The BGM220 module has two USARTs and one EUART. +USART1 is connected to the board controller and is used for the console. + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners :: + +Connect the BRD4001A mainboard with a mounted BRD4311A radio board to your host +computer using the USB port. + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: slwrb4311a + :goals: flash + +Open a serial terminal (minicom, putty, etc.) with the following settings: + +- Speed: 115200 +- Data: 8 bits +- Parity: None +- Stop bits: 1 + +Reset the board and you should see the following message in the terminal: + +.. code-block:: console + + Hello World! slwrb4311a + +Bluetooth +========= + +To use Bluetooth functionality, run the command below to retrieve necessary binary +blobs from the Silicon Labs HAL repository. + +.. code-block:: console + + west blobs fetch hal_silabs + +Then build the Zephyr kernel and a Bluetooth sample with the following +command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in +this example. + +.. zephyr-app-commands:: + :zephyr-app: samples/bluetooth/observer + :board: slwrb4311a + :goals: build diff --git a/boards/silabs/radio_boards/xg22/doc/slwrb4311a.webp b/boards/silabs/radio_boards/xg22/doc/slwrb4311a.webp new file mode 100644 index 0000000000000..f5e5998347077 Binary files /dev/null and b/boards/silabs/radio_boards/xg22/doc/slwrb4311a.webp differ diff --git a/boards/silabs/radio_boards/xg22/pre_dt_board.cmake b/boards/silabs/radio_boards/xg22/pre_dt_board.cmake new file mode 100644 index 0000000000000..beb76b85552d1 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/pre_dt_board.cmake @@ -0,0 +1,5 @@ +# Copyright (c) 2021 Linaro Limited +# SPDX-License-Identifier: Apache-2.0 + +# SPI is implemented via usart so node name isn't spi@... +list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge") diff --git a/boards/silabs/radio_boards/xg22/slwrb4182a.dts b/boards/silabs/radio_boards/xg22/slwrb4182a.dts new file mode 100644 index 0000000000000..bc59e74790421 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4182a.dts @@ -0,0 +1,136 @@ +/* + * Copyright The Zephyr Project Contributors + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "xg22_radio_board.dtsi" + +/ { + model = "Silicon Labs BRD4182A (EFR32xG22 Radio Board)"; + compatible = "silabs,slwrb4182a", "silabs,efr32mg22"; + + aliases { + led0 = &led0; + led1 = &led1; + pwm-led0 = &pwm_led0; + pwm-led1 = &pwm_led1; + }; + + leds { + compatible = "gpio-leds"; + + led0: led_0 { + gpios = <&gpiod 2 GPIO_ACTIVE_HIGH>; + label = "LED 0"; + }; + + led1: led_1 { + gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>; + label = "LED 1"; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + + pwm_led0: pwm_led_0 { + pwms = <&timer0_pwm 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + + pwm_led1: pwm_led_1 { + pwms = <&timer0_pwm 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + }; + + sensor_enable: gpio_switch_0 { + compatible = "regulator-fixed"; + enable-gpios = <&gpioc 7 GPIO_ACTIVE_HIGH>; + regulator-name = "sensor_enable"; + }; + + exp_header: exp-header { + compatible = "silabs,exp-header"; + #gpio-cells = <2>; + gpio-map = <4 0 &gpioc 0 0>, + <6 0 &gpioc 1 0>, + <7 0 &gpiob 0 0>, + <8 0 &gpioc 2 0>, + <9 0 &gpiob 1 0>, + <10 0 &gpioc 3 0>, + <11 0 &gpiod 2 0>, + <12 0 &gpioa 5 0>, + <13 0 &gpiod 3 0>, + <14 0 &gpioa 6 0>, + <15 0 &gpiob 2 0>, + <16 0 &gpiob 3 0>; + gpio-map-mask = <0xffffffff 0x0>; + gpio-map-pass-thru = <0x0 GPIO_DT_FLAGS_MASK>; + }; +}; + +&hfxo { + ctune = <120>; + precision = <50>; + status = "okay"; +}; + +&lfxo { + ctune = <37>; + precision = <50>; + status = "okay"; +}; + +&prortcclk { + clocks = <&lfxo>; +}; + +&rtccclk { + clocks = <&lfxo>; +}; + +&wdog0clk { + clocks = <&lfxo>; +}; + +&em23grpaclk { + clocks = <&lfxo>; +}; + +&em4grpaclk { + clocks = <&lfxo>; +}; + +&radio { + pa-voltage-mv = <1800>; +}; + +&si7021 { + vin-supply = <&sensor_enable>; +}; + +&ls013b7dh03 { + disp-en-gpios = <&gpioc 7 GPIO_ACTIVE_HIGH>; +}; + +&pinctrl { + timer0_default: timer0_default { + group0 { + pins = , ; + drive-push-pull; + output-low; + }; + }; +}; + +&timer0 { + status = "okay"; + + timer0_pwm: pwm { + pinctrl-0 = <&timer0_default>; + pinctrl-names = "default"; + status = "okay"; + }; +}; diff --git a/boards/silabs/radio_boards/xg22/slwrb4182a.yaml b/boards/silabs/radio_boards/xg22/slwrb4182a.yaml new file mode 100644 index 0000000000000..aff68c918c934 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4182a.yaml @@ -0,0 +1,26 @@ +identifier: slwrb4182a +name: EFR32xG22 2.4 GHz +6 dBm Radio Board (SLWRB4182A) +type: mcu +arch: arm +ram: 32 +flash: 512 +toolchain: + - zephyr + - gnuarmemb +supported: + - bluetooth + - clock_control + - comparator + - counter + - dma + - entropy + - gpio + - flash + - i2c + - led + - pinctrl + - pwm + - spi + - uart + - watchdog +vendor: silabs diff --git a/boards/silabs/radio_boards/xg22/slwrb4182a_defconfig b/boards/silabs/radio_boards/xg22/slwrb4182a_defconfig new file mode 100644 index 0000000000000..e70f8f5c5197d --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4182a_defconfig @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_ARM_MPU=y +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_GPIO=y diff --git a/boards/silabs/radio_boards/xg22/slwrb4311a.dts b/boards/silabs/radio_boards/xg22/slwrb4311a.dts new file mode 100644 index 0000000000000..b17d1a1960b26 --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4311a.dts @@ -0,0 +1,98 @@ +/* + * Copyright The Zephyr Project Contributors + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "xg22_radio_board.dtsi" + +/ { + model = "Silicon Labs BRD4311A (BGM220 Radio Board)"; + compatible = "silabs,slwrb4311a", "silabs,bgm220"; + + aliases { + led0 = &led0; + led1 = &led1; + pwm-led0 = &pwm_led0; + pwm-led1 = &pwm_led1; + }; + + leds { + compatible = "gpio-leds"; + + led0: led_0 { + gpios = <&gpiob 0 GPIO_ACTIVE_LOW>; + label = "LED 0"; + }; + + led1: led_1 { + gpios = <&gpiob 1 GPIO_ACTIVE_LOW>; + label = "LED 1"; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + + pwm_led0: pwm_led_0 { + pwms = <&timer0_pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>; + }; + + pwm_led1: pwm_led_1 { + pwms = <&timer0_pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>; + }; + }; + + sensor_enable: gpio_switch_0 { + compatible = "regulator-fixed"; + enable-gpios = <&gpiod 2 GPIO_ACTIVE_HIGH>; + regulator-name = "sensor_enable"; + }; + + exp_header: exp-header { + compatible = "silabs,exp-header"; + #gpio-cells = <2>; + gpio-map = <4 0 &gpioc 0 0>, + <6 0 &gpioc 1 0>, + <7 0 &gpiob 0 0>, + <8 0 &gpioc 2 0>, + <9 0 &gpiob 1 0>, + <10 0 &gpioc 3 0>, + <12 0 &gpioa 5 0>, + <14 0 &gpioa 6 0>, + <15 0 &gpiob 2 0>, + <16 0 &gpiob 3 0>; + gpio-map-mask = <0xffffffff 0x0>; + gpio-map-pass-thru = <0x0 GPIO_DT_FLAGS_MASK>; + }; +}; + +&si7021 { + vin-supply = <&sensor_enable>; +}; + +&ls013b7dh03 { + disp-en-gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>; +}; + +&pinctrl { + timer0_default: timer0_default { + group0 { + pins = , ; + drive-push-pull; + output-high; + }; + }; +}; + +&timer0 { + status = "okay"; + + timer0_pwm: pwm { + pinctrl-0 = <&timer0_default>; + pinctrl-names = "default"; + status = "okay"; + }; +}; diff --git a/boards/silabs/radio_boards/xg22/slwrb4311a.yaml b/boards/silabs/radio_boards/xg22/slwrb4311a.yaml new file mode 100644 index 0000000000000..c7abdead34c7a --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4311a.yaml @@ -0,0 +1,26 @@ +identifier: slwrb4311a +name: BGM220P Bluetooth Module 2.4 GHz +8 dBm Radio Board (SLWRB4311A) +type: mcu +arch: arm +ram: 32 +flash: 512 +toolchain: + - zephyr + - gnuarmemb +supported: + - bluetooth + - clock_control + - comparator + - counter + - dma + - entropy + - gpio + - flash + - i2c + - led + - pinctrl + - pwm + - spi + - uart + - watchdog +vendor: silabs diff --git a/boards/silabs/radio_boards/xg22/slwrb4311a_defconfig b/boards/silabs/radio_boards/xg22/slwrb4311a_defconfig new file mode 100644 index 0000000000000..e70f8f5c5197d --- /dev/null +++ b/boards/silabs/radio_boards/xg22/slwrb4311a_defconfig @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_ARM_MPU=y +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_GPIO=y diff --git a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a-pinctrl.dtsi b/boards/silabs/radio_boards/xg22/xg22_radio_board-pinctrl.dtsi similarity index 67% rename from boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a-pinctrl.dtsi rename to boards/silabs/radio_boards/xg22/xg22_radio_board-pinctrl.dtsi index ced65cfe32640..653610d4964eb 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a-pinctrl.dtsi +++ b/boards/silabs/radio_boards/xg22/xg22_radio_board-pinctrl.dtsi @@ -1,10 +1,10 @@ /* - * Copyright The Zephyr Project Contributors + * Copyright (c) 2025 Silicon Laboratories Inc. * * SPDX-License-Identifier: Apache-2.0 */ -#include +#include &pinctrl { itm_default: itm_default { @@ -17,7 +17,7 @@ i2c0_default: i2c0_default { group0 { - pins = , ; + pins = , ; bias-pull-up; drive-open-drain; }; @@ -31,12 +31,18 @@ }; }; - timer0_default: timer0_default { + usart0_default: usart0_default { group0 { - pins = ; + pins = , ; drive-push-pull; output-high; }; + + group1 { + pins = ; + input-enable; + silabs,input-filter; + }; }; usart1_default: usart1_default { diff --git a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.dts b/boards/silabs/radio_boards/xg22/xg22_radio_board.dtsi similarity index 60% rename from boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.dts rename to boards/silabs/radio_boards/xg22/xg22_radio_board.dtsi index 9c7fe5520c929..d52528fcaf829 100644 --- a/boards/silabs/dev_kits/xg22_ek2710a/xg22_ek2710a.dts +++ b/boards/silabs/radio_boards/xg22/xg22_radio_board.dtsi @@ -1,24 +1,20 @@ /* - * Copyright The Zephyr Project Contributors + * Copyright (c) 2025 Silicon Laboratories Inc. * * SPDX-License-Identifier: Apache-2.0 */ -/dts-v1/; -#include #include -#include #include -#include "xg22_ek2710a-pinctrl.dtsi" +#include +#include "xg22_radio_board-pinctrl.dtsi" / { - model = "Silicon Labs BRD2710A (xG22 Explorer Kit)"; - compatible = "silabs,xg22_ek2710a", "silabs,efr32mg22"; - chosen { zephyr,bt-hci = &bt_hci_silabs; zephyr,code-partition = &slot0_partition; zephyr,console = &usart1; + zephyr,display = &ls013b7dh03; zephyr,flash = &flash0; zephyr,shell-uart = &usart1; zephyr,sram = &sram0; @@ -26,49 +22,27 @@ }; aliases { - led0 = &led0; - pwm-led0 = &pwm_led0; + dht0 = &si7021; + spi-flash0 = &mx25r80; sw0 = &button0; + sw1 = &button1; watchdog0 = &wdog0; - - /* If enabled, MCUboot uses this for recovery mode entrance */ - mcuboot-led0 = &led0; - mcuboot-button0 = &button0; - }; - - leds { - compatible = "gpio-leds"; - - led0: led_0 { - gpios = <&gpioa 4 GPIO_ACTIVE_HIGH>; - }; - }; - - pwmleds { - compatible = "pwm-leds"; - - pwm_led0: pwm_led_0 { - pwms = <&timer0_pwm 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; - }; }; buttons { compatible = "gpio-keys"; button0: button_0 { - gpios = <&gpioc 7 GPIO_ACTIVE_LOW>; + gpios = <&gpiob 0 GPIO_ACTIVE_LOW>; + label = "User Push Button 0"; zephyr,code = ; }; - }; -}; - -&timer0 { - status = "okay"; - timer0_pwm: pwm { - pinctrl-0 = <&timer0_default>; - pinctrl-names = "default"; - status = "okay"; + button1: button_1 { + gpios = <&gpiob 1 GPIO_ACTIVE_LOW>; + label = "User Push Button 1"; + zephyr,code = ; + }; }; }; @@ -76,24 +50,18 @@ clock-frequency = <76800000>; }; +&dcdc { + regulator-boot-on; + regulator-initial-mode = ; + status = "okay"; +}; + &itm { pinctrl-0 = <&itm_default>; pinctrl-names = "default"; swo-ref-frequency = ; }; -&hfxo { - ctune = <121>; - precision = <50>; - status = "okay"; -}; - -&lfxo { - ctune = <42>; - precision = <50>; - status = "okay"; -}; - &hfrcodpll { clock-frequency = ; clocks = <&hfxo>; @@ -104,38 +72,58 @@ dpll-n = <3839>; }; -&em23grpaclk { - clocks = <&lfxo>; -}; +&i2c0 { + pinctrl-0 = <&i2c0_default>; + pinctrl-names = "default"; + status = "okay"; -&em4grpaclk { - clocks = <&lfxo>; + si7021: si7021@40 { + compatible = "silabs,si7006"; + reg = <0x40>; + }; }; -&rtccclk { - clocks = <&lfxo>; -}; +&usart0 { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = ; + pinctrl-0 = <&usart0_default>; + pinctrl-names = "default"; + status = "okay"; + + cs-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>, <&gpioc 6 GPIO_ACTIVE_HIGH>; -&wdog0clk { - clocks = <&lfxo>; + mx25r80: mx25r8035f@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + dpd-wakeup-sequence = <30000 20 35000>; + has-dpd; + jedec-id = [c2 28 14]; + mxicy,mx25r-power-mode = "low-power"; + size = <0x800000>; + spi-max-frequency = ; + t-enter-dpd = <0>; + zephyr,pm-device-runtime-auto; + }; + + ls013b7dh03: ls0xx@1 { + compatible = "sharp,ls0xx"; + reg = <1>; + height = <128>; + spi-max-frequency = ; + width = <128>; + extcomin-gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>; + extcomin-frequency = <60>; + }; }; &usart1 { + current-speed = <115200>; pinctrl-0 = <&usart1_default>; pinctrl-names = "default"; status = "okay"; }; -&i2c0 { - pinctrl-0 = <&i2c0_default>; - pinctrl-names = "default"; - status = "okay"; -}; - -&wdog0 { - status = "okay"; -}; - &gpio { status = "okay"; }; @@ -146,6 +134,12 @@ &gpiob { status = "okay"; + + vcom-enable { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; + output-high; + }; }; &gpioc { @@ -156,11 +150,11 @@ status = "okay"; }; -&rtcc0 { +&wdog0 { status = "okay"; }; -&adc0 { +&rtcc0 { status = "okay"; }; @@ -168,9 +162,7 @@ status = "okay"; }; -&dcdc { - regulator-boot-on; - regulator-initial-mode = ; +&bt_hci_silabs { status = "okay"; }; @@ -180,37 +172,24 @@ #address-cells = <1>; #size-cells = <1>; - /* Reserve 48 KiB for the bootloader */ boot_partition: partition@0 { reg = <0x00000000 DT_SIZE_K(48)>; label = "mcuboot"; - read-only; }; - /* Reserve 224 KiB for the application in slot 0 */ slot0_partition: partition@c000 { reg = <0x0000c000 DT_SIZE_K(224)>; label = "image-0"; }; - /* Reserve 224 KiB for the application in slot 1 */ slot1_partition: partition@44000 { reg = <0x00044000 DT_SIZE_K(224)>; label = "image-1"; }; - /* Set 16 KiB of storage at the end of the 512 KiB of flash */ storage_partition: partition@7c000 { reg = <0x0007c000 DT_SIZE_K(16)>; label = "storage"; }; }; }; - -&radio { - pa-voltage-mv = <1800>; -}; - -&bt_hci_silabs { - status = "okay"; -}; diff --git a/samples/basic/button/boards/slwrb4311a.overlay b/samples/basic/button/boards/slwrb4311a.overlay new file mode 100644 index 0000000000000..58c02cf373ecb --- /dev/null +++ b/samples/basic/button/boards/slwrb4311a.overlay @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + /* led0 interferes with sw0 since it uses the same pin */ + /delete-property/ led0; + }; +};