Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

if BOARD_XG24_RB4187C
if BOARD_XG24_RB4186C || BOARD_XG24_RB4187C || BOARD_XGM240_RB4316A || BOARD_XGM240_RB4317A

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_XG24_RB4187C
endif
5 changes: 5 additions & 0 deletions boards/silabs/radio_boards/xg24/Kconfig.xg24_rb4186c
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

config BOARD_XG24_RB4186C
select SOC_EFR32MG24B210F1536IM48
5 changes: 5 additions & 0 deletions boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4316a
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

config BOARD_XGM240_RB4316A
select SOC_MGM240PB22VNA
5 changes: 5 additions & 0 deletions boards/silabs/radio_boards/xg24/Kconfig.xgm240_rb4317a
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

config BOARD_XGM240_RB4317A
select SOC_MGM240PB32VNA
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@
board_runner_args(jlink "--device=EFR32MG24BxxxF1536")
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

board_runner_args(silabs_commander "--device=${CONFIG_SOC}")
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)

board_runner_args(openocd)
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
21 changes: 21 additions & 0 deletions boards/silabs/radio_boards/xg24/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
boards:
- name: xg24_rb4186c
full_name: EFR32xG24 2.4 GHz 10 dBm (xG24-RB4186C)
vendor: silabs
socs:
- name: efr32mg24b210f1536im48
- name: xg24_rb4187c
full_name: EFR32xG24 2.4 GHz 20 dBm (xG24-RB4187C)
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
112 changes: 112 additions & 0 deletions boards/silabs/radio_boards/xg24/doc/xg24_rb4186c.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
.. zephyr:board:: xg24_rb4186c

Overview
********

The `EFR32xG24 +10 dBm Radio Board`_ is the radio board delivered with the
`EFR32xG24 Pro Kit +10 dBm`_, and is also available standalone. It 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`.

.. _EFR32xG24 +10 dBm Radio Board:
https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board
.. _EFR32xG24 Pro Kit +10 dBm:
https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-10-dbm

Hardware
********

- EFR32MG24B210F1536IM48 Mighty Gecko SoC
- 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
- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz).

For more information about the EFR32MG24 SoC and BRD4186C board, refer to these
documents:

- `EFR32MG24 Website`_
- `EFR32MG24 Datasheet`_
- `EFR32xG24 Reference Manual`_
- `BRD4186C User Guide`_

.. _EFR32MG24 Website:
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-socs
.. _EFR32MG24 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf
.. _EFR32xG24 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
.. _BRD4186C User Guide:
https://www.silabs.com/documents/public/reference-manuals/brd4186c-rm.pdf

Supported Features
==================

.. zephyr:board-supported-hw::

System Clock
============

The EFR32MG24 SoC 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 EFR32MG24 SoC has one USART and two EUSARTs.
USART0 is connected to the board controller and is used for the console.

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: xg24_rb4186c
: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! xg24_rb4186c

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: xg24_rb4186c
:goals: build
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
Overview
********

The EFR32MG24 Mighty Gecko Radio Board is one of the two
radio boards delivered with `xG24-PK6010A Website`_. It contains
a Wireless System-On-Chip from the EFR32MG24 family built on an
ARM Cortex®-M33F processor with excellent low power capabilities.
The `EFR32xG24 +20 dBm Radio Board`_ is the radio board delivered with the
`EFR32xG24 Pro Kit +20 dBm`_, and is also available standalone. It contains a Wireless
System-On-Chip from the EFR32MG24 family built on an ARM Cortex®-M33 processor with excellent low
power capabilities.

The BRD4187C a.k.a. xG24-RB4187C radio board plugs into the Wireless Pro Kit
Mainboard BRD4002A and is supported as one of :ref:`silabs_radio_boards`.
The radio board plugs into the Wireless Pro Kit Mainboard BRD4002A and is supported in Zephyr as one
of several :ref:`silabs_radio_boards`.

.. _EFR32xG24 +20 dBm Radio Board:
https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board
.. _EFR32xG24 Pro Kit +20 dBm:
https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm

Hardware
********
Expand All @@ -28,9 +33,17 @@ documents:
- `EFR32MG24 Website`_
- `EFR32MG24 Datasheet`_
- `EFR32xG24 Reference Manual`_
- `xG24-PK6010A Website`_
- `BRD4187C User Guide`_

.. _EFR32MG24 Website:
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-socs
.. _EFR32MG24 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf
.. _EFR32xG24 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg24-rm.pdf
.. _BRD4187C User Guide:
https://www.silabs.com/documents/public/reference-manuals/brd4187c-rm.pdf

Supported Features
==================

Expand All @@ -56,7 +69,7 @@ Programming and Debugging
Flashing
========

Connect the BRD4002A board with a mounted BRD4187C radio module to your host
Connect the BRD4002A board with a mounted BRD4187C radio board to your host
computer using the USB port.

Here is an example for the :zephyr:code-sample:`hello_world` application.
Expand All @@ -79,18 +92,21 @@ Reset the board and you should see the following message in the terminal:

Hello World! xg24_rb4187c

Bluetooth
=========

.. _xG24-PK6010A Website:
https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm
To use Bluetooth functionality, run the command below to retrieve necessary binary
blobs from the Silicon Labs HAL repository.

.. _BRD4187C User Guide:
https://www.silabs.com/documents/public/user-guides/ug526-brd4187c-user-guide.pdf
.. code-block:: console

.. _EFR32MG24 Website:
https://www.silabs.com/wireless/zigbee/efr32mg24-series-2-socs
west blobs fetch hal_silabs

.. _EFR32MG24 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg24-datasheet.pdf
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.

.. _EFR32xG24 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4187c-rm.pdf
.. zephyr-app-commands::
:zephyr-app: samples/bluetooth/observer
:board: xg24_rb4187c
:goals: build
116 changes: 116 additions & 0 deletions boards/silabs/radio_boards/xg24/doc/xgm240_rb4316a.rst
Original file line number Diff line number Diff line change
@@ -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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading