boards: silabs: Consistently name radio boards

Rename all Silicon Labs radio boards to always use the official kit name of
the kit containing only the radio board as board target name. Disentangle
boards using Series 1 and Series 2 SoCs that have almost nothing in common
in terms of devicetree content, but still occupied the same directory.

As part of the initial HWMv2 port, all radio boards were merged into a
single target efr32_radio, using the SoC as a board qualifier to target
specific boards. This was unfortunate, as the SoC name is not sufficient
to identify a specific board -- the same SoC may be used on multiple
different boards. This commit reinstates every radio board as an individual
board target.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
This commit is contained in:
Aksel Skauge Mellbye 2024-06-07 17:01:49 +02:00 committed by Anas Nashif
commit fee86aecaa
110 changed files with 1420 additions and 791 deletions

View file

@ -143,26 +143,29 @@ set(efm32pg_stk3402a_DEPRECATED
set(efm32pg_stk3402a_jg_DEPRECATED set(efm32pg_stk3402a_jg_DEPRECATED
efm32pg_stk3402a/efm32jg12b500f1024gl125 efm32pg_stk3402a/efm32jg12b500f1024gl125
) )
set(efm32gg_slwstk6121a_DEPRECATED
slwrb4321a
)
set(efr32_radio_brd4104a_DEPRECATED set(efr32_radio_brd4104a_DEPRECATED
efr32_radio/efr32bg13p632f512gm48 slwrb4104a
) )
set(efr32_radio_brd4161a_DEPRECATED set(efr32_radio_brd4161a_DEPRECATED
efr32_radio/efr32mg12p432f1024gl125 slwrb4161a
) )
set(efr32_radio_brd4170a_DEPRECATED set(efr32_radio_brd4170a_DEPRECATED
efr32_radio/efr32mg12p433f1024gm68 slwrb4170a
) )
set(efr32_radio_brd4180a_DEPRECATED set(efr32_radio_brd4180a_DEPRECATED
efr32_radio/efr32mg21a020f1024im32 slwrb4180a
) )
set(efr32_radio_brd4187c_DEPRECATED set(efr32_radio_brd4187c_DEPRECATED
efr32_radio/efr32mg24b220f1536im48 xg24_rb4187c
) )
set(efr32_radio_brd4250b_DEPRECATED set(efr32_radio_brd4250b_DEPRECATED
efr32_radio/efr32fg1p133f256gm48 slwrb4250b
) )
set(efr32_radio_brd4255a_DEPRECATED set(efr32_radio_brd4255a_DEPRECATED
efr32_radio/efr32fg13p233f512gm48 slwrb4255a
) )
set(efm32gg_sltb009a_DEPRECATED set(efm32gg_sltb009a_DEPRECATED
sltb009a sltb009a

View file

@ -5,6 +5,7 @@ Silicon Labs
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:titlesonly:
:glob: :glob:
*/* */*

View file

@ -5,7 +5,7 @@
*/ */
#include <zephyr/dt-bindings/input/input-event-codes.h> #include <zephyr/dt-bindings/input/input-event-codes.h>
#include "efr32_radio-pinctrl.dtsi" #include "efr32-series1-common-pinctrl.dtsi"
/ { / {
chosen { chosen {

View file

@ -1,15 +0,0 @@
# EFR32BG13 BRD4104A / EFR32MG21 BRD4180A /
# EFR32FG1P BRD4250B / EFR32FG13P BRD4255A board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_EFR32_RADIO
select SOC_PART_NUMBER_EFR32BG13P632F512GM48 if BOARD_EFR32_RADIO_EFR32BG13P632F512GM48
select SOC_PART_NUMBER_EFR32MG12P433F1024GM68 if BOARD_EFR32_RADIO_EFR32MG12P433F1024GM68
select SOC_PART_NUMBER_EFR32MG12P432F1024GL125 if BOARD_EFR32_RADIO_EFR32MG12P432F1024GL125
select SOC_PART_NUMBER_EFR32FG1P133F256GM48 if BOARD_EFR32_RADIO_EFR32FG1P133F256GM48
select SOC_PART_NUMBER_EFR32MG21A020F1024IM32 if BOARD_EFR32_RADIO_EFR32MG21A020F1024IM32
select SOC_PART_NUMBER_EFR32MG24B220F1536IM48 if BOARD_EFR32_RADIO_EFR32MG24B220F1536IM48
select SOC_PART_NUMBER_EFR32FG13P233F512GM48 if BOARD_EFR32_RADIO_EFR32FG13P233F512GM48

View file

@ -1,22 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
if(CONFIG_BOARD_EFR32_RADIO_EFR32BG13P632F512GM48)
board_runner_args(jlink "--device=EFR32BG13PxxxF512")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32FG1P133F256GM48)
board_runner_args(jlink "--device=EFR32FG1PxxxF256")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32MG12P433F1024GM68)
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32MG12P432F1024GL125)
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32MG21A020F1024IM32)
board_runner_args(jlink "--device=EFR32MG21AxxxF1024")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32MG24B220F1536IM48)
board_runner_args(jlink "--device=EFR32MG24BxxxF1536")
elseif(CONFIG_BOARD_EFR32_RADIO_EFR32FG13P233F512GM48)
board_runner_args(jlink "--device=EFR32FG13PxxxF512")
endif()
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -1,10 +0,0 @@
boards:
- name: efr32_radio
socs:
- name: efr32bg13p632f512gm48
- name: efr32mg12p433f1024gm68
- name: efr32mg12p432f1024gl125
- name: efr32fg1p133f256gm48
- name: efr32mg21a020f1024im32
- name: efr32mg24b220f1536im48
- name: efr32fg13p233f512gm48

View file

@ -1,122 +0,0 @@
.. _efr32_radio_brd4104a:
EFR32 BRD4104A (SLWRB4104A)
###########################
Overview
********
The EFR32BG13 Blue Gecko Bluetooth® Low Energy Radio Board is one of the two
radio boards delivered with `SLWSTK6020B Bluetooth SoC Starter Kit`_. It
contains a Wireless System-On-Chip from the EFR32BG13 family built on an
ARM Cortex®-M4F processor with excellent low power capabilities.
.. figure:: efr32bg13-slwrb4104a.jpg
:align: center
:alt: SLWRB4104A Blue Gecko Bluetooth® Low Energy Radio Board
SLWRB4104A (image courtesy of Silicon Labs)
The BRD4104A a.k.a. SLWRB4104A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`.
Hardware
********
- EFR32BG13P632F512GM48 Blue Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 512 kB
- RAM: 64 kB
- Transmit power: up to +10 dBm
- Operation frequency: 2.4 GHz
- 8Mbit SPI NOR Flash
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32BG13 SoC and BRD4104A board, refer to these
documents:
- `EFR32BG13 Website`_
- `EFR32BG13 Datasheet`_
- `EFR32xG13 Reference Manual`_
- `SLWSTK6020B Bluetooth SoC Starter Kit`_
- `BRD4104A User Guide`_
- `BRD4104A Reference Manual`_
- `EFR32BG13-BRD4104A Schematics`_
Supported Features
==================
Please refer to
:ref:`EFR32 Radio Board Supported Features <efr32_radio_supported_features>`
for details of the configuration and common features supported by the
``efr32_radio/efr32bg13p632f512gm48`` board.
The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32bg13p632f512gm48_defconfig`
System Clock
============
The EFR32BG13P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32BG13P SoC has three USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing
========
Connect the BRD4001A board with a mounted BRD4104A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efr32_radio/efr32bg13p632f512gm48
: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! efr32_radio
.. _EFR32BG13 Website:
https://www.silabs.com/wireless/bluetooth/efr32bg13-series-1-socs
.. _EFR32BG13 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32bg13-datasheet.pdf
.. _EFR32xG13 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg13-rm.pdf
.. _SLWSTK6020B Bluetooth SoC Starter Kit:
https://www.silabs.com/products/development-tools/wireless/bluetooth/blue-gecko-bluetooth-low-energy-soc-starter-kit
.. _BRD4104A User Guide:
https://www.silabs.com/documents/public/user-guides/ug279-brd4104a-user-guide.pdf
.. _BRD4104A Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4104a-rm.pdf
.. _EFR32BG13-BRD4104A Schematics:
https://www.silabs.com/documents/public/schematic-files/BRD4104A-A00-schematic.pdf

View file

@ -1,108 +0,0 @@
.. _efr32_radio_brd4161a:
EFR32 BRD4161A (SLWRB4161A)
###########################
Overview
********
The EFR32MG12 Mighty Gecko Radio Board contains a Wireless System-On-Chip
from the EFR32MG12 family built on an ARM Cortex®-M4F processor with excellent
low power capabilities.
.. figure:: efr32mg12-slwrb4161a.jpeg
:align: center
:alt: SLWRB4161A Mighty Gecko Radio Board
SLWRB4161A (image courtesy of Silicon Labs)
The BRD4161A a.k.a. SLWRB4161A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`.
Hardware
********
- EFR32MG12P432F1024GL125 Mighty Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 1024 kB
- RAM: 256 kB
- Transmit power: up to +19 dBm
- Operation frequency: 2.4 GHz and Sub-Ghz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32MG12 SoC and BRD4170A board, refer to these
documents:
- `EFR32MG12 Website`_
- `EFR32MG12 Datasheet`_
- `EFR32xG12 Reference Manual`_
- `BRD4161A User Guide`_
Supported Features
==================
Please refer to
:ref:`EFR32 Radio Board Supported Features <efr32_radio_supported_features>`
for details of the configuration and common features supported by the
``efr32_radio/efr32mg12p432f1024gl125`` board.
The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32mg12p432f1024gl125_defconfig`
System Clock
============
The EFR32MG12P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32MG12P SoC has four USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing
========
Connect the BRD4001A board with a mounted BRD4170A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efr32_radio/efr32mg12p432f1024gl125
: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! efr32_radio
.. _EFR32MG12 Website:
https://www.silabs.com/wireless/zigbee/efr32mg12-series-1-socs
.. _EFR32MG12 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf
.. _EFR32xG12 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf
.. _BRD4161A User Guide:
https://www.silabs.com/documents/public/user-guides/ug260-brd4161a-user-guide.pdf

View file

@ -1,108 +0,0 @@
.. _efr32_radio_brd4170a:
EFR32 BRD4170A (SLWRB4170A)
###########################
Overview
********
The EFR32MG12 Mighty Gecko Radio Board contains a Wireless System-On-Chip
from the EFR32MG12 family built on an ARM Cortex®-M4F processor with excellent
low power capabilities.
.. figure:: efr32mg12-slwrb4170a.jpg
:align: center
:alt: SLWRB4170A Mighty Gecko Radio Board
SLWRB4170A (image courtesy of Silicon Labs)
The BRD4170A a.k.a. SLWRB4170A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`.
Hardware
********
- EFR32MG12P433F1024GM68 Mighty Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 1024 kB
- RAM: 256 kB
- Transmit power: up to +19 dBm
- Operation frequency: 2.4 GHz and Sub-Ghz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32MG12 SoC and BRD4170A board, refer to these
documents:
- `EFR32MG12 Website`_
- `EFR32MG12 Datasheet`_
- `EFR32xG12 Reference Manual`_
- `BRD4170A User Guide`_
Supported Features
==================
Please refer to
:ref:`EFR32 Radio Board Supported Features <efr32_radio_supported_features>`
for details of the configuration and common features supported by the
``efr32_radio/efr32mg12p433f1024gm68`` board.
The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32mg12p433f1024gm68_defconfig`
System Clock
============
The EFR32MG12P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32MG12P SoC has four USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing
========
Connect the BRD4001A board with a mounted BRD4170A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efr32_radio/efr32mg12p433f1024gm68
: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! efr32_radio
.. _EFR32MG12 Website:
https://www.silabs.com/wireless/zigbee/efr32mg12-series-1-socs
.. _EFR32MG12 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf
.. _EFR32xG12 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf
.. _BRD4170A User Guide:
https://www.silabs.com/documents/public/user-guides/ug342-brd4170a-user-guide.pdf

View file

@ -1,121 +0,0 @@
.. _efr32_radio_brd4250b:
EFR32 BRD4250B (SLWRB4250B)
###########################
Overview
********
The EFR32FG1 Flex Gecko 2.4 GHz and 868 MHz Radio Board is delivered as part of
`SLWSTK6061B Proprietary Wireless Starter Kit`_. It contains a EFR32FG1 Wireless
SoC built on an ARM Cortex®-M4F processor with excellent low power capabilities.
.. figure:: efr32fg1-slwrb4250b.jpg
:align: center
:alt: SLWRB4250B Flex Gecko 2.4 GHz and 868 MHz Radio Board
SLWRB4250B (image courtesy of Silicon Labs)
The BRD4250B a.k.a. SLWRB4250B radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`.
Hardware
********
- EFR32FG1P133F256GM48 Flex Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 256 kB
- RAM: 32 kB
- Transmit power: up to +13 dBm
- Operation frequency: 2.4 GHz, 868 MHz
- 8Mbit SPI NOR Flash
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32FG1 SoC and BRD4250B board, refer to these
documents:
- `EFR32FG1 Website`_
- `EFR32FG1 Datasheet`_
- `EFR32xG1 Reference Manual`_
- `SLWSTK6061B Proprietary Wireless Starter Kit`_
- `BRD4250B User Guide`_
- `BRD4250B Reference Manual`_
- `EFR32FG1-BRD4250B Schematics`_
Supported Features
==================
Please refer to
:ref:`EFR32 Radio Board Supported Features <efr32_radio_supported_features>`
for details of the configuration and common features supported by the
``efr32_radio/efr32fg1p133f256gm48`` board.
The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32fg1p133f256gm48_defconfig`
System Clock
============
The EFR32FG1P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32FG1P SoC has two USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing
========
Connect the BRD4001A board with a mounted BRD4250B radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efr32_radio/efr32fg1p133f256gm48
: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! efr32_radio
.. _EFR32FG1 Website:
https://www.silabs.com/wireless/proprietary/efr32fg1-series-1-sub-ghz-2-4-ghz-socs
.. _EFR32FG1 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32fg1-datasheet.pdf
.. _EFR32xG1 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg1-rm.pdf
.. _SLWSTK6061B Proprietary Wireless Starter Kit:
https://www.silabs.com/products/development-tools/wireless/proprietary/slwstk6061b-efr32-flex-gecko-868-mhz-2-4-ghz-and-sub-ghz-starter-kit
.. _BRD4250B User Guide:
https://www.silabs.com/documents/public/user-guides/ug182-brd4250b-user-guide.pdf
.. _BRD4250B Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4250b-rm.pdf
.. _EFR32FG1-BRD4250B Schematics:
https://www.silabs.com/documents/public/schematic-files/BRD4250B-B02-schematic.pdf

View file

@ -1,111 +0,0 @@
.. _efr32_radio_brd4255a:
EFR32 BRD4255A (SLWRB4255A)
###########################
Overview
********
The EFR32FG13P Flex Gecko 2.4 GHz and 915 MHz Radio Board is delivered as a
`standalone Proprietary Wireless radio board`_. It contains a EFR32FG13P Wireless
SoC built on an ARM Cortex®-M4F processor with excellent low power capabilities.
.. figure:: efr32fg13-slwrb4255a.jpg
:align: center
:alt: SLWRB4255A Flex Gecko 2.4 GHz and 915 MHz Radio Board
SLWRB4255A (image courtesy of Silicon Labs)
The BRD4255A a.k.a. SLWRB4255A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`.
Hardware
********
- EFR32FG13P233F512GM48 Flex Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 512 kB
- RAM: 64 kB
- Transmit power: up to 19 dBm
- Operation frequency: 2.4 GHz, 915 MHz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32FG13 SoC and BRD4255A board, refer to these
documents:
- `EFR32FG13 Website`_
- `EFR32FG13 Datasheet`_
- `EFR32xG13 Reference Manual`_
- `BRD4255A Reference Manual`_
Supported Features
==================
Please refer to
:ref:`EFR32 Radio Board Supported Features <efr32_radio_supported_features>`
for details of the configuration and common features supported by the
``efr32_radio/efr32fg13p233f512gm48`` board.
The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32fg13p233f512gm48_defconfig`
System Clock
============
The EFR32FG13P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32FG13P SoC has three USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing
========
Connect the BRD4001A board with a mounted BRD4255A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efr32_radio/efr32fg13p233f512gm48
: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! efr32_radio
.. _EFR32FG13 Website:
https://www.silabs.com/wireless/proprietary/efr32fg13-series-1-sub-ghz-2-4-ghz-socs
.. _EFR32FG13 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32fg13-datasheet.pdf
.. _EFR32xG13 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg13-rm.pdf
.. _standalone Proprietary Wireless radio board:
https://www.silabs.com/development-tools/wireless/proprietary/slwrb4255a-efr32fg13-915-mhz-radio-board
.. _BRD4255A Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4255a-rm.pdf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

View file

@ -1,10 +1,60 @@
.. _radio_boards: .. _silabs_radio_boards:
Radio Boards Radio Boards
############ ############
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
:titlesonly:
:glob: :glob:
**/* **/*
Overview
********
Radio Boards are used together with a Wireless Mainboard, which is a
development platform for application development and debugging of wireless
products.
There are two main variants of the Mainboard:
- Wireless Starter Kit Mainboard (board BRD4001A, available standalone as SLWMB4001A)
- Wireless Pro Kit Mainboard (board BRD4002A, available standalone as Si-MB4002A)
The Wireless Pro Kit Mainboard is a strict superset of the Wireless Starter Kit,
the two boards are pin compatible for all shared functionality.
Wireless Starter Kits and Wireless Pro Kits are kits that bundle one or more
Radio Boards with one or more Mainboards.
In Zephyr, Radio Boards are used as board targets, irrespective of whether the
board was acquired standalone or as part of a Starter Kit or Pro Kit. The kit
name of the standalone Radio Board is used as the board target.
Hardware
********
Wireless Starter Kit Mainboard:
- Advanced Energy Monitor providing real-time information about energy consumption at up to 10 ksps
- Packet Trace Interface
- Virtual COM port
- On-board Segger J-Link debugger with USB and Ethernet interfaces
- Ultra-low power 128x128 pixel memory LCD
- 2 user buttons and 2 LEDs
- 20 pin 2.54mm expansion header
- Si7021 Relative Humidity and Temperature Sensor
- Breakout pads for Wireless SoC I/O
Wireless Pro Kit Mainboard:
- Advanced Energy Monitor providing real-time information about energy consumption at up to 100 ksps
- Packet Trace Interface
- Virtual COM port
- On-board Segger J-Link debugger with USB and Ethernet interfaces
- Ultra-low power 128x128 pixel memory LCD
- 2 user buttons, joystick and 2 LEDs
- 20 pin 2.54mm expansion header
- Si7021 Relative Humidity and Temperature Sensor
- Breakout pads for Wireless SoC I/O

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_SLWRB4104A
config CMU_HFXO_FREQ
default 38400000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x0
config LOG_BACKEND_SWO_FREQ_HZ
default 875000
depends on LOG_BACKEND_SWO
if SOC_GECKO_USE_RAIL
config FPU
default n
endif # SOC_GECKO_USE_RAIL
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_SLWRB4104A

View file

@ -0,0 +1,8 @@
# EFR32BG13 BRD4104A
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4104A
select SOC_PART_NUMBER_EFR32BG13P632F512GM48

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32BG13PxxxF512")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4104a
socs:
- name: efr32bg13p632f512gm48

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before After
Before After

View file

@ -1,54 +1,47 @@
.. _efr32_radio: .. _slwrb4104a:
EFR32 Radio Boards EFR32BG13 2.4 GHz 10 dBm (SLWRB4104A)
################## #####################################
.. toctree::
:maxdepth: 1
brd4104a.rst
brd4170a.rst
brd4250b.rst
brd4180a.rst
brd4255a.rst
brd4187c.rst
Overview Overview
******** ********
Support for EFR32 Radio boards is provided by one of the starter kits The EFR32BG13 Blue Gecko Bluetooth® Low Energy Radio Board is one of the two
radio boards delivered with `SLWSTK6020B Bluetooth SoC Starter Kit`_. It
contains a Wireless System-On-Chip from the EFR32BG13 family built on an
ARM Cortex®-M4F processor with excellent low power capabilities.
- `SLWSTK6020B Bluetooth SoC Starter Kit`_ .. figure:: efr32bg13-slwrb4104a.jpg
- `SLWSTK6000B Mighty Gecko Wireless Starter Kit`_
- `SLWSTK6061B Proprietary Wireless Starter Kit`_
- `SLWSTK6006A Mighty Gecko Wireless Starter Kit`_
.. figure:: efr32_slwstk6020b.jpg
:align: center :align: center
:alt: SLWSTK6020B Bluetooth SoC Starter Kit :alt: SLWRB4104A Blue Gecko Bluetooth® Low Energy Radio Board
SLWSTK6020B (image courtesy of Silicon Labs) SLWRB4104A (image courtesy of Silicon Labs)
The BRD4104A a.k.a. SLWRB4104A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware Hardware
******** ********
Wireless Starter Kit Mainboard: - EFR32BG13P632F512GM48 Blue Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 512 kB
- RAM: 64 kB
- Transmit power: up to +10 dBm
- Operation frequency: 2.4 GHz
- 8Mbit SPI NOR Flash
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
- Advanced Energy Monitoring provides real-time information about the energy For more information about the EFR32BG13 SoC and BRD4104A board, refer to these
consumption of an application or prototype design. documents:
- Ultra-low power 128x128 pixel memory LCD
- 2 user buttons and 2 LEDs
- 20 pin expansion header
- Si7021 Humidity and Temperature Sensor
- On-board Segger J-Link USB and Ethernet debugger
For more information about the BRD4001A board, refer to these documents: - `EFR32BG13 Website`_
- `EFR32BG13 Datasheet`_
- `EFR32BG13 Blue Gecko Bluetooth Starter Kit User's Guide`_ - `EFR32xG13 Reference Manual`_
- `EFR32MG21 Mighty Gecko Wireless Starter Kit User's Guide`_ - `SLWSTK6020B Bluetooth SoC Starter Kit`_
- `WSTK Main Board BRD4001A Schematics`_ - `BRD4104A User Guide`_
- `BRD4104A Reference Manual`_
.. _efr32_radio_supported_features: - `EFR32BG13-BRD4104A Schematics`_
Supported Features Supported Features
================== ==================
@ -78,16 +71,17 @@ The board configuration supports the following hardware features:
| WATCHDOG | on-chip | watchdog | | WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+ +-----------+------------+-------------------------------------+
Other hardware features are currently not supported by the port. The default configuration can be found in
:zephyr_file:`boards/silabs/radio_boards/slwrb4104a/slwrb4104a_defconfig`
Connections and IOs Connections and IOs
=================== ===================
In the following table, the column **Name** contains Pin names. For example, PA2 In the following table, the column **Pin** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals. means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
| Name | Function | Usage | | Pin | Function | Usage |
+=======+=============+=====================================+ +=======+=============+=====================================+
| PF4 | GPIO | LED0 | | PF4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
@ -98,11 +92,11 @@ means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
| PF7 | GPIO | Push Button PB1 | | PF7 | GPIO | Push Button PB1 |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
| PA5 | GPIO | Board Controller Enable | | PA5 | GPIO | Board Controller Enable |
| | | EFM_BC_EN | | | | VCOM_ENABLE |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
| PA0 | USART0_TX | UART Console EFM_BC_TX US0_TX #0 | | PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
| PA1 | USART0_RX | UART Console EFM_BC_RX US0_RX #0 | | PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
| PC6 | SPI_MOSI | Flash MOSI US1_TX #11 | | PC6 | SPI_MOSI | Flash MOSI US1_TX #11 |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
@ -113,39 +107,32 @@ means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
| PA4 | SPI_CS | Flash Chip Select (GPIO) | | PA4 | SPI_CS | Flash Chip Select (GPIO) |
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
.. _efr32_radio_programming: System Clock
============
The EFR32BG13P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32BG13P SoC has three USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging Programming and Debugging
************************* *************************
The BRD4001A includes an `J-Link`_ serial and debug adaptor built into the
board. The adaptor provides:
- A USB connection to the host computer, which exposes a debug interface and a
USB Serial Port.
- A physical UART connection which is relayed over interface USB Serial port.
- An Ethernet connection to support remote debugging.
It is compatible with the following host debug tools:
- :ref:`openocd-debug-host-tools`
- :ref:`jlink-debug-host-tools`
OpenOCD is included in the Zephyr SDK. Refer to the links above for information
on how to install required host debug tools if you are not using the Zephyr SDK.
Flashing Flashing
======== ========
Connect the BRD4001A main board with the mounted radio module to your host Connect the BRD4001A board with a mounted BRD4104A radio module to your host
computer using the USB port. computer using the USB port.
Following example shows how to build the :ref:`hello_world` application for Here is an example for the :ref:`hello_world` application.
BRD4104A radio module.
.. zephyr-app-commands:: .. zephyr-app-commands::
:zephyr-app: samples/hello_world :zephyr-app: samples/hello_world
:board: efr32_radio_brd4104a :board: slwrb4104a
:goals: flash :goals: flash
Open a serial terminal (minicom, putty, etc.) with the following settings: Open a serial terminal (minicom, putty, etc.) with the following settings:
@ -159,32 +146,26 @@ Reset the board and you should see the following message in the terminal:
.. code-block:: console .. code-block:: console
Hello World! efr32_radio_brd4104a Hello World! slwrb4161a
.. _EFR32BG13 Website:
https://www.silabs.com/wireless/bluetooth/efr32bg13-series-1-socs
.. _EFR32BG13 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32bg13-datasheet.pdf
.. _EFR32xG13 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg13-rm.pdf
.. _SLWSTK6020B Bluetooth SoC Starter Kit: .. _SLWSTK6020B Bluetooth SoC Starter Kit:
https://www.silabs.com/products/development-tools/wireless/bluetooth/blue-gecko-bluetooth-low-energy-soc-starter-kit https://www.silabs.com/products/development-tools/wireless/bluetooth/blue-gecko-bluetooth-low-energy-soc-starter-kit
.. _SLWSTK6000B Mighty Gecko Wireless Starter Kit: .. _BRD4104A User Guide:
https://www.silabs.com/products/development-tools/wireless/mesh-networking/mighty-gecko-starter-kit
.. _SLWSTK6061B Proprietary Wireless Starter Kit:
https://www.silabs.com/products/development-tools/wireless/proprietary/slwstk6061b-efr32-flex-gecko-868-mhz-2-4-ghz-and-sub-ghz-starter-kit
.. _SLWSTK6006A Mighty Gecko Wireless Starter Kit:
https://www.silabs.com/products/development-tools/wireless/efr32xg21-wireless-starter-kit
.. _EFR32BG13 Blue Gecko Bluetooth Starter Kit User's Guide:
https://www.silabs.com/documents/public/user-guides/ug279-brd4104a-user-guide.pdf https://www.silabs.com/documents/public/user-guides/ug279-brd4104a-user-guide.pdf
.. _EFR32MG21 Mighty Gecko Wireless Starter Kit User's Guide: .. _BRD4104A Reference Manual:
https://www.silabs.com/documents/public/user-guides/ug385-brd4180a-user-guide.pdf https://www.silabs.com/documents/public/reference-manuals/brd4104a-rm.pdf
.. _EFR32MG24 Mighty Gecko Wireless Starter Kit User's Guide: .. _EFR32BG13-BRD4104A Schematics:
https://www.silabs.com/documents/public/user-guides/ug526-brd4187c-user-guide.pdf https://www.silabs.com/documents/public/schematic-files/BRD4104A-A00-schematic.pdf
.. _WSTK Main Board BRD4001A Schematics:
https://www.silabs.com/documents/public/schematic-files/BRD4001A-A01-schematic.pdf
.. _J-Link:
https://www.segger.com/jlink-debug-probes.html

View file

@ -6,11 +6,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32bg13p632f512gm48.dtsi> #include <silabs/efr32bg13p632f512gm48.dtsi>
#include "efr32_radio.dtsi" #include "../common/efr32-series1-common.dtsi"
/ { / {
model = "Silicon Labs BRD4104A (Blue Gecko Radio Board)"; model = "Silicon Labs BRD4104A (Blue Gecko 13 Radio Board)";
compatible = "silabs,efr32_radio_brd4104a", "silabs,efr32bg13p"; compatible = "silabs,slwrb4104a", "silabs,efr32bg13p";
chosen { chosen {
zephyr,bt-hci = &bt_hci_silabs; zephyr,bt-hci = &bt_hci_silabs;

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32bg13p632f512gm48 identifier: slwrb4104a
name: BRD4104A name: EFR32BG13 2.4 GHz 10 dBm Radio Board (SLWRB4104A)
type: mcu type: mcu
arch: arm arch: arm
ram: 64 ram: 64

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_SLWRB4161A
config CMU_HFXO_FREQ
default 38400000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x0
config LOG_BACKEND_SWO_FREQ_HZ
default 875000
depends on LOG_BACKEND_SWO
if SOC_GECKO_USE_RAIL
config FPU
default n
endif # SOC_GECKO_USE_RAIL
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_SLWRB4161A

View file

@ -0,0 +1,8 @@
# EFR32MG12 BRD4161A
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4161A
select SOC_PART_NUMBER_EFR32MG12P432F1024GL125

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4161a
socs:
- name: efr32mg12p432f1024gl125

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Before After
Before After

View file

@ -0,0 +1,156 @@
.. _slwrb4161a:
EFR32MG12 2.4 GHz 19 dBm (SLWRB4161A)
#####################################
Overview
********
The EFR32MG12 Mighty Gecko Radio Board contains a Wireless System-On-Chip
from the EFR32MG12 family built on an ARM Cortex®-M4F processor with excellent
low power capabilities.
.. figure:: efr32mg12-slwrb4161a.jpeg
:align: center
:alt: SLWRB4161A Mighty Gecko Radio Board
SLWRB4161A (image courtesy of Silicon Labs)
The BRD4161A a.k.a. SLWRB4161A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware
********
- EFR32MG12P432F1024GL125 Mighty Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 1024 kB
- RAM: 256 kB
- Transmit power: up to +19 dBm
- Operation frequency: 2.4 GHz and Sub-Ghz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32MG12 SoC and BRD4170A board, refer to these
documents:
- `EFR32MG12 Website`_
- `EFR32MG12 Datasheet`_
- `EFR32xG12 Reference Manual`_
- `BRD4161A User Guide`_
Supported Features
==================
The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| COUNTER | on-chip | rtcc |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| SPI(M) | on-chip | spi port-polling |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/silabs/radio_boards/slwrb4161a/slwrb4161a_defconfig`
Connections and IOs
===================
In the following table, the column **Pin** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+
| Pin | Function | Usage |
+=======+=============+=====================================+
| PF4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+
| PF5 | GPIO | LED1 |
+-------+-------------+-------------------------------------+
| PF6 | GPIO | Push Button PB0 |
+-------+-------------+-------------------------------------+
| PF7 | GPIO | Push Button PB1 |
+-------+-------------+-------------------------------------+
| PA5 | GPIO | Board Controller Enable VCOM_ENABLE |
+-------+-------------+-------------------------------------+
| PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 |
+-------+-------------+-------------------------------------+
| PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 |
+-------+-------------+-------------------------------------+
| PC6 | SPI_MOSI | Flash MOSI US1_TX #11 |
+-------+-------------+-------------------------------------+
| PC7 | SPI_MISO | Flash MISO US1_RX #11 |
+-------+-------------+-------------------------------------+
| PC8 | SPI_SCLK | Flash SCLK US1_CLK #11 |
+-------+-------------+-------------------------------------+
| PA4 | SPI_CS | Flash Chip Select (GPIO) |
+-------+-------------+-------------------------------------+
System Clock
============
The EFR32MG12P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32MG12P SoC has four USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Flashing
========
Connect the BRD4001A board with a mounted BRD4161A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: slwrb4161a
: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! slwrb4161a
.. _EFR32MG12 Website:
https://www.silabs.com/wireless/zigbee/efr32mg12-series-1-socs
.. _EFR32MG12 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf
.. _EFR32xG12 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf
.. _BRD4161A User Guide:
https://www.silabs.com/documents/public/user-guides/ug260-brd4161a-user-guide.pdf

View file

@ -0,0 +1,5 @@
# Copyright (c) 2021 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
# SPI is implemented via usart so node name isn't spi@...
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")

View file

@ -6,11 +6,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32mg12p432f1024gl125.dtsi> #include <silabs/efr32mg12p432f1024gl125.dtsi>
#include "efr32_radio.dtsi" #include "../common/efr32-series1-common.dtsi"
/ { / {
model = "Silicon Labs BRD4161A (Mighty Gecko Radio Board)"; model = "Silicon Labs BRD4161A (Mighty Gecko 12 Radio Board)";
compatible = "silabs,efr32_radio_brd4161a", "silabs,efr32mg12p"; compatible = "silabs,slwrb4161a", "silabs,efr32mg12p";
chosen { chosen {
zephyr,bt-hci = &bt_hci_silabs; zephyr,bt-hci = &bt_hci_silabs;

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32mg12p432f1024gl125 identifier: slwrb4161a
name: BRD4161A name: EFR32MG12 2.4 GHz 19 dBm Radio Board (SLWRB4161A)
type: mcu type: mcu
arch: arm arch: arm
ram: 256 ram: 256

View file

@ -0,0 +1,25 @@
if {[info exists env(OPENOCD_INTERFACE)]} {
set INTERFACE $env(OPENOCD_INTERFACE)
} else {
# By default connect over Debug USB port using the J-Link interface
set INTERFACE "jlink"
}
source [find interface/$INTERFACE.cfg]
transport select swd
set CHIPNAME efr32
source [find target/efm32.cfg]
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_SLWRB4170A
config CMU_HFXO_FREQ
default 38400000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x0
config LOG_BACKEND_SWO_FREQ_HZ
default 875000
depends on LOG_BACKEND_SWO
if SOC_GECKO_USE_RAIL
config FPU
default n
endif # SOC_GECKO_USE_RAIL
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_SLWRB4170A

View file

@ -0,0 +1,8 @@
# EFR32MG12 BRD4170A
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4170A
select SOC_PART_NUMBER_EFR32MG12P433F1024GM68

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4170a
socs:
- name: efr32mg12p433f1024gm68

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before After
Before After

View file

@ -0,0 +1,156 @@
.. _slwrb4170a:
EFR32MG12 2400/868-915 MHz 19 dBm Dual Band (SLWRB4170A)
########################################################
Overview
********
The EFR32MG12 Mighty Gecko Radio Board contains a Wireless System-On-Chip
from the EFR32MG12 family built on an ARM Cortex®-M4F processor with excellent
low power capabilities.
.. figure:: efr32mg12-slwrb4170a.jpg
:align: center
:alt: SLWRB4170A Mighty Gecko Radio Board
SLWRB4170A (image courtesy of Silicon Labs)
The BRD4170A a.k.a. SLWRB4170A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware
********
- EFR32MG12P433F1024GM68 Mighty Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 1024 kB
- RAM: 256 kB
- Transmit power: up to +19 dBm
- Operation frequency: 2.4 GHz and Sub-Ghz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32MG12 SoC and BRD4170A board, refer to these
documents:
- `EFR32MG12 Website`_
- `EFR32MG12 Datasheet`_
- `EFR32xG12 Reference Manual`_
- `BRD4170A User Guide`_
Supported Features
==================
The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| COUNTER | on-chip | rtcc |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| SPI(M) | on-chip | spi port-polling |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/silabs/radio_boards/slwrb4170a/slwrb4170a_defconfig`
Connections and IOs
===================
In the following table, the column **Pin** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+
| Pin | Function | Usage |
+=======+=============+=====================================+
| PF4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+
| PF5 | GPIO | LED1 |
+-------+-------------+-------------------------------------+
| PF6 | GPIO | Push Button PB0 |
+-------+-------------+-------------------------------------+
| PF7 | GPIO | Push Button PB1 |
+-------+-------------+-------------------------------------+
| PA5 | GPIO | Board Controller Enable VCOM_ENABLE |
+-------+-------------+-------------------------------------+
| PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 |
+-------+-------------+-------------------------------------+
| PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 |
+-------+-------------+-------------------------------------+
| PC6 | SPI_MOSI | Flash MOSI US1_TX #11 |
+-------+-------------+-------------------------------------+
| PC7 | SPI_MISO | Flash MISO US1_RX #11 |
+-------+-------------+-------------------------------------+
| PC8 | SPI_SCLK | Flash SCLK US1_CLK #11 |
+-------+-------------+-------------------------------------+
| PA4 | SPI_CS | Flash Chip Select (GPIO) |
+-------+-------------+-------------------------------------+
System Clock
============
The EFR32MG12P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32MG12P SoC has four USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Flashing
========
Connect the BRD4001A board with a mounted BRD4170A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: slwrb4170a
: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! slwrb4170a
.. _EFR32MG12 Website:
https://www.silabs.com/wireless/zigbee/efr32mg12-series-1-socs
.. _EFR32MG12 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf
.. _EFR32xG12 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf
.. _BRD4170A User Guide:
https://www.silabs.com/documents/public/user-guides/ug342-brd4170a-user-guide.pdf

View file

@ -0,0 +1,5 @@
# Copyright (c) 2021 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
# SPI is implemented via usart so node name isn't spi@...
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")

View file

@ -6,11 +6,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32mg12p433f1024gm68.dtsi> #include <silabs/efr32mg12p433f1024gm68.dtsi>
#include "efr32_radio.dtsi" #include "../common/efr32-series1-common.dtsi"
/ { / {
model = "Silicon Labs BRD4170A (Mighty Gecko Radio Board)"; model = "Silicon Labs BRD4170A (Mighty Gecko 12 Radio Board)";
compatible = "silabs,efr32_radio_brd4170a", "silabs,efr32mg12p"; compatible = "silabs,slwrb4170a", "silabs,efr32mg12p";
chosen { chosen {
zephyr,bt-hci = &bt_hci_silabs; zephyr,bt-hci = &bt_hci_silabs;

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32mg12p433f1024gm68 identifier: slwrb4170a
name: BRD4170A name: EFR32MG12 2400/868-915 MHz 19 dBm Dual Band Radio Board (SLWRB4170A)
type: mcu type: mcu
arch: arm arch: arm
ram: 256 ram: 256

View file

@ -0,0 +1,25 @@
if {[info exists env(OPENOCD_INTERFACE)]} {
set INTERFACE $env(OPENOCD_INTERFACE)
} else {
# By default connect over Debug USB port using the J-Link interface
set INTERFACE "jlink"
}
source [find interface/$INTERFACE.cfg]
transport select swd
set CHIPNAME efr32
source [find target/efm32.cfg]
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}

View file

@ -4,10 +4,9 @@
# Copyright (c) 2020 TriaGnoSys GmbH # Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if BOARD_EFR32_RADIO if BOARD_SLWRB4180A
config CMU_HFXO_FREQ config CMU_HFXO_FREQ
default 39000000 if BOARD_EFR32_RADIO_EFR32MG24B220F1536IM48
default 38400000 default 38400000
config CMU_LFXO_FREQ config CMU_LFXO_FREQ
@ -15,7 +14,6 @@ config CMU_LFXO_FREQ
config FLASH_BASE_ADDRESS config FLASH_BASE_ADDRESS
hex hex
default 0x08000000 if BOARD_EFR32_RADIO_EFR32MG24B220F1536IM48
default 0x0 default 0x0
config LOG_BACKEND_SWO_FREQ_HZ config LOG_BACKEND_SWO_FREQ_HZ
@ -25,7 +23,6 @@ config LOG_BACKEND_SWO_FREQ_HZ
if SOC_GECKO_USE_RAIL if SOC_GECKO_USE_RAIL
config FPU config FPU
default n if SOC_FAMILY_SILABS_S1
default y default y
endif # SOC_GECKO_USE_RAIL endif # SOC_GECKO_USE_RAIL
@ -44,4 +41,4 @@ config MAIN_STACK_SIZE
endif # BT endif # BT
endif # BOARD_EFR32_RADIO endif # BOARD_SLWRB4180A

View file

@ -0,0 +1,8 @@
# EFR32MG21 BRD4180A
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4180A
select SOC_PART_NUMBER_EFR32MG21A020F1024IM32

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32MG21AxxxF1024")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4180a
socs:
- name: efr32mg21a020f1024im32

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Before After
Before After

View file

@ -1,7 +1,7 @@
.. _efr32_radio_brd4180a: .. _slwrb4180a:
EFR32 BRD4180A (SLWRB4180A) EFR32xG21 2.4 GHz 20 dBm (SLWRB4180A)
########################### #####################################
Overview Overview
******** ********
@ -18,7 +18,7 @@ ARM Cortex®-M33F processor with excellent low power capabilities.
SLWRB4180A (image courtesy of Silicon Labs) SLWRB4180A (image courtesy of Silicon Labs)
The BRD4180A a.k.a. SLWRB4180A radio board plugs into the Wireless Starter Kit The BRD4180A a.k.a. SLWRB4180A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`efr32_radio`. Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware Hardware
******** ********
@ -96,7 +96,7 @@ means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+ +-------+-------------+-------------------------------------+
The default configuration can be found in The default configuration can be found in
:zephyr_file:`boards/silabs/efr32_radio/efr32_radio_efr32mg21a020f1024im32_defconfig` :zephyr_file:`boards/silabs/radio_boards/slwrb4180a/slwrb4180a_defconfig`
System Clock System Clock
============ ============
@ -113,10 +113,6 @@ USART0 is connected to the board controller and is used for the console.
Programming and Debugging Programming and Debugging
************************* *************************
Please refer to
:ref:`Programming and Debugging EFR32 Radio Board <efr32_radio_programming>`
for details on the supported debug interfaces.
Flashing Flashing
======== ========
@ -127,7 +123,7 @@ Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands:: .. zephyr-app-commands::
:zephyr-app: samples/hello_world :zephyr-app: samples/hello_world
:board: efr32_radio/efr32mg21a020f1024im32 :board: slwrb4180a
:goals: flash :goals: flash
Open a serial terminal (minicom, putty, etc.) with the following settings: Open a serial terminal (minicom, putty, etc.) with the following settings:
@ -141,7 +137,7 @@ Reset the board and you should see the following message in the terminal:
.. code-block:: console .. code-block:: console
Hello World! efr32_radio Hello World! slwrb4180a
.. _EFR32-SLWSTK6006A Website: .. _EFR32-SLWSTK6006A Website:

View file

@ -0,0 +1,5 @@
# Copyright (c) 2021 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
# SPI is implemented via usart so node name isn't spi@...
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")

View file

@ -7,11 +7,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32mg21a020f1024im32.dtsi> #include <silabs/efr32mg21a020f1024im32.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h> #include <zephyr/dt-bindings/input/input-event-codes.h>
#include "efr32_radio_efr32mg21a020f1024im32-pinctrl.dtsi" #include "slwrb4180a-pinctrl.dtsi"
/ { / {
model = "Silicon Labs BRD4180A (Mighty Gecko Radio Board)"; model = "Silicon Labs BRD4180A (Mighty Gecko 21 Radio Board)";
compatible = "silabs,efr32mg21_brd4180a", "silabs,efr32mg21"; compatible = "silabs,slwrb4180a", "silabs,efr32mg21";
chosen { chosen {
zephyr,console = &usart0; zephyr,console = &usart0;

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32mg21a020f1024im32 identifier: slwrb4180a
name: BRD4180A name: EFR32xG21 2.4 GHz 20 dBm Radio Board (SLWRB4180A)
type: mcu type: mcu
arch: arm arch: arm
ram: 96 ram: 96

View file

@ -0,0 +1,25 @@
if {[info exists env(OPENOCD_INTERFACE)]} {
set INTERFACE $env(OPENOCD_INTERFACE)
} else {
# By default connect over Debug USB port using the J-Link interface
set INTERFACE "jlink"
}
source [find interface/$INTERFACE.cfg]
transport select swd
set CHIPNAME efr32
source [find target/efm32.cfg]
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_SLWRB4250B
config CMU_HFXO_FREQ
default 38400000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x0
config LOG_BACKEND_SWO_FREQ_HZ
default 875000
depends on LOG_BACKEND_SWO
if SOC_GECKO_USE_RAIL
config FPU
default n
endif # SOC_GECKO_USE_RAIL
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_SLWRB4250B

View file

@ -0,0 +1,8 @@
# EFR32FG1P BRD4250B
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4250B
select SOC_PART_NUMBER_EFR32FG1P133F256GM48

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32FG1PxxxF256")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4250b
socs:
- name: efr32fg1p133f256gm48

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

View file

@ -0,0 +1,169 @@
.. _slwrb4250b:
EFR32FG1 2400/868 MHz 13 dBm Dual Band (SLWRB4250B)
###################################################
Overview
********
The EFR32FG1 Flex Gecko 2.4 GHz and 868 MHz Radio Board is delivered as part of
`SLWSTK6061B Proprietary Wireless Starter Kit`_. It contains a EFR32FG1 Wireless
SoC built on an ARM Cortex®-M4F processor with excellent low power capabilities.
.. figure:: efr32fg1-slwrb4250b.jpg
:align: center
:alt: SLWRB4250B Flex Gecko 2.4 GHz and 868 MHz Radio Board
SLWRB4250B (image courtesy of Silicon Labs)
The BRD4250B a.k.a. SLWRB4250B radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware
********
- EFR32FG1P133F256GM48 Flex Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 256 kB
- RAM: 32 kB
- Transmit power: up to +13 dBm
- Operation frequency: 2.4 GHz, 868 MHz
- 8Mbit SPI NOR Flash
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32FG1 SoC and BRD4250B board, refer to these
documents:
- `EFR32FG1 Website`_
- `EFR32FG1 Datasheet`_
- `EFR32xG1 Reference Manual`_
- `SLWSTK6061B Proprietary Wireless Starter Kit`_
- `BRD4250B User Guide`_
- `BRD4250B Reference Manual`_
- `EFR32FG1-BRD4250B Schematics`_
Supported Features
==================
The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| COUNTER | on-chip | rtcc |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| SPI(M) | on-chip | spi port-polling |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/silabs/radio_boards/slwrb4250b/slwrb4250b_defconfig`
Connections and IOs
===================
In the following table, the column **Pin** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+
| Pin | Function | Usage |
+=======+=============+=====================================+
| PF4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+
| PF5 | GPIO | LED1 |
+-------+-------------+-------------------------------------+
| PF6 | GPIO | Push Button PB0 |
+-------+-------------+-------------------------------------+
| PF7 | GPIO | Push Button PB1 |
+-------+-------------+-------------------------------------+
| PA5 | GPIO | Board Controller Enable VCOM_ENABLE |
+-------+-------------+-------------------------------------+
| PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 |
+-------+-------------+-------------------------------------+
| PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 |
+-------+-------------+-------------------------------------+
| PC6 | SPI_MOSI | Flash MOSI US1_TX #11 |
+-------+-------------+-------------------------------------+
| PC7 | SPI_MISO | Flash MISO US1_RX #11 |
+-------+-------------+-------------------------------------+
| PC8 | SPI_SCLK | Flash SCLK US1_CLK #11 |
+-------+-------------+-------------------------------------+
| PA4 | SPI_CS | Flash Chip Select (GPIO) |
+-------+-------------+-------------------------------------+
System Clock
============
The EFR32FG1P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32FG1P SoC has two USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Flashing
========
Connect the BRD4001A board with a mounted BRD4250B radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: slwrb4250b
: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! slwrb4250b
.. _EFR32FG1 Website:
https://www.silabs.com/wireless/proprietary/efr32fg1-series-1-sub-ghz-2-4-ghz-socs
.. _EFR32FG1 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32fg1-datasheet.pdf
.. _EFR32xG1 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg1-rm.pdf
.. _SLWSTK6061B Proprietary Wireless Starter Kit:
https://www.silabs.com/products/development-tools/wireless/proprietary/slwstk6061b-efr32-flex-gecko-868-mhz-2-4-ghz-and-sub-ghz-starter-kit
.. _BRD4250B User Guide:
https://www.silabs.com/documents/public/user-guides/ug182-brd4250b-user-guide.pdf
.. _BRD4250B Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4250b-rm.pdf
.. _EFR32FG1-BRD4250B Schematics:
https://www.silabs.com/documents/public/schematic-files/BRD4250B-B02-schematic.pdf

View file

@ -0,0 +1,5 @@
# Copyright (c) 2021 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
# SPI is implemented via usart so node name isn't spi@...
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")

View file

@ -7,11 +7,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32fg1p133f256gm48.dtsi> #include <silabs/efr32fg1p133f256gm48.dtsi>
#include <silabs/efr32xg1p-pinctrl.dtsi> #include <silabs/efr32xg1p-pinctrl.dtsi>
#include "efr32_radio.dtsi" #include "../common/efr32-series1-common.dtsi"
/ { / {
model = "Silicon Labs BRD4250B (Flex Gecko Radio Board)"; model = "Silicon Labs BRD4250B (Flex Gecko 1 Radio Board)";
compatible = "silabs,efr32_radio_brd4250b", "silabs,efr32fg1p"; compatible = "silabs,slwrb4250b", "silabs,efr32fg1p";
pwmleds { pwmleds {
compatible = "pwm-leds"; compatible = "pwm-leds";

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32fg1p133f256gm48 identifier: slwrb4250b
name: BRD4250B name: EFR32FG 2400/868 MHz 13 dBm Dual Band Radio Board (SLWRB4250B)
type: mcu type: mcu
arch: arm arch: arm
ram: 32 ram: 32

View file

@ -0,0 +1,25 @@
if {[info exists env(OPENOCD_INTERFACE)]} {
set INTERFACE $env(OPENOCD_INTERFACE)
} else {
# By default connect over Debug USB port using the J-Link interface
set INTERFACE "jlink"
}
source [find interface/$INTERFACE.cfg]
transport select swd
set CHIPNAME efr32
source [find target/efm32.cfg]
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_SLWRB4255A
config CMU_HFXO_FREQ
default 38400000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x0
config LOG_BACKEND_SWO_FREQ_HZ
default 875000
depends on LOG_BACKEND_SWO
if SOC_GECKO_USE_RAIL
config FPU
default n
endif # SOC_GECKO_USE_RAIL
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_SLWRB4255A

View file

@ -0,0 +1,8 @@
# EFR32FG13P BRD4255A board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_SLWRB4255A
select SOC_PART_NUMBER_EFR32FG13P233F512GM48

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32FG13PxxxF512")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: slwrb4255a
socs:
- name: efr32fg13p233f512gm48

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

View file

@ -0,0 +1,159 @@
.. _slwrb4255a:
EFR32FG13 2400/915 MHz 19 dBm Dual Band (SLWRB4255A)
####################################################
Overview
********
The EFR32FG13P Flex Gecko 2.4 GHz and 915 MHz Radio Board is delivered as a
`standalone Proprietary Wireless radio board`_. It contains a EFR32FG13P Wireless
SoC built on an ARM Cortex®-M4F processor with excellent low power capabilities.
.. figure:: efr32fg13-slwrb4255a.jpg
:align: center
:alt: SLWRB4255A Flex Gecko 2.4 GHz and 915 MHz Radio Board
SLWRB4255A (image courtesy of Silicon Labs)
The BRD4255A a.k.a. SLWRB4255A radio board plugs into the Wireless Starter Kit
Mainboard BRD4001A and is supported as one of :ref:`silabs_radio_boards`.
Hardware
********
- EFR32FG13P233F512GM48 Flex Gecko SoC
- CPU core: ARM Cortex®-M4 with FPU
- Flash memory: 512 kB
- RAM: 64 kB
- Transmit power: up to 19 dBm
- Operation frequency: 2.4 GHz, 915 MHz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
For more information about the EFR32FG13 SoC and BRD4255A board, refer to these
documents:
- `EFR32FG13 Website`_
- `EFR32FG13 Datasheet`_
- `EFR32xG13 Reference Manual`_
- `BRD4255A Reference Manual`_
Supported Features
==================
The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| COUNTER | on-chip | rtcc |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| SPI(M) | on-chip | spi port-polling |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/silabs/radio_boards/slwrb4255/slwrb4255_defconfig`
Connections and IOs
===================
In the following table, the column **Pin** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+
| Pin | Function | Usage |
+=======+=============+=====================================+
| PF4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+
| PF5 | GPIO | LED1 |
+-------+-------------+-------------------------------------+
| PF6 | GPIO | Push Button PB0 |
+-------+-------------+-------------------------------------+
| PF7 | GPIO | Push Button PB1 |
+-------+-------------+-------------------------------------+
| PA5 | GPIO | Board Controller Enable VCOM_ENABLE |
+-------+-------------+-------------------------------------+
| PA0 | USART0_TX | UART Console VCOM_TX US0_TX #0 |
+-------+-------------+-------------------------------------+
| PA1 | USART0_RX | UART Console VCOM_RX US0_RX #0 |
+-------+-------------+-------------------------------------+
| PC6 | SPI_MOSI | Flash MOSI US1_TX #11 |
+-------+-------------+-------------------------------------+
| PC7 | SPI_MISO | Flash MISO US1_RX #11 |
+-------+-------------+-------------------------------------+
| PC8 | SPI_SCLK | Flash SCLK US1_CLK #11 |
+-------+-------------+-------------------------------------+
| PA4 | SPI_CS | Flash Chip Select (GPIO) |
+-------+-------------+-------------------------------------+
System Clock
============
The EFR32FG13P SoC is configured to use the 38.4 MHz external oscillator on the
board.
Serial Port
===========
The EFR32FG13P SoC has three USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.
Programming and Debugging
*************************
Flashing
========
Connect the BRD4001A board with a mounted BRD4255A radio module to your host
computer using the USB port.
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: slwrb4255a
: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! slwrb4255a
.. _EFR32FG13 Website:
https://www.silabs.com/wireless/proprietary/efr32fg13-series-1-sub-ghz-2-4-ghz-socs
.. _EFR32FG13 Datasheet:
https://www.silabs.com/documents/public/data-sheets/efr32fg13-datasheet.pdf
.. _EFR32xG13 Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/efr32xg13-rm.pdf
.. _standalone Proprietary Wireless radio board:
https://www.silabs.com/development-tools/wireless/proprietary/slwrb4255a-efr32fg13-915-mhz-radio-board
.. _BRD4255A Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/brd4255a-rm.pdf

View file

@ -0,0 +1,5 @@
# Copyright (c) 2021 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
# SPI is implemented via usart so node name isn't spi@...
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")

View file

@ -8,11 +8,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efr32fg13p233f512gm48.dtsi> #include <silabs/efr32fg13p233f512gm48.dtsi>
#include <silabs/efr32xg13p-pinctrl.dtsi> #include <silabs/efr32xg13p-pinctrl.dtsi>
#include "efr32_radio.dtsi" #include "../common/efr32-series1-common.dtsi"
/ { / {
model = "Silicon Labs BRD4255A (Flex Gecko Radio Board)"; model = "Silicon Labs BRD4255A (Flex Gecko Radio Board)";
compatible = "silabs,efr32_radio_brd4255a", "silabs,efr32fg13p"; compatible = "silabs,slwrb4255a", "silabs,efr32fg13p";
}; };
&cpu0 { &cpu0 {

View file

@ -1,5 +1,5 @@
identifier: efr32_radio/efr32fg13p233f512gm48 identifier: slwrb4255a
name: BRD4255A name: EFR32FG13 2400/915 MHz 19 dBm Dual Band Radio Board (SLWRB4255A)
type: mcu type: mcu
arch: arm arch: arm
ram: 64 ram: 64

View file

@ -0,0 +1,25 @@
if {[info exists env(OPENOCD_INTERFACE)]} {
set INTERFACE $env(OPENOCD_INTERFACE)
} else {
# By default connect over Debug USB port using the J-Link interface
set INTERFACE "jlink"
}
source [find interface/$INTERFACE.cfg]
transport select swd
set CHIPNAME efr32
source [find target/efm32.cfg]
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}

View file

@ -4,7 +4,7 @@
# Copyright (c) 2020 Thorvald Natvig # Copyright (c) 2020 Thorvald Natvig
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
if BOARD_EFM32GG_SLWSTK6121A if BOARD_SLWRB4321A
config CMU_HFXO_FREQ config CMU_HFXO_FREQ
default 50000000 default 50000000
@ -26,4 +26,4 @@ config NET_L2_ETHERNET
endif # NETWORKING endif # NETWORKING
endif # BOARD_EFM32GG_SLWSTK6121A endif # BOARD_SLWRB4321A

View file

@ -1,8 +1,8 @@
# EFM32GG SLWSTK6121A board configuration # EFM32GG11 SLWRB4321A board configuration
# Copyright (c) 2019 Interay Solutions B.V. # Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma # Copyright (c) 2019 Oane Kingma
# Copyright (c) 2020 Thorvald Natvig # Copyright (c) 2020 Thorvald Natvig
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config BOARD_EFM32GG_SLWSTK6121A config BOARD_SLWRB4321A
select SOC_PART_NUMBER_EFM32GG11B820F2048GM64 select SOC_PART_NUMBER_EFM32GG11B820F2048GM64

View file

@ -1,5 +1,5 @@
board: board:
name: efm32gg_slwstk6121a name: slwrb4321a
vendor: silabs vendor: silabs
socs: socs:
- name: efm32gg11b820f2048gm64 - name: efm32gg11b820f2048gm64

View file

@ -1,7 +1,7 @@
.. _efm32gg_slwstk6121a: .. _slwrb4321a:
WGM160P Starter Kit WGM160P Wi-Fi Module (SLWRB4321A)
################### #################################
Overview Overview
******** ********
@ -42,7 +42,7 @@ For more information about the WGM160P and SLWSTK6121A board:
Supported Features Supported Features
================== ==================
The efm32gg_slwstk6121a board configuration supports the following hardware The slwrb4321a board configuration supports the following hardware
features: features:
+-----------+------------+-------------------------------------+ +-----------+------------+-------------------------------------+
@ -69,7 +69,7 @@ features:
+-----------+------------+-------------------------------------+ +-----------+------------+-------------------------------------+
The default configuration can be found in The default configuration can be found in
:zephyr_file:`boards/silabs/efm32gg_slwstk6121a/efm32gg_slwstk6121a_defconfig` :zephyr_file:`boards/silabs/slwrb4321a/slwrb4321a_defconfig`
Other hardware features, including the WF200 WiFi transceiver, are Other hardware features, including the WF200 WiFi transceiver, are
currently not supported by the port. currently not supported by the port.
@ -141,7 +141,7 @@ Here is an example to build and flash the :ref:`hello_world` application.
.. zephyr-app-commands:: .. zephyr-app-commands::
:zephyr-app: samples/hello_world :zephyr-app: samples/hello_world
:board: efm32gg_slwstk6121a :board: slwrb4321a
:goals: flash :goals: flash
Open a serial terminal (minicom, putty, etc.) with the following settings: Open a serial terminal (minicom, putty, etc.) with the following settings:
@ -156,7 +156,7 @@ terminal session:
.. code-block:: console .. code-block:: console
Hello World! efm32gg_slwstk6121a Hello World! slwrb4321a
.. _WGM160P Website: .. _WGM160P Website:
https://www.silabs.com/wireless/wi-fi/wfm160-series-1-modules https://www.silabs.com/wireless/wi-fi/wfm160-series-1-modules

View file

@ -9,11 +9,11 @@
/dts-v1/; /dts-v1/;
#include <silabs/efm32gg11b820f2048gl192.dtsi> #include <silabs/efm32gg11b820f2048gl192.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h> #include <zephyr/dt-bindings/input/input-event-codes.h>
#include "efm32gg_slwstk6121a-pinctrl.dtsi" #include "slwrb4321a-pinctrl.dtsi"
/ { / {
model = "Silicon Labs EFM32GG SLWSTK6121A board"; model = "Silicon Labs EFM32GG SLWSTK6121A board";
compatible = "silabs,efm32gg_slwstk6121a", "silabs,efm32gg11b"; compatible = "silabs,slwrb4321a", "silabs,efm32gg11b";
chosen { chosen {
zephyr,console = &usart0; zephyr,console = &usart0;

View file

@ -1,5 +1,5 @@
identifier: efm32gg_slwstk6121a identifier: slwrb4321a
name: EFM32GG-SLWSTK6121A name: WGM160P Wi-Fi Module Radio Board (SLWRB4321A)
type: mcu type: mcu
arch: arm arch: arm
ram: 512 ram: 512

View file

@ -0,0 +1,44 @@
# EFR32 radio board
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
if BOARD_XG24_RB4187C
config CMU_HFXO_FREQ
default 39000000
config CMU_LFXO_FREQ
default 32768
config FLASH_BASE_ADDRESS
hex
default 0x08000000
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
if BT
config FPU
default y
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
default 8192
config MAIN_STACK_SIZE
default 3072 if PM
default 2304
endif # BT
endif # BOARD_XG24_RB4187C

View file

@ -0,0 +1,8 @@
# EFR32MG24 BRD4187C
# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config BOARD_XG24_RB4187C
select SOC_PART_NUMBER_EFR32MG24B220F1536IM48

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd)
board_runner_args(jlink "--device=EFR32MG24BxxxF1536")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,4 @@
boards:
- name: xg24_rb4187c
socs:
- name: efr32mg24b220f1536im48

Some files were not shown because too many files have changed in this diff Show more