Skip to content

Commit 3506523

Browse files
asmellbycfriedt
authored andcommitted
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 <[email protected]>
1 parent f18b433 commit 3506523

16 files changed

+713
-1
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_RB4186C || BOARD_XG24_RB4187C
6+
if BOARD_XG24_RB4186C || BOARD_XG24_RB4187C || BOARD_XGM240_RB4316A || BOARD_XGM240_RB4317A
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_XGM240_RB4316A
5+
select SOC_MGM240PB22VNA
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_XGM240_RB4317A
5+
select SOC_MGM240PB32VNA

boards/silabs/radio_boards/xg24/board.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,13 @@ boards:
99
vendor: silabs
1010
socs:
1111
- name: efr32mg24b220f1536im48
12+
- name: xgm240_rb4316a
13+
full_name: xGM240P 10 dBm Module Radio Board (xGM240-RB4316A)
14+
vendor: silabs
15+
socs:
16+
- name: mgm240pb22vna
17+
- name: xgm240_rb4317a
18+
full_name: xGM240P 20 dBm Module Radio Board (xGM240-RB4317A)
19+
vendor: silabs
20+
socs:
21+
- name: mgm240pb32vna
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
.. zephyr:board:: xgm240_rb4316a
2+
3+
Overview
4+
********
5+
6+
The `xGM240P +10 dBm Module Radio Board`_ for the xGM240P module contains a Wireless
7+
System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
8+
power capabilities.
9+
10+
The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
11+
of several :ref:`silabs_radio_boards`.
12+
13+
.. _xGM240P +10 dBm Module Radio Board:
14+
https://www.silabs.com/development-tools/wireless/xgm240-rb4316a-xgm240p-module-radio-board
15+
16+
Hardware
17+
********
18+
19+
- MGM240PB32VNA module based on EFR32MG24
20+
- CPU core: ARM Cortex®-M33 with FPU
21+
- Flash memory: 1536 kB
22+
- RAM: 256 kB
23+
- Transmit power: up to +10 dBm
24+
- Operation frequency: 2.4 GHz
25+
- Crystal for LFXO (32.768 kHz) on the board and HFXO (39 MHz) in the module.
26+
27+
For more information about the MGM240P module, EFR32MG24 SoC and BRD4316A board, refer to these
28+
documents:
29+
30+
- `MGM240 Modules Website`_
31+
- `MGM240P Datasheet`_
32+
- `EFR32xG24 Reference Manual`_
33+
- `BRD4316A User Guide`_
34+
35+
.. _MGM240 Modules Website:
36+
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules
37+
.. _MGM240P Datasheet:
38+
https://www.silabs.com/documents/public/data-sheets/mgm240p-datasheet.pdf
39+
.. _EFR32xG24 Reference Manual:
40+
https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
41+
.. _BRD4316A User Guide:
42+
https://www.silabs.com/documents/public/user-guides/ug528-brd4316a-user-guide.pdf
43+
44+
Supported Features
45+
==================
46+
47+
.. zephyr:board-supported-hw::
48+
49+
System Clock
50+
============
51+
52+
The MGM240P module is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
53+
locked to the 39 MHz external crystal oscillator on the board.
54+
55+
Serial Port
56+
===========
57+
58+
The MGM240P module has one USART and two EUSARTs.
59+
USART0 is connected to the board controller and is used for the console.
60+
61+
Buttons and LEDs
62+
================
63+
64+
This board has two buttons and two LEDs that share GPIO pins. If an application wants to use both
65+
a button and a LED with the same number (e.g. button 0 and LED 0), it needs to time multiplex the
66+
two functions.
67+
68+
Programming and Debugging
69+
*************************
70+
71+
.. zephyr:board-supported-runners::
72+
73+
Flashing
74+
========
75+
76+
Connect the BRD4002A board with a mounted BRD4186C radio board to your host
77+
computer using the USB port.
78+
79+
Here is an example for the :zephyr:code-sample:`hello_world` application.
80+
81+
.. zephyr-app-commands::
82+
:zephyr-app: samples/hello_world
83+
:board: xgm240_rb4316a
84+
:goals: flash
85+
86+
Open a serial terminal (minicom, putty, etc.) with the following settings:
87+
88+
- Speed: 115200
89+
- Data: 8 bits
90+
- Parity: None
91+
- Stop bits: 1
92+
93+
Reset the board and you should see the following message in the terminal:
94+
95+
.. code-block:: console
96+
97+
Hello World! xgm240_rb4316a
98+
99+
Bluetooth
100+
=========
101+
102+
To use Bluetooth functionality, run the command below to retrieve necessary binary
103+
blobs from the Silicon Labs HAL repository.
104+
105+
.. code-block:: console
106+
107+
west blobs fetch hal_silabs
108+
109+
Then build the Zephyr kernel and a Bluetooth sample with the following
110+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
111+
this example.
112+
113+
.. zephyr-app-commands::
114+
:zephyr-app: samples/bluetooth/observer
115+
:board: xgm240_rb4316a
116+
:goals: build
5.35 KB
Loading
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
.. zephyr:board:: xgm240_rb4317a
2+
3+
Overview
4+
********
5+
6+
The `xGM240P +20 dBm Module Radio Board`_ for the xGM240P module contains a Wireless
7+
System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
8+
power capabilities.
9+
10+
The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
11+
of several :ref:`silabs_radio_boards`.
12+
13+
.. _xGM240P +20 dBm Module Radio Board:
14+
https://www.silabs.com/development-tools/wireless/xgm240-rb4317a-xgm240p-module-radio-board
15+
16+
Hardware
17+
********
18+
19+
- MGM240PB32VNA module based on EFR32MG24
20+
- CPU core: ARM Cortex®-M33 with FPU
21+
- Flash memory: 1536 kB
22+
- RAM: 256 kB
23+
- Transmit power: up to +20 dBm
24+
- Operation frequency: 2.4 GHz
25+
- Crystal for LFXO (32.768 kHz) on the board and HFXO (39 MHz) in the module.
26+
27+
For more information about the MGM240P module, EFR32MG24 SoC and BRD4317A board, refer to these
28+
documents:
29+
30+
- `MGM240 Modules Website`_
31+
- `MGM240P Datasheet`_
32+
- `EFR32xG24 Reference Manual`_
33+
- `BRD4317A User Guide`_
34+
35+
.. _MGM240 Modules Website:
36+
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-modules
37+
.. _MGM240P Datasheet:
38+
https://www.silabs.com/documents/public/data-sheets/mgm240p-datasheet.pdf
39+
.. _EFR32xG24 Reference Manual:
40+
https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
41+
.. _BRD4317A User Guide:
42+
https://www.silabs.com/documents/public/user-guides/ug529-brd4317a-user-guide.pdf
43+
44+
Supported Features
45+
==================
46+
47+
.. zephyr:board-supported-hw::
48+
49+
System Clock
50+
============
51+
52+
The MGM240P module is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
53+
locked to the 39 MHz external crystal oscillator on the board.
54+
55+
Serial Port
56+
===========
57+
58+
The MGM240P module has one USART and two EUSARTs.
59+
USART0 is connected to the board controller and is used for the console.
60+
61+
Buttons and LEDs
62+
================
63+
64+
This board has two buttons and two LEDs that share GPIO pins. If an application wants to use both
65+
a button and a LED with the same number (e.g. button 0 and LED 0), it needs to time multiplex the
66+
two functions.
67+
68+
Programming and Debugging
69+
*************************
70+
71+
.. zephyr:board-supported-runners::
72+
73+
Flashing
74+
========
75+
76+
Connect the BRD4002A board with a mounted BRD4186C radio board to your host
77+
computer using the USB port.
78+
79+
Here is an example for the :zephyr:code-sample:`hello_world` application.
80+
81+
.. zephyr-app-commands::
82+
:zephyr-app: samples/hello_world
83+
:board: xgm240_rb4317a
84+
:goals: flash
85+
86+
Open a serial terminal (minicom, putty, etc.) with the following settings:
87+
88+
- Speed: 115200
89+
- Data: 8 bits
90+
- Parity: None
91+
- Stop bits: 1
92+
93+
Reset the board and you should see the following message in the terminal:
94+
95+
.. code-block:: console
96+
97+
Hello World! xgm240_rb4317a
98+
99+
Bluetooth
100+
=========
101+
102+
To use Bluetooth functionality, run the command below to retrieve necessary binary
103+
blobs from the Silicon Labs HAL repository.
104+
105+
.. code-block:: console
106+
107+
west blobs fetch hal_silabs
108+
109+
Then build the Zephyr kernel and a Bluetooth sample with the following
110+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
111+
this example.
112+
113+
.. zephyr-app-commands::
114+
:zephyr-app: samples/bluetooth/observer
115+
:board: xgm240_rb4317a
116+
:goals: build
5.68 KB
Loading
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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/mgm240pb22vna.dtsi>
9+
#include "xgm240_rb431xa.dtsi"
10+
11+
/ {
12+
model = "Silicon Labs xGM240P +10 dBm Module Radio Board (xGM240-RB4316A, BRD4316A)";
13+
compatible = "silabs,xgm240_rb4316a", "silabs,mgm24";
14+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
identifier: xgm240_rb4316a
2+
name: xGM240P +10 dBm Module Radio Board (xGM240-RB4316A, BRD4316A)
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

0 commit comments

Comments
 (0)