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>
|
@ -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
|
||||||
|
|
|
@ -5,6 +5,7 @@ Silicon Labs
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
:titlesonly:
|
||||||
:glob:
|
:glob:
|
||||||
|
|
||||||
*/*
|
*/*
|
||||||
|
|
|
@ -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 {
|
|
@ -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
|
|
|
@ -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)
|
|
|
@ -1,10 +0,0 @@
|
||||||
boards:
|
|
||||||
- name: efr32_radio
|
|
||||||
socs:
|
|
||||||
- name: efr32bg13p632f512gm48
|
|
||||||
- name: efr32mg12p433f1024gm68
|
|
||||||
- name: efr32mg12p432f1024gl125
|
|
||||||
- name: efr32fg1p133f256gm48
|
|
||||||
- name: efr32mg21a020f1024im32
|
|
||||||
- name: efr32mg24b220f1536im48
|
|
||||||
- name: efr32fg13p233f512gm48
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
Before Width: | Height: | Size: 35 KiB |
|
@ -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
|
||||||
|
|
44
boards/silabs/radio_boards/slwrb4104a/Kconfig.defconfig
Normal 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
|
8
boards/silabs/radio_boards/slwrb4104a/Kconfig.slwrb4104a
Normal 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
|
7
boards/silabs/radio_boards/slwrb4104a/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4104a/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4104a
|
||||||
|
socs:
|
||||||
|
- name: efr32bg13p632f512gm48
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
@ -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
|
|
|
@ -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;
|
|
@ -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
|
44
boards/silabs/radio_boards/slwrb4161a/Kconfig.defconfig
Normal 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
|
8
boards/silabs/radio_boards/slwrb4161a/Kconfig.slwrb4161a
Normal 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
|
7
boards/silabs/radio_boards/slwrb4161a/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4161a/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4161a
|
||||||
|
socs:
|
||||||
|
- name: efr32mg12p432f1024gl125
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
156
boards/silabs/radio_boards/slwrb4161a/doc/index.rst
Normal 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
|
5
boards/silabs/radio_boards/slwrb4161a/pre_dt_board.cmake
Normal 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")
|
|
@ -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;
|
|
@ -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
|
25
boards/silabs/radio_boards/slwrb4161a/support/openocd.cfg
Normal 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
|
||||||
|
}
|
44
boards/silabs/radio_boards/slwrb4170a/Kconfig.defconfig
Normal 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
|
8
boards/silabs/radio_boards/slwrb4170a/Kconfig.slwrb4170a
Normal 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
|
7
boards/silabs/radio_boards/slwrb4170a/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4170a/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4170a
|
||||||
|
socs:
|
||||||
|
- name: efr32mg12p433f1024gm68
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
156
boards/silabs/radio_boards/slwrb4170a/doc/index.rst
Normal 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
|
5
boards/silabs/radio_boards/slwrb4170a/pre_dt_board.cmake
Normal 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")
|
|
@ -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;
|
|
@ -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
|
25
boards/silabs/radio_boards/slwrb4170a/support/openocd.cfg
Normal 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
|
||||||
|
}
|
|
@ -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
|
8
boards/silabs/radio_boards/slwrb4180a/Kconfig.slwrb4180a
Normal 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
|
7
boards/silabs/radio_boards/slwrb4180a/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4180a/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4180a
|
||||||
|
socs:
|
||||||
|
- name: efr32mg21a020f1024im32
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
@ -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:
|
5
boards/silabs/radio_boards/slwrb4180a/pre_dt_board.cmake
Normal 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")
|
|
@ -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;
|
|
@ -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
|
25
boards/silabs/radio_boards/slwrb4180a/support/openocd.cfg
Normal 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
|
||||||
|
}
|
44
boards/silabs/radio_boards/slwrb4250b/Kconfig.defconfig
Normal 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
|
8
boards/silabs/radio_boards/slwrb4250b/Kconfig.slwrb4250b
Normal 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
|
7
boards/silabs/radio_boards/slwrb4250b/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4250b/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4250b
|
||||||
|
socs:
|
||||||
|
- name: efr32fg1p133f256gm48
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
169
boards/silabs/radio_boards/slwrb4250b/doc/index.rst
Normal 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
|
5
boards/silabs/radio_boards/slwrb4250b/pre_dt_board.cmake
Normal 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")
|
|
@ -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";
|
|
@ -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
|
25
boards/silabs/radio_boards/slwrb4250b/support/openocd.cfg
Normal 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
|
||||||
|
}
|
44
boards/silabs/radio_boards/slwrb4255a/Kconfig.defconfig
Normal 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
|
8
boards/silabs/radio_boards/slwrb4255a/Kconfig.slwrb4255a
Normal 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
|
7
boards/silabs/radio_boards/slwrb4255a/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/slwrb4255a/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: slwrb4255a
|
||||||
|
socs:
|
||||||
|
- name: efr32fg13p233f512gm48
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
159
boards/silabs/radio_boards/slwrb4255a/doc/index.rst
Normal 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
|
5
boards/silabs/radio_boards/slwrb4255a/pre_dt_board.cmake
Normal 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")
|
|
@ -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 {
|
|
@ -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
|
25
boards/silabs/radio_boards/slwrb4255a/support/openocd.cfg
Normal 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
|
||||||
|
}
|
|
@ -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
|
|
@ -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
|
|
@ -1,5 +1,5 @@
|
||||||
board:
|
board:
|
||||||
name: efm32gg_slwstk6121a
|
name: slwrb4321a
|
||||||
vendor: silabs
|
vendor: silabs
|
||||||
socs:
|
socs:
|
||||||
- name: efm32gg11b820f2048gm64
|
- name: efm32gg11b820f2048gm64
|
|
@ -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
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
@ -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;
|
|
@ -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
|
44
boards/silabs/radio_boards/xg24_rb4187c/Kconfig.defconfig
Normal 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
|
|
@ -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
|
7
boards/silabs/radio_boards/xg24_rb4187c/board.cmake
Normal 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)
|
4
boards/silabs/radio_boards/xg24_rb4187c/board.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
boards:
|
||||||
|
- name: xg24_rb4187c
|
||||||
|
socs:
|
||||||
|
- name: efr32mg24b220f1536im48
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |