boards: silabs: Add xgm240_rb4316a and xgm240_rb4317a

Add support for xGM240-RB4316A and xGM240-RB4317A radio boards
for xGM240 modules. The two boards share pinout configuration, but
have different radio and power configurations.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
diff --git a/boards/silabs/radio_boards/xg24/Kconfig.defconfig b/boards/silabs/radio_boards/xg24/Kconfig.defconfig
index 040d6fb..3b33954 100644
--- a/boards/silabs/radio_boards/xg24/Kconfig.defconfig
+++ b/boards/silabs/radio_boards/xg24/Kconfig.defconfig
@@ -3,7 +3,7 @@
 # Copyright (c) 2025 Silicon Laboratories Inc.
 # SPDX-License-Identifier: Apache-2.0
 
-if BOARD_XG24_RB4186C || BOARD_XG24_RB4187C
+if BOARD_XG24_RB4186C || BOARD_XG24_RB4187C || BOARD_XGM240_RB4316A || BOARD_XGM240_RB4317A
 
 config LOG_BACKEND_SWO_FREQ_HZ
 	default 875000
diff --git a/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4316a b/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4316a
new file mode 100644
index 0000000..7715bc9
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4316a
@@ -0,0 +1,5 @@
+# Copyright (c) 2025 Silicon Laboratories Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+config BOARD_XGM240_RB4316A
+	select SOC_MGM240PB22VNA
diff --git a/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4317a b/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4317a
new file mode 100644
index 0000000..5a6b5e3
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4317a
@@ -0,0 +1,5 @@
+# Copyright (c) 2025 Silicon Laboratories Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+config BOARD_XGM240_RB4317A
+	select SOC_MGM240PB32VNA
diff --git a/boards/silabs/radio_boards/xg24/board.yml b/boards/silabs/radio_boards/xg24/board.yml
index 518f999..8e0834d 100644
--- a/boards/silabs/radio_boards/xg24/board.yml
+++ b/boards/silabs/radio_boards/xg24/board.yml
@@ -9,3 +9,13 @@
     vendor: silabs
     socs:
       - name: efr32mg24b220f1536im48
