Skip to content

Commit b6f5b59

Browse files
asmellbycfriedt
authored andcommitted
boards: silabs: Add xg24_rb4186c board
Add support for xG24-RB4186C, a 10 dBm radio board using the EFR32MG24 SoC. Pinout is mostly identical to RB4187C, so share devicetree definitions between them. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
1 parent 4010d39 commit b6f5b59

File tree

11 files changed

+496
-312
lines changed

11 files changed

+496
-312
lines changed

boards/silabs/radio_boards/xg24/Kconfig.defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Copyright (c) 2025 Silicon Laboratories Inc.
44
# SPDX-License-Identifier: Apache-2.0
55

6-
if BOARD_XG24_RB4187C
6+
if BOARD_XG24_RB4186C || BOARD_XG24_RB4187C
77

88
config LOG_BACKEND_SWO_FREQ_HZ
99
default 875000
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_XG24_RB4186C
5+
select SOC_EFR32MG24B210F1536IM48
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
board:
2-
name: xg24_rb4187c
3-
full_name: EFR32xG24 2.4 GHz 20 dBm (xG24-RB4187C)
4-
vendor: silabs
5-
socs:
6-
- name: efr32mg24b220f1536im48
1+
boards:
2+
- name: xg24_rb4186c
3+
full_name: EFR32xG24 2.4 GHz 10 dBm (xG24-RB4186C)
4+
vendor: silabs
5+
socs:
6+
- name: efr32mg24b210f1536im48
7+
- name: xg24_rb4187c
8+
full_name: EFR32xG24 2.4 GHz 20 dBm (xG24-RB4187C)
9+
vendor: silabs
10+
socs:
11+
- name: efr32mg24b220f1536im48
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
.. zephyr:board:: xg24_rb4186c
2+
3+
Overview
4+
********
5+
6+
The `EFR32xG24 +10 dBm Radio Board`_ is the radio board delivered with the
7+
`EFR32xG24 Pro Kit +10 dBm`_, and is also available standalone. It contains a Wireless
8+
System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
9+
power capabilities.
10+
11+
The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
12+
of several :ref:`silabs_radio_boards`.
13+
14+
.. _EFR32xG24 +10 dBm Radio Board:
15+
https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board
16+
.. _EFR32xG24 Pro Kit +10 dBm:
17+
https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-10-dbm
18+
19+
Hardware
20+
********
21+
22+
- EFR32MG24B210F1536IM48 Mighty Gecko SoC
23+
- CPU core: ARM Cortex®-M33 with FPU
24+
- Flash memory: 1536 kB
25+
- RAM: 256 kB
26+
- Transmit power: up to +10 dBm
27+
- Operation frequency: 2.4 GHz
28+
- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz).
29+
30+
For more information about the EFR32MG24 SoC and BRD4186C board, refer to these
31+
documents:
32+
33+
- `EFR32MG24 Website`_
34+
- `EFR32MG24 Datasheet`_
35+
- `EFR32xG24 Reference Manual`_
36+
- `BRD4186C User Guide`_
37+
38+
.. _EFR32MG24 Website:
39+
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-socs
40+
.. _EFR32MG24 Datasheet:
41+
https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf
42+
.. _EFR32xG24 Reference Manual:
43+
https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
44+
.. _BRD4186C User Guide:
45+
https://www.silabs.com/documents/public/reference-manuals/brd4186c-rm.pdf
46+
47+
Supported Features
48+
==================
49+
50+
.. zephyr:board-supported-hw::
51+
52+
System Clock
53+
============
54+
55+
The EFR32MG24 SoC is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
56+
locked to the 39 MHz external crystal oscillator on the board.
57+
58+
Serial Port
59+
===========
60+
61+
The EFR32MG24 SoC has one USART and two EUSARTs.
62+
USART0 is connected to the board controller and is used for the console.
63+
64+
Programming and Debugging
65+
*************************
66+
67+
.. zephyr:board-supported-runners::
68+
69+
Flashing
70+
========
71+
72+
Connect the BRD4002A board with a mounted BRD4186C radio board to your host
73+
computer using the USB port.
74+
75+
Here is an example for the :zephyr:code-sample:`hello_world` application.
76+
77+
.. zephyr-app-commands::
78+
:zephyr-app: samples/hello_world
79+
:board: xg24_rb4186c
80+
:goals: flash
81+
82+
Open a serial terminal (minicom, putty, etc.) with the following settings:
83+
84+
- Speed: 115200
85+
- Data: 8 bits
86+
- Parity: None
87+
- Stop bits: 1
88+
89+
Reset the board and you should see the following message in the terminal:
90+
91+
.. code-block:: console
92+
93+
Hello World! xg24_rb4186c
94+
95+
Bluetooth
96+
=========
97+
98+
To use Bluetooth functionality, run the command below to retrieve necessary binary
99+
blobs from the Silicon Labs HAL repository.
100+
101+
.. code-block:: console
102+
103+
west blobs fetch hal_silabs
104+
105+
Then build the Zephyr kernel and a Bluetooth sample with the following
106+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
107+
this example.
108+
109+
.. zephyr-app-commands::
110+
:zephyr-app: samples/bluetooth/observer
111+
:board: xg24_rb4186c
112+
:goals: build
4.82 KB
Loading
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright (c) 2025 Silicon Laboratories Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
#include <silabs/xg24/efr32mg24b210f1536im48.dtsi>
9+
#include "xg24_rb418xc.dtsi"
10+
11+
/ {
12+
model = "Silicon Labs EFR32xG24 2.4 GHz 10 dBm Radio Board (xG24-RB4186C, BRD4186C)";
13+
compatible = "silabs,xg24_rb4186c", "silabs,efr32mg24";
14+
};
15+
16+
&dcdc {
17+
silabs,pfmx-peak-current-milliamp = <120>;
18+
};
19+
20+
&radio {
21+
pa-voltage-mv = <1800>;
22+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
identifier: xg24_rb4186c
2+
name: EFR32xG24 2.4 GHz 10 dBm Radio Board (xG24-RB4186C, BRD4186C)
3+
type: mcu
4+
arch: arm
5+
ram: 256
6+
flash: 1536
7+
toolchain:
8+
- zephyr
9+
- gnuarmemb
10+
supported:
11+
- bluetooth
12+
- comparator
13+
- counter
14+
- dac
15+
- dma
16+
- entropy
17+
- flash
18+
- gpio
19+
- pwm
20+
- spi
21+
- uart
22+
- watchdog
23+
vendor: silabs
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
CONFIG_ARM_MPU=y
4+
CONFIG_CONSOLE=y
5+
CONFIG_UART_CONSOLE=y
6+
CONFIG_SERIAL=y
7+
CONFIG_GPIO=y

0 commit comments

Comments
 (0)