Skip to content

Commit 7b8dffb

Browse files
committed
boards: silabs: Add xg26 radio boards
Add radio boards for EFR32xG26 and xGM260P. Signed-off-by: Aksel Skauge Mellbye <[email protected]>
1 parent 4d45b2b commit 7b8dffb

25 files changed

+1433
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_XG26_RB4118A || BOARD_XG26_RB4120A || BOARD_MGM260P_RB4350A
5+
6+
config LOG_BACKEND_SWO_FREQ_HZ
7+
default 875000
8+
depends on LOG_BACKEND_SWO
9+
10+
config FPU
11+
default y if SOC_GECKO_USE_RAIL || BT
12+
13+
if BT
14+
15+
config MAIN_STACK_SIZE
16+
default 3072 if PM
17+
default 2304
18+
19+
endif # BT
20+
21+
endif
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_MGM260P_RB4350A
5+
select SOC_MGM260PD22VNA
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_XG26_RB4118A
5+
select SOC_EFR32MG26B510F3200IL136
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_XG26_RB4120A
5+
select SOC_EFR32MG26B510F3200IM68
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=EFR32MG26BxxxF3200")
5+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6+
7+
board_runner_args(silabs_commander "--device=${CONFIG_SOC}")
8+
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
boards:
2+
- name: mgm260p_rb4350a
3+
full_name: MGM260P 2.4 GHz +10 dBm Radio Board
4+
vendor: silabs
5+
socs:
6+
- name: mgm260pd22vna
7+
- name: xg26_rb4118a
8+
full_name: EFR32xG26 2.4 GHz +10 dBm BGA136 Radio Board
9+
vendor: silabs
10+
socs:
11+
- name: efr32mg26b510f3200il136
12+
- name: xg26_rb4120a
13+
full_name: EFR32xG26 2.4 GHz +10 dBm Radio Board
14+
vendor: silabs
15+
socs:
16+
- name: efr32mg26b510f3200im68
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
.. zephyr:board:: mgm260p_rb4350a
2+
3+
Overview
4+
********
5+
6+
The `MGM260P +10 dBm Radio Board`_ is a plug-in board for the Wireless Starter Kit Mainboard
7+
(BRD4001A) and the Wireless Pro Kit Mainboard (BRD4002A) based on the `MGM260P Module`_. It
8+
supports the development of 2.4 GHz Wireless IoT devices for protocols including Bluetooth LE,
9+
Bluetooth Mesh, Zigbee, and Matter.
10+
11+
See :ref:`silabs_radio_boards` for more information about the Wireless Mainboard platform.
12+
13+
.. _MGM260P +10 dBm Radio Board:
14+
https://www.silabs.com/development-tools/wireless/mgm260p-rb4350a-wireless-10-dbm-radio-board
15+
16+
.. _MGM260P Module:
17+
https://www.silabs.com/wireless/zigbee/efr32mg26-series-2-modules
18+
19+
Hardware
20+
********
21+
22+
- MGM260PD22VNA Module
23+
- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone
24+
- Memory: 3200 kB Flash, 512 kB RAM
25+
- Transmit power: up to +10 dBm
26+
- Operation frequency: 2.4 GHz
27+
- Crystals for LFXO (32.768 kHz) on the board and HFXO (40 MHz) in the module
28+
29+
For more information about the MGM260P module and radio board, refer to these documents:
30+
31+
- `MGM260P Datasheet`_
32+
- `EFR32xG26 Reference Manual`_
33+
- `MGM260P-RB4350A User Guide`_
34+
35+
.. _MGM260P Datasheet:
36+
https://www.silabs.com/documents/public/data-sheets/mgm260p-datasheet.pdf
37+
38+
.. _EFR32xG26 Reference Manual:
39+
https://www.silabs.com/documents/public/reference-manuals/efr32xg26-rm.pdf
40+
41+
.. _MGM260P-RB4350A User Guide:
42+
https://www.silabs.com/documents/public/user-guides/ug596-brd4350a-user-guide.pdf
43+
44+
Supported Features
45+
==================
46+
47+
.. zephyr:board-supported-hw::
48+
49+
System Clock
50+
============
51+
52+
The MGM260P Module is configured to use the HFRCODPLL oscillator at 80 MHz as the system clock,
53+
locked to the 40 MHz crystal oscillator.
54+
55+
Serial Port
56+
===========
57+
58+
The MGM260P Module has 3 USARTs and 4 EUSARTs.
59+
USART0 is connected to the board controller and is used for the console.
60+
61+
Programming and Debugging
62+
*************************
63+
64+
.. zephyr:board-supported-runners::
65+
66+
Flashing
67+
========
68+
69+
Connect the board to your host computer using the USB port.
70+
71+
Here is an example for the :zephyr:code-sample:`hello_world` application.
72+
73+
.. zephyr-app-commands::
74+
:zephyr-app: samples/hello_world
75+
:board: mgm260p_rb4350a
76+
:goals: flash
77+
78+
Open a serial terminal (minicom, putty, etc.) with the following settings:
79+
80+
- Speed: 115200
81+
- Data: 8 bits
82+
- Parity: None
83+
- Stop bits: 1
84+
85+
Reset the board and you should see the following message in the terminal:
86+
87+
.. code-block:: console
88+
89+
Hello World! mgm260p_rb4350a
90+
91+
Bluetooth
92+
=========
93+
94+
To use Bluetooth functionality, run the command below to retrieve necessary binary
95+
blobs from the Silicon Labs HAL repository.
96+
97+
.. code-block:: console
98+
99+
west blobs fetch hal_silabs
100+
101+
Then build the Zephyr kernel and a Bluetooth sample with the following
102+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
103+
this example.
104+
105+
.. zephyr-app-commands::
106+
:zephyr-app: samples/bluetooth/observer
107+
:board: mgm260p_rb4350a
108+
:goals: build
6.19 KB
Loading
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
.. zephyr:board:: xg26_rb4118a
2+
3+
Overview
4+
********
5+
6+
The `EFR32xG26 2.4 GHz +10 dBm BGA136 Radio Board`_ is a plug-in board for the Wireless Starter Kit Mainboard
7+
(BRD4001A) and the Wireless Pro Kit Mainboard (BRD4002A) based on the `EFR32MG26 SoC`_. It
8+
supports the development of 2.4 GHz Wireless IoT devices for protocols including Bluetooth LE,
9+
Bluetooth Mesh, Zigbee, and Matter.
10+
11+
See :ref:`silabs_radio_boards` for more information about the Wireless Mainboard platform.
12+
13+
.. _EFR32xG26 2.4 GHz +10 dBm BGA136 Radio Board:
14+
https://www.silabs.com/development-tools/wireless/xg26-rb4118a-efr32xg26-wireless-10-dbm-bga136-radio-board
15+
16+
.. _EFR32MG26 SoC:
17+
https://www.silabs.com/wireless/zigbee/efr32mg26-series-2-socs
18+
19+
Hardware
20+
********
21+
22+
- EFR32MG26B510F3200IL136 SoC
23+
- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone
24+
- Memory: 3200 kB Flash, 512 kB RAM
25+
- Transmit power: up to +10 dBm
26+
- Operation frequency: 2.4 GHz
27+
- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz) on the board
28+
- 8 Mbit SPI NOR Flash
29+
30+
For more information about the EFR32MG26 SoC and radio board, refer to these documents:
31+
32+
- `EFR32MG26 Datasheet`_
33+
- `EFR32xG26 Reference Manual`_
34+
- `xG26-RB4118A User Guide`_
35+
36+
.. _EFR32MG26 Datasheet:
37+
https://www.silabs.com/documents/public/data-sheets/efr32mg26-datasheet.pdf
38+
39+
.. _EFR32xG26 Reference Manual:
40+
https://www.silabs.com/documents/public/reference-manuals/efr32xg26-rm.pdf
41+
42+
.. _xG26-RB4118A User Guide:
43+
https://www.silabs.com/documents/public/user-guides/ug611-brd4118a-user-guide.pdf
44+
45+
Supported Features
46+
==================
47+
48+
.. zephyr:board-supported-hw::
49+
50+
System Clock
51+
============
52+
53+
The EFR32MG26 SoC is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
54+
locked to the 39 MHz crystal oscillator on the board.
55+
56+
Serial Port
57+
===========
58+
59+
The EFR32MG26 SoC has 3 USARTs and 4 EUSARTs.
60+
USART0 is connected to the board controller and is used for the console.
61+
62+
Programming and Debugging
63+
*************************
64+
65+
.. zephyr:board-supported-runners::
66+
67+
Flashing
68+
========
69+
70+
Connect the board to your host computer using the USB port.
71+
72+
Here is an example for the :zephyr:code-sample:`hello_world` application.
73+
74+
.. zephyr-app-commands::
75+
:zephyr-app: samples/hello_world
76+
:board: xg26_rb4118a
77+
:goals: flash
78+
79+
Open a serial terminal (minicom, putty, etc.) with the following settings:
80+
81+
- Speed: 115200
82+
- Data: 8 bits
83+
- Parity: None
84+
- Stop bits: 1
85+
86+
Reset the board and you should see the following message in the terminal:
87+
88+
.. code-block:: console
89+
90+
Hello World! xg26_rb4118a
91+
92+
Bluetooth
93+
=========
94+
95+
To use Bluetooth functionality, run the command below to retrieve necessary binary
96+
blobs from the Silicon Labs HAL repository.
97+
98+
.. code-block:: console
99+
100+
west blobs fetch hal_silabs
101+
102+
Then build the Zephyr kernel and a Bluetooth sample with the following
103+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
104+
this example.
105+
106+
.. zephyr-app-commands::
107+
:zephyr-app: samples/bluetooth/observer
108+
:board: xg26_rb4118a
109+
:goals: build
6.03 KB
Loading

0 commit comments

Comments
 (0)