boards: silabs: Consistently name dev kits
Rename all Silicon Labs dev kits to always use the official kit name as board target name. Previous kit names used various naming schemes, including putting part of the SoC name in the board name. With HWMv2, SoC names (if needed) should go in the SoC board qualifier. Use HWMv2 revisions for the two variants of SLTB010A. Split the xG27 Dev Kit from the EFR32BG22 Thunderboard. This attempt at deduplication is confusing due to the very different kit names and use of different ICs (BG22 vs BG27), and was not continued with the xG24 Dev Kit, meaning that it wasn't consistent. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
|
@ -164,6 +164,24 @@ set(efr32_radio_brd4250b_DEPRECATED
|
|||
set(efr32_radio_brd4255a_DEPRECATED
|
||||
efr32_radio/efr32fg13p233f512gm48
|
||||
)
|
||||
set(efm32gg_sltb009a_DEPRECATED
|
||||
sltb009a
|
||||
)
|
||||
set(efr32mg_sltb004a_DEPRECATED
|
||||
sltb004a
|
||||
)
|
||||
set(efr32bg22_brd4184a_DEPRECATED
|
||||
sltb010a@0
|
||||
)
|
||||
set(efr32bg22_brd4184b_DEPRECATED
|
||||
sltb010a@2
|
||||
)
|
||||
set(efr32xg24_dk2601b_DEPRECATED
|
||||
xg24_dk2601b
|
||||
)
|
||||
set(efr32bg27_brd2602a_DEPRECATED
|
||||
xg27_dk2602a
|
||||
)
|
||||
set(em_starterkit_DEPRECATED
|
||||
em_starterkit/emsk_em9d
|
||||
)
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
# EFR32BG SLTB010A board
|
||||
|
||||
# Copyright (c) 2021, Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFR32BG22_BRD4184B
|
||||
select SOC_PART_NUMBER_EFR32BG22C224F512IM40
|
|
@ -1,9 +0,0 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(CONFIG_BOARD_EFR32BG22_BRD4184A OR CONFIG_BOARD_EFR32BG22_BRD4184B)
|
||||
board_runner_args(jlink "--device=EFR32BG22C224F512IM40" "--reset-after-load")
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||
elseif(CONFIG_BOARD_EFR32BG27_BRD2602A)
|
||||
board_runner_args(silabs_commander "--device=EFR32BG27C140F768IM40")
|
||||
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)
|
||||
endif()
|
|
@ -1,13 +0,0 @@
|
|||
boards:
|
||||
- name: efr32bg22_brd4184a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32bg22c224f512im40
|
||||
- name: efr32bg22_brd4184b
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32bg22c224f512im40
|
||||
- name: efr32bg27_brd2602a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32bg27c140f768im40
|
|
@ -1,68 +0,0 @@
|
|||
.. _efr32_thunderboard:
|
||||
|
||||
EFR32 Thunderboard-style boards
|
||||
###############################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
There are a couple of very similar boards, which we categorize as
|
||||
"Thunderboard-style boards". The name can be seen on some of Silicon Labs products
|
||||
that use boards of this style, such as EFR32™ Blue Gecko Starter Kit,
|
||||
a.k.a Thunderboard EFR32BG22.
|
||||
|
||||
Those boards contains an MCU from the EFR32BG family built on ARM® Cortex®-M33F
|
||||
processor with low power capabilities.
|
||||
|
||||
For an example of such board, refer to the following site:
|
||||
|
||||
- `Thunderboard EFR32BG22 Website`_
|
||||
|
||||
Currently the following devices are considered "Thunderboard-style":
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
brd4184.rst
|
||||
brd2602.rst
|
||||
|
||||
Serial Port
|
||||
===========
|
||||
|
||||
The SoCs used on these boards have two USARTs.
|
||||
USART1 is connected to the board controller and is used for the console.
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
.. note::
|
||||
Before using the kit the first time, you should update the J-Link firmware
|
||||
from `J-Link-Downloads`_
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
The Thunderboard boards include `J-Link`_ serial and debug adapters built into the
|
||||
board. The adapter provides:
|
||||
|
||||
- A USB connection to a host computer running `J-Link software`_ or `Silicon Labs
|
||||
Simplicity Commander`_.
|
||||
- A physical UART connection which is relayed over a USB Serial port interface.
|
||||
|
||||
For detailed instructions regarding flashing, refer to documentation of a specific
|
||||
device.
|
||||
|
||||
.. _Thunderboard EFR32BG22 Website:
|
||||
https://www.silabs.com/development-tools/thunderboard/thunderboard-bg22-kit
|
||||
|
||||
.. _J-Link:
|
||||
https://www.segger.com/jlink-debug-probes.html
|
||||
|
||||
.. _J-Link-Downloads:
|
||||
https://www.segger.com/downloads/jlink
|
||||
|
||||
.. _J-Link software:
|
||||
https://www.segger.com/downloads/jlink
|
||||
|
||||
.. _Silicon Labs Simplicity Commander:
|
||||
https://www.silabs.com/developers/mcu-programming-options
|
|
@ -1,20 +0,0 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_ARM_MPU=y
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_GPIO=y
|
||||
CONFIG_SOC_GECKO_EMU_DCDC=y
|
||||
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
|
||||
CONFIG_HW_STACK_PROTECTION=y
|
||||
CONFIG_PINCTRL=y
|
||||
|
||||
# Used if SysTick is enabled, ignored for BURTC
|
||||
# (BURTC uses TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=76800000
|
||||
|
||||
# Use BURTC as system clock source
|
||||
CONFIG_GECKO_BURTC_TIMER=y
|
||||
CONFIG_CMU_BURTCCLK_LFXO=y
|
||||
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1024
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (c) 2018, Diego Sueiro
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_EFR32MG_SLTB004A
|
||||
if BOARD_SLTB004A
|
||||
|
||||
config CMU_HFXO_FREQ
|
||||
default 40000000
|
||||
|
@ -11,4 +11,4 @@ config CMU_HFXO_FREQ
|
|||
config CMU_LFXO_FREQ
|
||||
default 32768
|
||||
|
||||
endif # BOARD_EFR32MG_SLTB004A
|
||||
endif # BOARD_SLTB004A
|
|
@ -3,5 +3,5 @@
|
|||
# Copyright (c) 2018, Diego Sueiro
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFR32MG_SLTB004A
|
||||
config BOARD_SLTB004A
|
||||
select SOC_PART_NUMBER_EFR32MG12P332F1024GL125
|
|
@ -1,5 +1,5 @@
|
|||
board:
|
||||
name: efr32mg_sltb004a
|
||||
name: sltb004a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32mg12p332f1024gl125
|
|
@ -1,18 +1,18 @@
|
|||
.. _efr32mg_sltb004a:
|
||||
.. _sltb004a:
|
||||
|
||||
EFR32MG-SLTB004A
|
||||
################
|
||||
EFR32MG12 Thunderboard (SLTB004A)
|
||||
#################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The EFR32™ Mighty Gecko Starter Kit EFR32MG-SLTB004A (a.k.a Thunderboard
|
||||
Sense 2) contains a MCU from the EFR32MG family built on ARM® Cortex®-M4F
|
||||
processor with low power capabilities.
|
||||
The EFR32MG12 Thunderboard (a.k.a Thunderboard Sense 2) contains an MCU
|
||||
from the EFR32MG12 family built on ARM® Cortex®-M4F processor with low
|
||||
power capabilities.
|
||||
|
||||
.. image:: efr32mg_sltb004a.jpg
|
||||
.. image:: sltb004a.jpg
|
||||
:align: center
|
||||
:alt: EFR32MG-SLTB004A
|
||||
:alt: EFR32MG12 SLTB004A
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
@ -40,20 +40,17 @@ Hardware
|
|||
- Automatic switch-over between USB and battery power
|
||||
- CR2032 coin cell holder and external battery connector
|
||||
|
||||
For more information about the EFR32MG SoC and Thunderboard Sense 2
|
||||
(EFR32MG-SLTB004A) board:
|
||||
For more information about the EFR32MG12 SoC and Thunderboard Sense 2 board:
|
||||
|
||||
- `EFR32MG Website`_
|
||||
- `EFR32MG Datasheet`_
|
||||
- `EFR32MG Reference Manual`_
|
||||
- `EFR32MG-SLTB004A Website`_
|
||||
- `EFR32MG-SLTB004A User Guide`_
|
||||
- `EFR32MG-SLTB004A Schematics`_
|
||||
- `EFR32MG12 Datasheet`_
|
||||
- `EFR32MG12 Reference Manual`_
|
||||
- `SLTB004A User Guide`_
|
||||
- `SLTB004A Schematics`_
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
The efr32mg_sltb004a board configuration supports the following hardware features:
|
||||
The sltb004a board configuration supports the following hardware features:
|
||||
|
||||
+-----------+------------+-------------------------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
|
@ -83,14 +80,14 @@ The efr32mg_sltb004a board configuration supports the following hardware feature
|
|||
+-----------+------------+-------------------------------------+
|
||||
|
||||
The default configuration can be found in
|
||||
:zephyr_file:`boards/silabs/efr32mg_sltb004a/efr32mg_sltb004a_defconfig`
|
||||
:zephyr_file:`boards/silabs/dev_kits/sltb004a/sltb004a_defconfig`
|
||||
|
||||
Other hardware features are currently not supported by the port.
|
||||
|
||||
Connections and IOs
|
||||
===================
|
||||
|
||||
The EFR32MG SoC has eight gpio controllers (PORTA, PORTB, PORTC, PORTD,
|
||||
The EFR32MG12 SoC has eight gpio controllers (PORTA, PORTB, PORTC, PORTD,
|
||||
PORTF, PORTI, PORTJ and PORTK).
|
||||
|
||||
In the following table, the column Name contains Pin names. For example, PE2
|
||||
|
@ -136,13 +133,13 @@ in the board's and microcontroller's datasheets and manuals.
|
|||
System Clock
|
||||
============
|
||||
|
||||
The EFR32MG SoC is configured to use the 38.4 MHz external oscillator on the
|
||||
The EFR32MG12 SoC is configured to use the 38.4 MHz external oscillator on the
|
||||
board.
|
||||
|
||||
Serial Port
|
||||
===========
|
||||
|
||||
The EFR32MG SoC has four USARTs and one Low Energy UARTs (LEUART with 9600
|
||||
The EFR32MG12 SoC has four USARTs and one Low Energy UARTs (LEUART with 9600
|
||||
maximum baudrate). USART0 is configured as the Zephyr console and is connected
|
||||
to the On-Board J-Link Debugger that presents a virtual COM port for general
|
||||
purpose application serial data transfer with this interface.
|
||||
|
@ -157,7 +154,7 @@ Programming and Debugging
|
|||
Flashing
|
||||
========
|
||||
|
||||
The EFR32MG-SLTB004A includes an `J-Link`_ serial and debug adaptor built into the
|
||||
The SLTB004A 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 Mass Storage and a
|
||||
|
@ -165,18 +162,18 @@ board. The adaptor provides:
|
|||
- A Serial Flash device, which implements the USB flash disk file storage.
|
||||
- A physical UART connection which is relayed over interface USB Serial port.
|
||||
|
||||
Flashing an application to EFR32-SLTB004A
|
||||
-----------------------------------------
|
||||
Flashing an application to SLTB004A
|
||||
-----------------------------------
|
||||
|
||||
The sample application :ref:`hello_world` is used for this example.
|
||||
Build the Zephyr kernel and application:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efr32mg_sltb004a
|
||||
:board: sltb004a
|
||||
:goals: build
|
||||
|
||||
Connect the EFR32MG-SLTB004A to your host computer using the USB port and you
|
||||
Connect the SLTB004A to your host computer using the USB port and you
|
||||
should see a USB connection which exposes a Mass Storage (TB004) and a
|
||||
USB Serial Port. Copy the generated zephyr.bin in the SLTB004A drive.
|
||||
|
||||
|
@ -192,25 +189,19 @@ the following message:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
Hello World! arm
|
||||
Hello World! sltb004a
|
||||
|
||||
|
||||
.. _EFR32MG-SLTB004A Website:
|
||||
https://www.silabs.com/products/development-tools/thunderboard/thunderboard-sense-two-kit
|
||||
|
||||
.. _EFR32MG-SLTB004A User Guide:
|
||||
.. _SLTB004A User Guide:
|
||||
https://www.silabs.com/documents/public/user-guides/ug309-sltb004a-user-guide.pdf
|
||||
|
||||
.. _EFR32MG-SLTB004A Schematics:
|
||||
.. _SLTB004A Schematics:
|
||||
https://www.silabs.com/documents/public/schematic-files/BRD4166A-D00-schematic.pdf
|
||||
|
||||
.. _EFR32MG Website:
|
||||
https://www.silabs.com/products/wireless/mesh-networking/efr32mg-mighty-gecko-zigbee-thread-soc
|
||||
|
||||
.. _EFR32MG Datasheet:
|
||||
.. _EFR32MG12 Datasheet:
|
||||
https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf
|
||||
|
||||
.. _EFR32MG Reference Manual:
|
||||
.. _EFR32MG12 Reference Manual:
|
||||
https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf
|
||||
|
||||
.. _J-Link:
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
23
boards/silabs/dev_kits/sltb004a/sltb004a-pinctrl.dtsi
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2022 Silicon Labs
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <dt-bindings/pinctrl/gecko-pinctrl-s1.h>
|
||||
|
||||
&pinctrl {
|
||||
/* configuration for uart0 device, default state */
|
||||
usart0_default: usart0_default {
|
||||
group1 {
|
||||
/* configure PA.1 as UART_RX */
|
||||
psels = <GECKO_PSEL(UART_RX, A, 1)>,
|
||||
<GECKO_LOC(UART_RX, 0)>;
|
||||
};
|
||||
group2 {
|
||||
/* configure PA.0 as UART_TX */
|
||||
psels = <GECKO_PSEL(UART_TX, A, 0)>,
|
||||
<GECKO_LOC(UART_TX, 0)>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
/dts-v1/;
|
||||
#include <silabs/efr32mg12p332f1024gl125.dtsi>
|
||||
#include <silabs/efr32xg13p-pinctrl.dtsi>
|
||||
#include "sltb004a-pinctrl.dtsi"
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Silabs EFR32MG SLTB004A board (aka Thunderboard Sense 2)";
|
||||
compatible = "silabs,efr32mg_sltb004a", "silabs,efr32mg";
|
||||
model = "Silabs EFR32MG12 SLTB004A board (aka Thunderboard Sense 2)";
|
||||
compatible = "silabs,sltb004a", "silabs,efr32mg";
|
||||
|
||||
/* These aliases are provided for compatibility with samples */
|
||||
aliases {
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efr32mg_sltb004a
|
||||
name: EFR32MG-SLTB004A
|
||||
identifier: sltb004a
|
||||
name: Thunderboard Sense 2 (SLTB004A, BRD4166A)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 256
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (c) 2023 Antmicro <www.antmicro.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_EFM32GG_SLTB009A
|
||||
if BOARD_SLTB009A
|
||||
|
||||
config CMU_HFXO_FREQ
|
||||
default 50000000
|
||||
|
@ -17,4 +17,4 @@ config LOG_BACKEND_SWO_FREQ_HZ
|
|||
default 875000
|
||||
depends on LOG_BACKEND_SWO
|
||||
|
||||
endif # BOARD_EFM32GG_SLTB009A
|
||||
endif # BOARD_SLTB009A
|
|
@ -2,5 +2,5 @@
|
|||
# Copyright (c) 2023 Antmicro <www.antmicro.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFM32GG_SLTB009A
|
||||
config BOARD_SLTB009A
|
||||
select SOC_PART_NUMBER_EFM32GG12B810F1024GM64
|
|
@ -1,5 +1,5 @@
|
|||
board:
|
||||
name: efm32gg_sltb009a
|
||||
name: sltb009a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efm32gg12b810f1024gm64
|
|
@ -1,15 +1,16 @@
|
|||
.. _efm32gg_sltb009a:
|
||||
|
||||
EFM32GG12 Thunderboard Kit
|
||||
##########################
|
||||
EFM32GG12 Thunderboard (SLTB009A)
|
||||
#################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The EFM32GG12 Thunderboard Kit (SLTB009A) is an evaluation platform for the EFM32GG12 GiantGecko Microcontroller,
|
||||
featuring an ARM Cortex-M4 with FPU, 1024kB flash, and 192kB RAM.
|
||||
The EFM32GG12 Thunderboard Kit (SLTB009A) is an evaluation platform for the
|
||||
EFM32GG12 Giant Gecko Microcontroller, featuring an ARM Cortex-M4 with FPU,
|
||||
1024kB flash, and 192kB RAM.
|
||||
|
||||
.. figure:: efm32gg12-thunderboard-kit.jpg
|
||||
.. figure:: sltb009a.jpg
|
||||
:align: center
|
||||
:alt: SLTB009A
|
||||
|
||||
|
@ -57,7 +58,7 @@ features:
|
|||
+-----------+------------+-------------------------------------+
|
||||
|
||||
The default configuration can be found in
|
||||
:zephyr_file:`boards/silabs/efm32gg_sltb009a/efm32gg_sltb009a_defconfig`
|
||||
:zephyr_file:`boards/silabs/dev_kits/sltb009a/sltb009a_defconfig`
|
||||
|
||||
Connections and IOs
|
||||
===================
|
||||
|
@ -121,7 +122,7 @@ board. The adaptor provides:
|
|||
- A physical UART connection which is relayed over interface USB serial port.
|
||||
|
||||
Flashing an application to SLTB009A
|
||||
--------------------------------------
|
||||
-----------------------------------
|
||||
|
||||
Connect the SLTB009A to your host computer using the USB port.
|
||||
|
||||
|
@ -129,7 +130,7 @@ Here is an example to build and flash the :ref:`hello_world` application.
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efm32gg_stb009a
|
||||
:board: sltb009a
|
||||
:goals: flash
|
||||
|
||||
Open a serial terminal (minicom, putty, etc.) with the following settings:
|
||||
|
@ -144,7 +145,7 @@ terminal session:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
Hello World! efm32gg_sltb009a
|
||||
Hello World! sltb009a
|
||||
|
||||
.. _SLTB009A Website:
|
||||
https://www.silabs.com/development-tools/thunderboard/thunderboard-gg12-kit
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -7,11 +7,11 @@
|
|||
/dts-v1/;
|
||||
#include <silabs/efm32gg12b810f1024gm64.dtsi>
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
#include "efm32gg_sltb009a-pinctrl.dtsi"
|
||||
#include "sltb009a-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs EFM32GG SLTB009A board";
|
||||
compatible = "silabs,efm32gg_sltb009a";
|
||||
model = "Silicon Labs EFM32GG12 SLTB009A board";
|
||||
compatible = "silabs,sltb009a";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &usart0;
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efm32gg_sltb009a
|
||||
name: EFM32GG-SLTB009A
|
||||
identifier: sltb009a
|
||||
name: Thunderboard EFM32GG12 (SLTB009A, BRD2207A)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 192
|
|
@ -3,6 +3,6 @@
|
|||
# Copyright (c) 2022, Silicon Labs
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
module = BOARD_THUNDERBOARD
|
||||
module = BOARD_SLTB010A
|
||||
module-str = Board Control
|
||||
source "subsys/logging/Kconfig.template.log_config"
|
|
@ -3,5 +3,5 @@
|
|||
# Copyright (c) 2021, Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFR32BG22_BRD4184A
|
||||
config BOARD_SLTB010A
|
||||
select SOC_PART_NUMBER_EFR32BG22C224F512IM40
|
|
@ -13,7 +13,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
LOG_MODULE_REGISTER(thunderboard, CONFIG_BOARD_THUNDERBOARD_LOG_LEVEL);
|
||||
LOG_MODULE_REGISTER(thunderboard, CONFIG_BOARD_SLTB010A_LOG_LEVEL);
|
||||
|
||||
static int thunderboard_init_clocks(void);
|
||||
|
5
boards/silabs/dev_kits/sltb010a/board.cmake
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2024 Silicon Laboratories Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(jlink "--device=EFR32BG22C224F512IM40" "--reset-after-load")
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
11
boards/silabs/dev_kits/sltb010a/board.yml
Normal file
|
@ -0,0 +1,11 @@
|
|||
boards:
|
||||
- name: sltb010a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32bg22c224f512im40
|
||||
revision:
|
||||
format: number
|
||||
default: "2"
|
||||
revisions:
|
||||
- name: "0"
|
||||
- name: "2"
|
|
@ -1,15 +1,15 @@
|
|||
.. _efr32bg22_brd4184:
|
||||
.. _sltb010a:
|
||||
|
||||
SiLabs EFR32BG22-BRD4184(A/B) (Thunderboard EFR32BG22)
|
||||
######################################################
|
||||
EFR32BG22 Thunderboard (SLTB010A)
|
||||
#################################
|
||||
|
||||
BRD4184 is a board based on EFR32BG22 SoC and is one of
|
||||
:ref:`efr32_thunderboard`. It comes in two revisions, which differ from each
|
||||
other slightly: BRD4184A and BRD4184B.
|
||||
SLTB010A is a development kit based on the EFR32BG22 SoC. Early revisions of
|
||||
the kit (A00 and A01) use a slightly different PCB (BRD4184A) from later
|
||||
revisions (BRD4184B).
|
||||
|
||||
.. image:: ./efr32bg_sltb010a.jpg
|
||||
.. image:: ./sltb010a.jpg
|
||||
:align: center
|
||||
:alt: EFR32BG-SLTB010A
|
||||
:alt: SLTB010A board
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
@ -49,7 +49,7 @@ For more information about the EFR32BG SoC and Thunderboard EFR32BG22 board:
|
|||
Supported Features
|
||||
==================
|
||||
|
||||
The efr32bg22_brd4184a/b board configuration supports the following hardware features:
|
||||
The sltb010a board configuration supports the following hardware features:
|
||||
|
||||
+-----------+------------+-------------------------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
|
@ -80,27 +80,20 @@ The efr32bg22_brd4184a/b board configuration supports the following hardware fea
|
|||
+-----------+------------+-------------------------------------+
|
||||
|
||||
The default configuration can be found in
|
||||
:zephyr_file:`boards/silabs/efr32_thunderboard/efr32bg22_brd4184a_defconfig`
|
||||
and
|
||||
:zephyr_file:`boards/silabs/efr32_thunderboard/efr32bg22_brd4184b_defconfig`
|
||||
:zephyr_file:`boards/silabs/dev_kits/sltb010a/sltb010a_defconfig`.
|
||||
|
||||
Connections and IOs
|
||||
===================
|
||||
|
||||
The EFR32BG SoC has six gpio controllers (PORTA, PORTB, PORTC, PORTD,
|
||||
PORTE and PORTF).
|
||||
|
||||
In the following tables, the column Name contains Pin names. For example, PE2
|
||||
means Pin number 2 on PORTE and #27 represents the location bitfield, as used
|
||||
in the board's and microcontroller's datasheets and manuals.
|
||||
The EFR32BG22 SoC has four gpio controllers (PORTA, PORTB, PORTC and PORTD).
|
||||
|
||||
There are two variants of this board, "A" and "B". Please take a look at your PCB,
|
||||
to determine which one you have, as the GPIO pin bindings vary between those two.
|
||||
|
||||
BRD4184A:
|
||||
BRD4184A (SLTB010A revision A00 and A01):
|
||||
|
||||
+------+-------------+-----------------------------------+
|
||||
| Name | Function | Usage |
|
||||
| Pin | Function | Usage |
|
||||
+======+=============+===================================+
|
||||
| PB0 | GPIO | LED0 (YELLOW) |
|
||||
+------+-------------+-----------------------------------+
|
||||
|
@ -111,10 +104,10 @@ BRD4184A:
|
|||
| PA6 | UART_RX | UART RX Console VCOM_RX US1_RX #1 |
|
||||
+------+-------------+-----------------------------------+
|
||||
|
||||
BRD4184B:
|
||||
BRD4184B (SLTB010A revision A02 and newer):
|
||||
|
||||
+------+-------------+-----------------------------------+
|
||||
| Name | Function | Usage |
|
||||
| Pin | Function | Usage |
|
||||
+======+=============+===================================+
|
||||
| PA4 | GPIO | LED0 (YELLOW) |
|
||||
+------+-------------+-----------------------------------+
|
||||
|
@ -128,7 +121,7 @@ BRD4184B:
|
|||
System Clock
|
||||
============
|
||||
|
||||
The EFR32BG SoC is configured to use the 38.4 MHz external oscillator on the
|
||||
The EFR32BG22 SoC is configured to use the 38.4 MHz external oscillator on the
|
||||
board.
|
||||
|
||||
Programming and Debugging
|
||||
|
@ -145,14 +138,14 @@ BRD4184A:
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efr32bg22_brd4184a
|
||||
:board: sltb010a@0
|
||||
:goals: flash
|
||||
|
||||
BRD4184B:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efr32bg22_brd4184b
|
||||
:board: sltb010a@2
|
||||
:goals: flash
|
||||
|
||||
.. note::
|
||||
|
@ -171,7 +164,7 @@ the following message:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
Hello World! efr32bg22_brd4184
|
||||
Hello World! sltb010a
|
||||
|
||||
Bluetooth
|
||||
=========
|
||||
|
@ -191,14 +184,14 @@ BRD4184A:
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/bluetooth/observer
|
||||
:board: efr32bg22_brd4184a
|
||||
:board: sltb010a@0
|
||||
:goals: build
|
||||
|
||||
BRD4184B:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/bluetooth/observer
|
||||
:board: efr32bg22_brd4184b
|
||||
:board: sltb010a@2
|
||||
:goals: build
|
||||
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
@ -4,6 +4,9 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <silabs/efr32bg22.dtsi>
|
||||
#include <silabs/efr32bg2x-pinctrl.dtsi>
|
||||
#include "thunderboard.dtsi"
|
||||
|
||||
/ {
|
|
@ -4,14 +4,9 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <silabs/efr32bg22.dtsi>
|
||||
#include <silabs/efr32bg2x-pinctrl.dtsi>
|
||||
#include "efr32bg22_brd4184.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs EFR32BG BRD4184A (aka Thunderboard BG22)";
|
||||
compatible = "silabs,efr32bg22c224f512im40", "silabs,efr32bg_brd4184a",
|
||||
model = "Silicon Labs EFR32BG22 Thunderboard (SLTB010A) using BRD4184A";
|
||||
compatible = "silabs,efr32bg22c224f512im40", "silabs,sltb010a",
|
||||
"silabs,efr32bg22";
|
||||
};
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efr32bg22_brd4184a
|
||||
name: EFR32BG22-BRD4184A
|
||||
identifier: sltb010a@0
|
||||
name: Thunderboard EFR32BG22 (SLTB010A, BRD4184A)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 32
|
|
@ -5,14 +5,9 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <silabs/efr32bg22.dtsi>
|
||||
#include <silabs/efr32bg2x-pinctrl.dtsi>
|
||||
#include "efr32bg22_brd4184.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs EFR32BG BRD4184B (aka Thunderboard BG22)";
|
||||
compatible = "silabs,efr32bg22c224f512im40", "silabs,efr32bg_brd4184b",
|
||||
model = "Silicon Labs EFR32BG22 Thunderboard (SLTB010A) using BRD4184B";
|
||||
compatible = "silabs,efr32bg22c224f512im40", "silabs,sltb010a",
|
||||
"silabs,efr32bg22";
|
||||
};
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efr32bg22_brd4184b
|
||||
name: EFR32BG22-BRD4184B
|
||||
identifier: sltb010a@2
|
||||
name: Thunderboard EFR32BG22 (SLTB010A, BRD4184B)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 32
|
|
@ -3,10 +3,10 @@
|
|||
# Copyright (c) 2022, Silicon Labs
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_EFR32XG24_DK2601B
|
||||
if BOARD_XG24_DK2601B
|
||||
|
||||
module = BOARD_EFR32MG24
|
||||
module-str = Board Control
|
||||
source "subsys/logging/Kconfig.template.log_config"
|
||||
|
||||
endif # BOARD_EFR32XG24_DK2601B
|
||||
endif # BOARD_XG24_DK2601B
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (c) 2021, Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_EFR32XG24_DK2601B
|
||||
if BOARD_XG24_DK2601B
|
||||
|
||||
config CMU_HFXO_FREQ
|
||||
default 40000000
|
||||
|
@ -42,4 +42,4 @@ endif # SHELL
|
|||
|
||||
endif # BT
|
||||
|
||||
endif # BOARD_EFR32XG24_DK2601B
|
||||
endif # BOARD_XG24_DK2601B
|
|
@ -3,5 +3,5 @@
|
|||
# Copyright (c) 2021, Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFR32XG24_DK2601B
|
||||
config BOARD_XG24_DK2601B
|
||||
select SOC_PART_NUMBER_EFR32MG24B310F1536IM48
|
|
@ -1,5 +1,5 @@
|
|||
board:
|
||||
name: efr32xg24_dk2601b
|
||||
name: xg24_dk2601b
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32mg24b310f1536im48
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
@ -1,7 +1,7 @@
|
|||
.. _efr32mg24_dk2601b:
|
||||
|
||||
xG24-DK2601B
|
||||
###########################
|
||||
EFR32xG24 Dev Kit (xG24-DK2601B)
|
||||
################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
@ -10,10 +10,10 @@ The EFR32MG24 Mighty Gecko Board dev kit contains
|
|||
a Wireless System-On-Chip from the EFR32MG24 family built on an
|
||||
ARM Cortex®-M33F processor with excellent low power capabilities.
|
||||
|
||||
.. figure:: ./img/efr32xg24_dk2601b.jpg
|
||||
.. figure:: ./img/xg24_dk2601b.jpg
|
||||
:height: 260px
|
||||
:align: center
|
||||
:alt: SLWRB4180A Mighty Gecko Radio Board
|
||||
:alt: xG24-DK2601B Dev Kit board
|
||||
|
||||
xG24-DK2601B (image courtesy of Silicon Labs)
|
||||
|
||||
|
@ -94,13 +94,13 @@ means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
|
|||
+-------+-------------+-------------------------------------+
|
||||
| PB3 | GPIO | Push Button 1 |
|
||||
+-------+-------------+-------------------------------------+
|
||||
| PA5 | USART0_TX | UART Console EFM_BC_TX US0_TX |
|
||||
| PA5 | USART0_TX | UART Console VCOM_TX US0_TX |
|
||||
+-------+-------------+-------------------------------------+
|
||||
| PA6 | USART0_RX | UART Console EFM_BC_RX US0_RX |
|
||||
| PA6 | USART0_RX | UART Console VCOM_RX US0_RX |
|
||||
+-------+-------------+-------------------------------------+
|
||||
|
||||
The default configuration can be found in
|
||||
:zephyr_file:`boards/silabs/efr32xg24_dk2601b/efr32xg24_dk2601b_defconfig`
|
||||
:zephyr_file:`boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig`
|
||||
|
||||
System Clock
|
||||
============
|
||||
|
@ -129,10 +129,10 @@ Build the Zephyr kernel and application:
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efr32xg24_dk2601b
|
||||
:board: xg24_dk2601b
|
||||
:goals: build
|
||||
|
||||
Connect the efr32xg24_dk2601b to your host computer using the USB port and you
|
||||
Connect the xg24_dk2601b to your host computer using the USB port and you
|
||||
should see a USB connection.
|
||||
|
||||
Open a serial terminal (minicom, putty, etc.) with the following settings:
|
||||
|
@ -147,7 +147,7 @@ terminal session:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
Hello World! efr32xg24_dk2601b
|
||||
Hello World! xg24_dk2601b
|
||||
|
||||
Bluetooth
|
||||
=========
|
||||
|
@ -165,7 +165,7 @@ this example.
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/bluetooth/observer
|
||||
:board: efr32xg24_dk2601b
|
||||
:board: xg24_dk2601b
|
||||
:goals: build
|
||||
|
||||
.. _EFR32MG24 Website:
|
|
@ -10,8 +10,8 @@
|
|||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs BRD2601B (Mighty Gecko Radio Board)";
|
||||
compatible = "silabs,efr32mg24_brd2601b", "silabs,efr32mg24";
|
||||
model = "Silicon Labs BRD2601B (xG24 Dev Kit)";
|
||||
compatible = "silabs,xg24_brd2601b", "silabs,efr32mg24";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &usart0;
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efr32xg24_dk2601b
|
||||
name: BRD4601B
|
||||
identifier: xg24_dk2601b
|
||||
name: xG24 Dev Kit (xG24-DK2601B, BRD2601B)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 256
|
7
boards/silabs/dev_kits/xg27_dk2602a/CMakeLists.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Copyright (c) 2021 Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(CONFIG_UART_GECKO)
|
||||
zephyr_library()
|
||||
zephyr_library_sources(board.c)
|
||||
endif()
|
8
boards/silabs/dev_kits/xg27_dk2602a/Kconfig
Normal file
|
@ -0,0 +1,8 @@
|
|||
# EFR32 Thunderboard-style boards
|
||||
|
||||
# Copyright (c) 2022, Silicon Labs
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
module = BOARD_XG27_DK2602A
|
||||
module-str = Board Control
|
||||
source "subsys/logging/Kconfig.template.log_config"
|
32
boards/silabs/dev_kits/xg27_dk2602a/Kconfig.defconfig
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Copyright (c) 2023 Antmicro <www.antmicro.com>
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config CMU_HFXO_FREQ
|
||||
default 38400000
|
||||
|
||||
config CMU_LFXO_FREQ
|
||||
default 32768
|
||||
|
||||
if SOC_GECKO_USE_RAIL
|
||||
|
||||
config FPU
|
||||
default y
|
||||
|
||||
endif # SOC_GECKO_USE_RAIL
|
||||
|
||||
if BT
|
||||
|
||||
config FPU
|
||||
default y
|
||||
|
||||
config COMMON_LIBC_MALLOC_ARENA_SIZE
|
||||
default 8192
|
||||
|
||||
config MAIN_STACK_SIZE
|
||||
default 3072 if PM
|
||||
default 2304
|
||||
|
||||
endif # BT
|
||||
|
||||
config REGULATOR
|
||||
default y if SI7210
|
|
@ -3,5 +3,5 @@
|
|||
# Copyright (c) 2021, Sateesh Kotapati
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_EFR32BG27_BRD2602A
|
||||
config BOARD_XG27_DK2602A
|
||||
select SOC_PART_NUMBER_EFR32BG27C140F768IM40
|
63
boards/silabs/dev_kits/xg27_dk2602a/board.c
Normal file
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Sateesh Kotapati
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/drivers/gpio.h>
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/logging/log.h>
|
||||
|
||||
#ifdef CONFIG_SOC_GECKO_DEV_INIT
|
||||
#include "em_cmu.h"
|
||||
#endif
|
||||
|
||||
|
||||
LOG_MODULE_REGISTER(dev_kit, CONFIG_BOARD_XG27_DK2602A_LOG_LEVEL);
|
||||
|
||||
static int dev_kit_init_clocks(void);
|
||||
|
||||
static int dev_kit_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
#ifdef CONFIG_SOC_GECKO_DEV_INIT
|
||||
dev_kit_init_clocks();
|
||||
#endif
|
||||
static struct gpio_dt_spec wake_up_gpio_dev =
|
||||
GPIO_DT_SPEC_GET(DT_NODELABEL(wake_up_trigger), gpios);
|
||||
|
||||
|
||||
if (!gpio_is_ready_dt(&wake_up_gpio_dev)) {
|
||||
LOG_ERR("Wake-up GPIO device was not found!\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
ret = gpio_pin_configure_dt(&wake_up_gpio_dev, GPIO_OUTPUT_ACTIVE);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SOC_GECKO_DEV_INIT
|
||||
static int dev_kit_init_clocks(void)
|
||||
{
|
||||
CMU_ClockSelectSet(cmuClock_SYSCLK, cmuSelect_HFRCODPLL);
|
||||
#if defined(_CMU_EM01GRPACLKCTRL_MASK)
|
||||
CMU_ClockSelectSet(cmuClock_EM01GRPACLK, cmuSelect_HFRCODPLL);
|
||||
#endif
|
||||
#if defined(_CMU_EM01GRPBCLKCTRL_MASK)
|
||||
CMU_ClockSelectSet(cmuClock_EM01GRPBCLK, cmuSelect_HFRCODPLL);
|
||||
#endif
|
||||
CMU_ClockSelectSet(cmuClock_EM23GRPACLK, cmuSelect_LFRCO);
|
||||
#if defined(RTCC_PRESENT)
|
||||
CMU_ClockSelectSet(cmuClock_RTCC, cmuSelect_LFRCO);
|
||||
#endif
|
||||
CMU_ClockSelectSet(cmuClock_WDOG0, cmuSelect_LFRCO);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* needs to be done after GPIO driver init */
|
||||
SYS_INIT(dev_kit_init, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE);
|
7
boards/silabs/dev_kits/xg27_dk2602a/board.cmake
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Copyright (c) 2024 Silicon Laboratories Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(jlink "--device=EFR32BG27CxxxF768" "--reset-after-load")
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||
board_runner_args(silabs_commander "--device=EFR32BG27C140F768IM40")
|
||||
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)
|
5
boards/silabs/dev_kits/xg27_dk2602a/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
boards:
|
||||
- name: xg27_dk2602a
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: efr32bg27c140f768im40
|
|
@ -1,10 +1,17 @@
|
|||
.. _efr32BG27_brd2602:
|
||||
.. _xg27_dk2602a:
|
||||
|
||||
SiLabs EFR32BG27-BRD2602(A) (EFR32BG27 +8 dBm Dev Kit Board)
|
||||
############################################################
|
||||
EFR32xG27 Dev Kit (xG27-DK2602A)
|
||||
################################
|
||||
|
||||
BRD2602 is a board based on EFR32BG27 SoC and is one of
|
||||
:ref:`efr32_thunderboard`.
|
||||
Silicon Labs xG27-DK2602A is a Dev Kit using the EFR32BG27 SoC. The kit
|
||||
consists of the EFR32BG27 +8 dBm Dev Kit Board (BRD2602A).
|
||||
|
||||
.. figure:: ./xg27_dk2602a.png
|
||||
:height: 260px
|
||||
:align: center
|
||||
:alt: xG27-DK2602A
|
||||
|
||||
xG27-DK2602A (image courtesy of Silicon Labs)
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
@ -28,10 +35,14 @@ Hardware
|
|||
- Reset button
|
||||
- CR2032 coin cell holder and external battery connector
|
||||
|
||||
For more information, refer to these documents:
|
||||
|
||||
- `xG27 Dev Kit User's Guide`_
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
The efr32bg27_brd2602 board configuration supports the following hardware features:
|
||||
The xg27_dk2602a board configuration supports the following hardware features:
|
||||
|
||||
+-----------+------------+-------------------------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
|
@ -50,7 +61,7 @@ The efr32bg27_brd2602 board configuration supports the following hardware featur
|
|||
Flashing
|
||||
========
|
||||
|
||||
The EFR32BG27-BRD2602A includes an embedded `J-Link`_ adapter built around
|
||||
The xG27 Dev Kit includes an embedded `J-Link`_ adapter built around
|
||||
EFM32GG12 microcontroller (not user-programmable).
|
||||
The adapter provides:
|
||||
|
||||
|
@ -99,7 +110,7 @@ Build the Zephyr kernel and application:
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: efr32bg27_brd2602a
|
||||
:board: xg27_dk2602a
|
||||
:goals: build
|
||||
|
||||
Connect your device to your host computer using the USB port and you
|
||||
|
@ -117,7 +128,7 @@ the following message:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
Hello World! efr32bg27_brd2602a
|
||||
Hello World! xg27_dk2602a
|
||||
|
||||
.. _picocom:
|
||||
https://github.com/npat-efault/picocom
|
||||
|
@ -127,3 +138,6 @@ the following message:
|
|||
|
||||
.. _Simplicity Commander:
|
||||
https://www.silabs.com/developers/mcu-programming-options
|
||||
|
||||
.. _xG27 Dev Kit User's Guide:
|
||||
https://www.silabs.com/documents/public/user-guides/ug554-brd2602a-user-guide.pdf
|
BIN
boards/silabs/dev_kits/xg27_dk2602a/doc/xg27_dk2602a.png
Normal file
After Width: | Height: | Size: 54 KiB |
|
@ -0,0 +1,15 @@
|
|||
# Copyright (c) 2022, Antmicro
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: GPIO Wake Up Trigger for EFR32BG22/EFR32BG27
|
||||
|
||||
compatible: "silabs,gecko-wake-up-trigger"
|
||||
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
gpios:
|
||||
type: phandle-array
|
||||
required: true
|
||||
description: |
|
||||
GPIO used as wake up trigger from EM4 sleep
|
5
boards/silabs/dev_kits/xg27_dk2602a/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")
|
170
boards/silabs/dev_kits/xg27_dk2602a/thunderboard.dtsi
Normal file
|
@ -0,0 +1,170 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Antmicro <www.antmicro.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
#include <silabs/gpio_gecko.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,bt-c2h-uart = &usart1;
|
||||
zephyr,console = &usart1;
|
||||
zephyr,shell-uart = &usart1;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0: led_0 {
|
||||
gpios = <&gpiob GECKO_PIN(0) GPIO_ACTIVE_HIGH>;
|
||||
label = "LED 0";
|
||||
};
|
||||
};
|
||||
|
||||
buttons {
|
||||
compatible = "gpio-keys";
|
||||
button0: button_0 {
|
||||
gpios = <&gpiob GECKO_PIN(1) GPIO_ACTIVE_LOW>;
|
||||
label = "User Push Button 0";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
};
|
||||
|
||||
wake_up_trigger: gpio-wake-up {
|
||||
compatible = "silabs,gecko-wake-up-trigger";
|
||||
gpios = <&gpioa GECKO_PIN(5) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/* GPIOs that power up different sensors */
|
||||
sw_sensor_enable: gpio_switch_0 {
|
||||
compatible = "regulator-fixed";
|
||||
status = "okay";
|
||||
regulator-name = "sw_sensor_enable";
|
||||
startup-delay-us = <100000>;
|
||||
/* Always on since sensor drivers won't enable it automatically */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw_mic_enable: gpio_switch_1 {
|
||||
compatible = "regulator-fixed";
|
||||
status = "okay";
|
||||
regulator-name = "sw_mic_enable";
|
||||
startup-delay-us = <100000>;
|
||||
};
|
||||
|
||||
sw_imu_enable: gpio_switch_2 {
|
||||
compatible = "regulator-fixed";
|
||||
status = "okay";
|
||||
regulator-name = "sw_imu_enable";
|
||||
startup-delay-us = <100000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
clock-frequency = <76800000>;
|
||||
};
|
||||
|
||||
&pstate_em3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&usart0 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&usart0_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
cs-gpios = <&gpioc 3 GPIO_ACTIVE_LOW>;
|
||||
|
||||
mx25r80: mx25r8035f@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
size = <0x800000>;
|
||||
jedec-id = [c2 28 14];
|
||||
sfdp-bfp = [
|
||||
e5 20 f1 ff ff ff 7f 00 44 eb 08 6b 08 3b 04 bb
|
||||
ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52
|
||||
10 d8 00 ff 23 72 f5 00 82 ed 04 b7 44 83 38 44
|
||||
30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
pinctrl-0 = <&usart1_default>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&wdog0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
location-swo = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpioa {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpiob {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpioc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&burtc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&stimer0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&trng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
i2c0_default: i2c0_default {
|
||||
group1 {
|
||||
psels = <GECKO_PSEL(I2C_SDA, D, 2)>,
|
||||
<GECKO_PSEL(I2C_SCL, D, 3)>,
|
||||
<GECKO_LOC(I2C_SDA, 3)>,
|
||||
<GECKO_LOC(I2C_SCL, 3)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0_default>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
si7210@30 {
|
||||
compatible = "silabs,si7210";
|
||||
status = "okay";
|
||||
reg = <0x30>;
|
||||
};
|
||||
};
|
||||
|
||||
&adc0 {
|
||||
status = "okay";
|
||||
};
|
|
@ -10,8 +10,8 @@
|
|||
#include "thunderboard.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs EFR32BG27C140F768IM40 Thunderboard-style board";
|
||||
compatible = "silabs,efr32bg27c140f768im40", "silabs,efr32bg27_brd2602a",
|
||||
model = "Silicon Labs xG27-DK2602A Dev Kit";
|
||||
compatible = "silabs,efr32bg27c140f768im40", "silabs,xg27_dk2602a",
|
||||
"silabs,efr32bg27";
|
||||
|
||||
/* These aliases are provided for compatibility with samples */
|
||||
|
@ -27,6 +27,7 @@
|
|||
|
||||
chosen {
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
zephyr,bt-hci = &bt_hci_silabs;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -80,3 +81,7 @@
|
|||
&button0 {
|
||||
gpios = <&gpiob GECKO_PIN(3) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&bt_hci_silabs {
|
||||
status = "okay";
|
||||
};
|
|
@ -1,5 +1,5 @@
|
|||
identifier: efr32bg27_brd2602a
|
||||
name: EFR32BG27_BRD2602A
|
||||
identifier: xg27_dk2602a
|
||||
name: xG27 Dev Kit (xG27-DK2602A, BRD2602A)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 64
|
|
@ -145,7 +145,7 @@ corresponding devicetree overlay.
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/drivers/counter/maxim_ds3231
|
||||
:board: efr32mg_sltb004a
|
||||
:board: sltb004a
|
||||
:goals: build
|
||||
:compact:
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ tests:
|
|||
sample.basic.maxim_ds3231:
|
||||
build_only: true
|
||||
platform_allow:
|
||||
- efr32mg_sltb004a
|
||||
- sltb004a
|
||||
- frdm_k64f
|
||||
- nrf51dk/nrf51822
|
||||
- nucleo_l476rg
|
||||
- particle_xenon
|
||||
integration_platforms:
|
||||
- efr32mg_sltb004a
|
||||
- sltb004a
|
||||
|
|
|
@ -20,7 +20,7 @@ supports :kconfig:option:`CONFIG_FLASH_JESD216_API`.
|
|||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/drivers/jesd216
|
||||
:board: efr32mg_sltb004a
|
||||
:board: sltb004a
|
||||
:goals: build flash
|
||||
:compact:
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ tests:
|
|||
tags: sensors
|
||||
platform_allow:
|
||||
- thingy52/nrf52832
|
||||
- efr32mg_sltb004a
|
||||
- sltb004a
|
||||
integration_platforms:
|
||||
- efr32mg_sltb004a
|
||||
- sltb004a
|
||||
depends_on: i2c
|
||||
|
|
|
@ -8,7 +8,7 @@ sample:
|
|||
name: SHT3XD Sensor Sample
|
||||
common:
|
||||
platform_allow:
|
||||
- efr32mg_sltb004a
|
||||
- sltb004a
|
||||
- frdm_k64f
|
||||
- nrf51_ble400
|
||||
- nrf52840dk/nrf52840
|
||||
|
|
|
@ -26,7 +26,7 @@ tests:
|
|||
- nucleo_l152re
|
||||
- nucleo_wb55rg
|
||||
- rpi_pico
|
||||
- efr32bg22_brd4184a
|
||||
- sltb010a@0
|
||||
- mr_canhubk3
|
||||
integration_platforms:
|
||||
- nucleo_f091rc
|
||||
|
|