+  - name: xgm240_rb4316a
+    full_name: xGM240P 10 dBm Module Radio Board (xGM240-RB4316A)
+    vendor: silabs
+    socs:
+      - name: mgm240pb22vna
+  - name: xgm240_rb4317a
+    full_name: xGM240P 20 dBm Module Radio Board (xGM240-RB4317A)
+    vendor: silabs
+    socs:
+      - name: mgm240pb32vna
diff --git a/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.rst b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.rst
new file mode 100644
index 0000000..c8e7931
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.rst
@@ -0,0 +1,116 @@
+.. zephyr:board:: xgm240_rb4316a
+
+Overview
+********
+
+The `xGM240P +10 dBm Module Radio Board`_ for the xGM240P module contains a Wireless
+System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
+power capabilities.
+
+The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
+of several :ref:`silabs_radio_boards`.
+
+.. _xGM240P +10 dBm Module Radio Board:
+   https://www.silabs.com/development-tools/wireless/xgm240-rb4316a-xgm240p-module-radio-board
+
+Hardware
+********
+
+- MGM240PB32VNA module based on EFR32MG24
+- CPU core: ARM Cortex®-M33 with FPU
+- Flash memory: 1536 kB
+- RAM: 256 kB
+- Transmit power: up to +10 dBm
+- Operation frequency: 2.4 GHz
+- Crystal for LFXO (32.768 kHz) on the board and HFXO (39 MHz) in the module.
+
+For more information about the MGM240P module, EFR32MG24 SoC and BRD4316A board, refer to these
+documents:
+
+- `MGM240 Modules Website`_
+- `MGM240P Datasheet`_
+- `EFR32xG24 Reference Manual`_
+- `BRD4316A User Guide`_
+
+.. _MGM240 Modules Website:
+   https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules
+.. _MGM240P Datasheet:
+   https://www.silabs.com/documents/public/data-sheets/mgm240p-datasheet.pdf
+.. _EFR32xG24 Reference Manual:
+   https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
+.. _BRD4316A User Guide:
+   https://www.silabs.com/documents/public/user-guides/ug528-brd4316a-user-guide.pdf
+
+Supported Features
+==================
+
+.. zephyr:board-supported-hw::
+
+System Clock
+============
+
+The MGM240P module is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
+locked to the 39 MHz external crystal oscillator on the board.
+
+Serial Port
+===========
+
+The MGM240P module has one USART and two EUSARTs.
+USART0 is connected to the board controller and is used for the console.
+
+Buttons and LEDs
+================
+
+This board has two buttons and two LEDs that share GPIO pins. If an application wants to use both
+a button and a LED with the same number (e.g. button 0 and LED 0), it needs to time multiplex the
+two functions.
+
+Programming and Debugging
+*************************
+
+.. zephyr:board-supported-runners::
+
+Flashing
+========
+
+Connect the BRD4002A board with a mounted BRD4186C 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: xgm240_rb4316a
+   :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! xgm240_rb4316a
+
+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: xgm240_rb4316a
+   :goals: build
diff --git a/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.webp b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.webp
new file mode 100644
index 0000000..8c7519f
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.webp
Binary files differ
diff --git a/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.rst b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.rst
new file mode 100644
index 0000000..8baa8b5
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.rst
@@ -0,0 +1,116 @@
+.. zephyr:board:: xgm240_rb4317a
+
+Overview
+********
+
+The `xGM240P +20 dBm Module Radio Board`_ for the xGM240P module contains a Wireless
+System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
+power capabilities.
+
+The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
+of several :ref:`silabs_radio_boards`.
+
+.. _xGM240P +20 dBm Module Radio Board:
+   https://www.silabs.com/development-tools/wireless/xgm240-rb4317a-xgm240p-module-radio-board
+
+Hardware
+********
+
+- MGM240PB32VNA module based on EFR32MG24
+- CPU core: ARM Cortex®-M33 with FPU
+- Flash memory: 1536 kB
+- RAM: 256 kB
+- Transmit power: up to +20 dBm
+- Operation frequency: 2.4 GHz
+- Crystal for LFXO (32.768 kHz) on the board and HFXO (39 MHz) in the module.
+
+For more information about the MGM240P module, EFR32MG24 SoC and BRD4317A board, refer to these
+documents:
+
+- `MGM240 Modules Website`_
+- `MGM240P Datasheet`_
+- `EFR32xG24 Reference Manual`_
+- `BRD4317A User Guide`_
+
+.. _MGM240 Modules Website:
+   https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules
+.. _MGM240P Datasheet:
+   https://www.silabs.com/documents/public/data-sheets/mgm240p-datasheet.pdf
+.. _EFR32xG24 Reference Manual:
+   https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
+.. _BRD4317A User Guide:
+   https://www.silabs.com/documents/public/user-guides/ug529-brd4317a-user-guide.pdf
+
+Supported Features
+==================
+
+.. zephyr:board-supported-hw::
+
+System Clock
+============
+
+The MGM240P module is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
+locked to the 39 MHz external crystal oscillator on the board.
+
+Serial Port
+===========
+
+The MGM240P module has one USART and two EUSARTs.
+USART0 is connected to the board controller and is used for the console.
+
+Buttons and LEDs
+================
+
+This board has two buttons and two LEDs that share GPIO pins. If an application wants to use both
+a button and a LED with the same number (e.g. button 0 and LED 0), it needs to time multiplex the
+two functions.
+
+Programming and Debugging
+*************************
+
+.. zephyr:board-supported-runners::
+
+Flashing
+========
+
+Connect the BRD4002A board with a mounted BRD4186C 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: xgm240_rb4317a
+   :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! xgm240_rb4317a
+
+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: xgm240_rb4317a
+   :goals: build
diff --git a/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.webp b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.webp
new file mode 100644
index 0000000..3bf8411
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/doc/xgm240_rb4317a.webp
Binary files differ
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb4316a.dts b/boards/silabs/radio_boards/xg24/xgm240_rb4316a.dts
new file mode 100644
index 0000000..17a9ecb
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4316a.dts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2025 Silicon Laboratories Inc.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/dts-v1/;
+#include <silabs/xg24/mgm240pb22vna.dtsi>
+#include "xgm240_rb431xa.dtsi"
+
+/ {
+	model = "Silicon Labs xGM240P +10 dBm Module Radio Board (xGM240-RB4316A, BRD4316A)";
+	compatible = "silabs,xgm240_rb4316a", "silabs,mgm24";
+};
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb4316a.yaml b/boards/silabs/radio_boards/xg24/xgm240_rb4316a.yaml
new file mode 100644
index 0000000..9b25799
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4316a.yaml
@@ -0,0 +1,23 @@
+identifier: xgm240_rb4316a
+name: xGM240P +10 dBm Module Radio Board (xGM240-RB4316A, BRD4316A)
+type: mcu
+arch: arm
+ram: 256
+flash: 1536
+toolchain:
+  - zephyr
+  - gnuarmemb
+supported:
+  - bluetooth
+  - comparator
+  - counter
+  - dac
+  - dma
+  - entropy
+  - flash
+  - gpio
+  - pwm
+  - spi
+  - uart
+  - watchdog
+vendor: silabs
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb4316a_defconfig b/boards/silabs/radio_boards/xg24/xgm240_rb4316a_defconfig
new file mode 100644
index 0000000..8401c4d
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4316a_defconfig
@@ -0,0 +1,8 @@
+# Copyright (c) 2025 Silicon Laboratories Inc.
+# 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/xg24/xgm240_rb4317a.dts b/boards/silabs/radio_boards/xg24/xgm240_rb4317a.dts
new file mode 100644
index 0000000..454a2f1
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4317a.dts
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2025 Silicon Laboratories Inc.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/dts-v1/;
+#include <silabs/xg24/mgm240pb32vna.dtsi>
+#include "xgm240_rb431xa.dtsi"
+
+/ {
+	model = "Silicon Labs xGM240P +20 dBm Module Radio Board (xGM240-RB4317A, BRD4317A)";
+	compatible = "silabs,xgm240_rb4317a", "silabs,mgm24";
+};
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb4317a.yaml b/boards/silabs/radio_boards/xg24/xgm240_rb4317a.yaml
new file mode 100644
index 0000000..a8ea40c
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4317a.yaml
@@ -0,0 +1,23 @@
+identifier: xgm240_rb4317a
+name: xGM240P +20 dBm Module Radio Board (xGM240-RB4317A, BRD4317A)
+type: mcu
+arch: arm
+ram: 256
+flash: 1536
+toolchain:
+  - zephyr
+  - gnuarmemb
+supported:
+  - bluetooth
+  - comparator
+  - counter
+  - dac
+  - dma
+  - entropy
+  - flash
+  - gpio
+  - pwm
+  - spi
+  - uart
+  - watchdog
+vendor: silabs
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb4317a_defconfig b/boards/silabs/radio_boards/xg24/xgm240_rb4317a_defconfig
new file mode 100644
index 0000000..8401c4d
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb4317a_defconfig
@@ -0,0 +1,8 @@
+# Copyright (c) 2025 Silicon Laboratories Inc.
+# 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/xg24/xgm240_rb431xa-pinctrl.dtsi b/boards/silabs/radio_boards/xg24/xgm240_rb431xa-pinctrl.dtsi
new file mode 100644
index 0000000..9267ab7
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb431xa-pinctrl.dtsi
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2025 Silicon Laboratories Inc.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <zephyr/dt-bindings/pinctrl/silabs/xg24-pinctrl.h>
+
+&pinctrl {
+	eusart1_default: eusart1_default {
+		group0 {
+			pins = <EUSART1_TX_PC0>, <EUSART1_SCLK_PC2>;
+			drive-push-pull;
+			output-high;
+		};
+
+		group1 {
+			pins = <EUSART1_RX_PC1>;
+			input-enable;
+			silabs,input-filter;
+		};
+	};
+
+	itm_default: itm_default {
+		group0 {
+			pins = <GPIO_SWV_PA3>;
+			drive-push-pull;
+			output-high;
+		};
+	};
+
+	i2c0_default: i2c0_default {
+		group0 {
+			pins = <I2C0_SCL_PB2>, <I2C0_SDA_PB3>;
+			drive-open-drain;
+			bias-pull-up;
+		};
+	};
+
+	pti_default: pti_default {
+		group0 {
+			pins = <PTI_DOUT_PC4>, <PTI_DFRAME_PC5>;
+			drive-push-pull;
+			output-high;
+		};
+	};
+
+	timer0_default: timer0_default {
+		group0 {
+			pins = <TIMER0_CC0_PB0>, <TIMER0_CC1_PB1>;
+			drive-push-pull;
+			output-high;
+		};
+	};
+
+	usart0_default: usart0_default {
+		group0 {
+			pins = <USART0_TX_PA5>;
+			drive-push-pull;
+			output-high;
+		};
+
+		group1 {
+			pins = <USART0_RX_PA6>;
+			input-enable;
+			silabs,input-filter;
+		};
+	};
+};
diff --git a/boards/silabs/radio_boards/xg24/xgm240_rb431xa.dtsi b/boards/silabs/radio_boards/xg24/xgm240_rb431xa.dtsi
new file mode 100644
index 0000000..7e22f7e
--- /dev/null
+++ b/boards/silabs/radio_boards/xg24/xgm240_rb431xa.dtsi
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2025 Silicon Laboratories Inc.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+#include <zephyr/dt-bindings/pwm/pwm.h>
+#include <zephyr/dt-bindings/regulator/silabs_dcdc.h>
+#include "xgm240_rb431xa-pinctrl.dtsi"
+
+/ {
+	chosen {
+		zephyr,bt-hci = &bt_hci_silabs;
+		zephyr,code-partition = &slot0_partition;
+		zephyr,console = &usart0;
+		zephyr,display = &ls0xx_ls013b7dh03;
+		zephyr,flash = &flash0;
+		zephyr,shell-uart = &usart0;
+		zephyr,sram = &sram0;
+		zephyr,uart-pipe = &usart0;
+	};
+
+	aliases {
+		dht0 = &si7021;
+		led0 = &led0;
+		led1 = &led1;
+		pwm-led0 = &pwm_led0;
+		pwm-led1 = &pwm_led1;
+		spi-flash0 = &mx25r80;
+		sw0 = &button0;
+		sw1 = &button1;
+		watchdog0 = &wdog0;
+	};
+
+	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>;
+			label = "PWM LED 0";
+		};
+
+		pwm_led1: pwm_led_1 {
+			pwms = <&timer0_pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
+			label = "PWM LED 1";
+		};
+	};
+
+	buttons {
+		compatible = "gpio-keys";
+
+		button0: button_0 {
+			gpios = <&gpiob 0 GPIO_ACTIVE_LOW>;
+			label = "User Push Button 0";
+			zephyr,code = <INPUT_KEY_0>;
+		};
+
+		button1: button_1 {
+			gpios = <&gpiob 1 GPIO_ACTIVE_LOW>;
+			label = "User Push Button 1";
+			zephyr,code = <INPUT_KEY_1>;
+		};
+	};
+
+	sensor_enable: sensor_enable {
+		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>;
+	};
+};
+
+&cpu0 {
+	clock-frequency = <78000000>;
+};
+
+&itm {
+	pinctrl-0 = <&itm_default>;
+	pinctrl-names = "default";
+	swo-ref-frequency = <DT_FREQ_M(78)>;
+};
+
+&lfxo {
+	ctune = <44>;
+	precision = <50>;
+	status = "okay";
+};
+
+&hfrcodpll {
+	clock-frequency = <DT_FREQ_M(78)>;
+	clocks = <&hfxo>;
+	dpll-autorecover;
+	dpll-edge = "fall";
+	dpll-lock = "phase";
+	dpll-m = <1919>;
+	dpll-n = <3839>;
+};
+
+&em23grpaclk {
+	clocks = <&lfxo>;
+};
+
+&em4grpaclk {
+	clocks = <&lfxo>;
+};
+
+&sysrtcclk {
+	clocks = <&lfxo>;
+};
+
+&wdog0clk {
+	clocks = <&lfxo>;
+};
+
+&wdog1clk {
+	clocks = <&lfxo>;
+};
+
+&usart0 {
+	current-speed = <115200>;
+	pinctrl-0 = <&usart0_default>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&eusart1 {
+	compatible = "silabs,eusart-spi";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	clock-frequency = <DT_FREQ_M(10)>;
+	pinctrl-0 = <&eusart1_default>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	cs-gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>, <&gpioa 4 GPIO_ACTIVE_LOW>;
+
+	ls0xx_ls013b7dh03: ls0xx@0 {
+		compatible = "sharp,ls0xx";
+		reg = <0>;
+		height = <128>;
+		spi-max-frequency = <DT_FREQ_K(1100)>;
+		width = <128>;
+		extcomin-gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
+		extcomin-frequency = <60>;
+		disp-en-gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>;
+	};
+
+	mx25r80: mx25r8035f@1 {
+		compatible = "jedec,spi-nor";
+		reg = <1>;
+		dpd-wakeup-sequence = <30000 20 35000>;
+		has-dpd;
+		jedec-id = [c2 28 14];
+		mxicy,mx25r-power-mode = "low-power";
+		size = <DT_SIZE_M(8)>;
+		spi-max-frequency = <DT_FREQ_M(33)>;
+		zephyr,pm-device-runtime-auto;
+	};
+};
+
+&i2c0 {
+	pinctrl-0 = <&i2c0_default>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	si7021: si7021@40 {
+		compatible = "silabs,si7006";
+		reg = <0x40>;
+		vin-supply = <&sensor_enable>;
+	};
+};
+
+&timer0 {
+	status = "okay";
+
+	timer0_pwm: pwm {
+		pinctrl-0 = <&timer0_default>;
+		pinctrl-names = "default";
+		status = "okay";
+	};
+};
+
+&gpio {
+	status = "okay";
+};
+
+&gpioa {
+	status = "okay";
+};
+
+&gpiob {
+	status = "okay";
+
+	board-controller-enable {
+		gpio-hog;
+		gpios = <4 GPIO_ACTIVE_HIGH>;
+		output-high;
+	};
+};
+
+&gpioc {
+	status = "okay";
+};
+
+&gpiod {
+	status = "okay";
+};
+
+&wdog0 {
+	status = "okay";
+};
+
+&sysrtc0 {
+	status = "okay";
+};
+
+&se {
+	status = "okay";
+};
+
+&dcdc {
+	regulator-boot-on;
+	regulator-initial-mode = <SILABS_DCDC_MODE_BUCK>;
+	status = "okay";
+};
+
+&flash0 {
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		/* Reserve 48 kB for the bootloader */
+		boot_partition: partition@0 {
+			reg = <0x0 DT_SIZE_K(48)>;
+			label = "mcuboot";
+			read-only;
+		};
+
+		/* Reserve 728 kB for the application in slot 0 */
+		slot0_partition: partition@c000 {
+			reg = <0x0000c000 DT_SIZE_K(728)>;
+			label = "image-0";
+		};
+
+		/* Reserve 728 kB for the application in slot 1 */
+		slot1_partition: partition@c2000 {
+			reg = <0x000c2000 DT_SIZE_K(728)>;
+			label = "image-1";
+		};
+
+		/* Set 32 kB of storage at the end of the 1536 kB of flash */
+		storage_partition: partition@178000 {
+			reg = <0x00178000 DT_SIZE_K(32)>;
+			label = "storage";
+		};
+	};
+};
+
+&vdac0 {
+	status = "okay";
+};
+
+&vdac1 {
+	status = "okay";
+};
+
+&bt_hci_silabs {
+	status = "okay";
+};