-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards: Add support for Silicon Labs' BRD4255A Radio board
This commit adds support for Silicon Labs BRD4255A (a.k.a. SLWRB4255A) Flex Gecko Radio Board. Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
- Loading branch information
Showing
9 changed files
with
219 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
.. _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 | ||
:height: 262px | ||
: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_brd4255a board. | ||
|
||
The default configuration can be found in the defconfig file: | ||
|
||
``boards/arm/efr32_radio/efr32_radio_brd4255a_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_brd4255a | ||
: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_brd4255a | ||
.. _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 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,7 @@ EFR32 Radio Boards | |
brd4104a.rst | ||
brd4250b.rst | ||
brd4180a.rst | ||
brd4255a.rst | ||
|
||
Overview | ||
******** | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
* Copyright (c) 2020 Piotr Mienkowski | ||
* Copyright (c) 2021 Yonatan Schachter | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
#include <silabs/efr32fg13p233f512gm48.dtsi> | ||
#include "efr32_radio.dtsi" | ||
|
||
/ { | ||
model = "Silicon Labs BRD4255A (Flex Gecko Radio Board)"; | ||
compatible = "silabs,efr32_radio_brd4255a", "silabs,efr32fg13p"; | ||
}; | ||
|
||
&cpu0 { | ||
clock-frequency = <38400000>; | ||
}; | ||
|
||
&flash0 { | ||
partitions { | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
/* Reserve 32 kB for the bootloader */ | ||
boot_partition: partition@0 { | ||
label = "mcuboot"; | ||
reg = <0x0 0x00008000>; | ||
read-only; | ||
}; | ||
|
||
/* Reserve 220 kB for the application in slot 0 */ | ||
slot0_partition: partition@8000 { | ||
label = "image-0"; | ||
reg = <0x0008000 0x00037000>; | ||
}; | ||
|
||
/* Reserve 220 kB for the application in slot 1 */ | ||
slot1_partition: partition@3f000 { | ||
label = "image-1"; | ||
reg = <0x0003f000 0x00037000>; | ||
}; | ||
|
||
/* Reserve 32 kB for the scratch partition */ | ||
scratch_partition: partition@76000 { | ||
label = "image-scratch"; | ||
reg = <0x00076000 0x00008000>; | ||
}; | ||
|
||
/* Set 8Kb of storage at the end of the 512KB of flash */ | ||
storage_partition: partition@7e000 { | ||
label = "storage"; | ||
reg = <0x0007e000 0x00002000>; | ||
}; | ||
|
||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
identifier: efr32_radio_brd4255a | ||
name: BRD4255A | ||
type: mcu | ||
arch: arm | ||
ram: 64 | ||
flash: 512 | ||
toolchain: | ||
- zephyr | ||
- gnuarmemb | ||
- xtools | ||
supported: | ||
- counter | ||
- gpio | ||
- nvs | ||
- spi | ||
- uart | ||
- watchdog | ||
testing: | ||
ignore_tags: | ||
- net | ||
- bluetooth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
CONFIG_SOC_SERIES_EFR32FG13P=y | ||
CONFIG_BOARD_EFR32_RADIO_BRD4255A=y | ||
CONFIG_ARM_MPU=y | ||
CONFIG_CONSOLE=y | ||
CONFIG_UART_CONSOLE=y | ||
CONFIG_SERIAL=y | ||
CONFIG_CORTEX_M_SYSTICK=y | ||
CONFIG_GPIO=y | ||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=38400000 | ||
CONFIG_CMU_HFCLK_HFXO=y | ||
CONFIG_SOC_GECKO_EMU_DCDC=y | ||
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y |