boards: efr32_radio: Add Support for Silabs MG12 BRD4161A board
Added support in board directory for EFR32 MG12 BRD4161A board Signed-off-by: Sharad Patil <p.sharad@capgemini.com>
This commit is contained in:
parent
517574ac90
commit
82af470b60
@ -17,6 +17,12 @@ config BOARD_EFR32_RADIO_BRD4170A
|
||||
select BOARD_EFR32_RADIO
|
||||
select SOC_PART_NUMBER_EFR32MG12P433F1024GM68
|
||||
|
||||
config BOARD_EFR32_RADIO_BRD4161A
|
||||
bool "Silicon Labs BRD4161A (Mighty Gecko Radio Board)"
|
||||
depends on SOC_SERIES_EFR32MG12P
|
||||
select BOARD_EFR32_RADIO
|
||||
select SOC_PART_NUMBER_EFR32MG12P432F1024GL125
|
||||
|
||||
config BOARD_EFR32_RADIO_BRD4250B
|
||||
bool "Silicon Labs BRD4250B (Flex Gecko Radio Board)"
|
||||
depends on SOC_SERIES_EFR32FG1P
|
||||
|
||||
@ -9,6 +9,7 @@ if BOARD_EFR32_RADIO
|
||||
config BOARD
|
||||
default "efr32_radio_brd4104a" if BOARD_EFR32_RADIO_BRD4104A
|
||||
default "efr32_radio_brd4170a" if BOARD_EFR32_RADIO_BRD4170A
|
||||
default "efr32_radio_brd4161a" if BOARD_EFR32_RADIO_BRD4161A
|
||||
default "efr32_radio_brd4250b" if BOARD_EFR32_RADIO_BRD4250B
|
||||
default "efr32_radio_brd4180a" if BOARD_EFR32_RADIO_BRD4180A
|
||||
default "efr32_radio_brd4187c" if BOARD_EFR32_RADIO_BRD4187C
|
||||
|
||||
@ -8,6 +8,8 @@ elseif(CONFIG_BOARD_EFR32_RADIO_BRD4250B)
|
||||
board_runner_args(jlink "--device=EFR32FG1PxxxF256")
|
||||
elseif(CONFIG_BOARD_EFR32_RADIO_BRD4170A)
|
||||
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
|
||||
elseif(CONFIG_BOARD_EFR32_RADIO_BRD4161A)
|
||||
board_runner_args(jlink "--device=EFR32MG12PxxxF1024")
|
||||
elseif(CONFIG_BOARD_EFR32_RADIO_BRD4180A)
|
||||
board_runner_args(jlink "--device=EFR32MG21AxxxF1024")
|
||||
elseif(CONFIG_BOARD_EFR32_RADIO_BRD4187C)
|
||||
|
||||
109
boards/arm/efr32_radio/doc/brd4161a.rst
Normal file
109
boards/arm/efr32_radio/doc/brd4161a.rst
Normal file
@ -0,0 +1,109 @@
|
||||
.. _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_brd4161a board.
|
||||
|
||||
The default configuration can be found in the defconfig file:
|
||||
|
||||
``boards/arm/efr32_radio/efr32_radio_brd4161a_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_brd4161a
|
||||
: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_brd4161a
|
||||
|
||||
|
||||
.. _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
|
||||
BIN
boards/arm/efr32_radio/doc/efr32mg12-slwrb4161a.jpeg
Normal file
BIN
boards/arm/efr32_radio/doc/efr32mg12-slwrb4161a.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
70
boards/arm/efr32_radio/efr32_radio_brd4161a.dts
Normal file
70
boards/arm/efr32_radio/efr32_radio_brd4161a.dts
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Piotr Mienkowski
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <silabs/efr32mg12p432f1024gl125.dtsi>
|
||||
#include <silabs/efr32xg12p-pinctrl.dtsi>
|
||||
#include "efr32_radio.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs BRD4161A (Mighty Gecko Radio Board)";
|
||||
compatible = "silabs,efr32_radio_brd4161a", "silabs,efr32mg12p";
|
||||
|
||||
aliases {
|
||||
spi-flash0 = &mx25r80;
|
||||
};
|
||||
};
|
||||
|
||||
&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 = <0x00008000 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>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
&usart0 {
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&usart0_default>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
21
boards/arm/efr32_radio/efr32_radio_brd4161a.yaml
Normal file
21
boards/arm/efr32_radio/efr32_radio_brd4161a.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
identifier: efr32_radio_brd4161a
|
||||
name: BRD4161A
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 256
|
||||
flash: 1024
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
supported:
|
||||
- counter
|
||||
- gpio
|
||||
- nvs
|
||||
- spi
|
||||
- uart
|
||||
- watchdog
|
||||
testing:
|
||||
ignore_tags:
|
||||
- net
|
||||
- bluetooth
|
||||
vendor: silabs
|
||||
13
boards/arm/efr32_radio/efr32_radio_brd4161a_defconfig
Normal file
13
boards/arm/efr32_radio/efr32_radio_brd4161a_defconfig
Normal file
@ -0,0 +1,13 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_ARM_MPU=y
|
||||
CONFIG_SOC_SERIES_EFR32MG12P=y
|
||||
CONFIG_BOARD_EFR32_RADIO_BRD4161A=y
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
CONFIG_SERIAL=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
|
||||
Loading…
Reference in New Issue
Block a user