boards: silabs: Add support for Silabs SiWx917 BRD4338 board
This new board definition allow to test Silicon Labs SiWx917 SoC. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit is contained in:
parent
aac0b343b5
commit
8f82116033
8 changed files with 187 additions and 0 deletions
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2023 Antmicro
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_SIWX917_RB4338A
|
||||
select SOC_PART_NUMBER_SIWG917M111MGTBA
|
13
boards/silabs/radio_boards/siwx917_rb4338a/board.cmake
Normal file
13
boards/silabs/radio_boards/siwx917_rb4338a/board.cmake
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Copyright (c) 2024 Silicon Laboratories Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(silabs_commander "--device=SiWG917M111GTBA" "--file-type=bin"
|
||||
"--file=${PROJECT_BINARY_DIR}/${KERNEL_BIN_NAME}.rps")
|
||||
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)
|
||||
|
||||
# It is not possible to load/flash a firmware using JLink, but it is possible to
|
||||
# debug a firmware with:
|
||||
# west attach -r jlink
|
||||
# Once started, it should be possible to reset the device with "monitor reset"
|
||||
board_runner_args(jlink "--device=Si917" "--speed=10000")
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
6
boards/silabs/radio_boards/siwx917_rb4338a/board.yml
Normal file
6
boards/silabs/radio_boards/siwx917_rb4338a/board.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
board:
|
||||
name: siwx917_rb4338a
|
||||
full_name: SiWx917 Wi-Fi 6 and Bluetooth LE SoC 8 MB Flash Radio Board (SLWRB4338A)
|
||||
vendor: silabs
|
||||
socs:
|
||||
- name: siwg917m111mgtba
|
116
boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst
Normal file
116
boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst
Normal file
|
@ -0,0 +1,116 @@
|
|||
.. zephyr:board:: siwx917_rb4338a
|
||||
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The SiWx917-RB4338A (aka BRD4338A) radio board provides support for the Silicon
|
||||
Labs SiWG917 SoC. This board cannot be used stand-alone and requires a a
|
||||
`Wireless Pro Kit`_ Mainboard (Si-MB4002A aka BRD4002A), for power, debug
|
||||
options etc.
|
||||
|
||||
This board might be sold as a part of the `SiWx917-PK6031A`_ bundle ("SiWx917
|
||||
Wi-Fi 6 and Bluetooth LE 8 MB Flash Pro Kit"), which includes the BRD4002A
|
||||
Mainboard in addition of the BRD4338A.
|
||||
|
||||
SiWG917 is an ultra-low power SoC that includes hardware support for Single-Band
|
||||
Wi-Fi 6 + Bluetooth LE 5.4, Matter...
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
For more information about the SiWG917 SoC and BRD4338A board, refer to these
|
||||
documents:
|
||||
|
||||
- `SiWG917 Website`_
|
||||
- `SiWG917 Datasheet`_
|
||||
- `SiWG917 Reference Manual`_
|
||||
- `BRD4338A Website`_
|
||||
- `BRD4338A User Guide`_
|
||||
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
The ``siwx917_rb4338a`` board supports the following hardware features:
|
||||
|
||||
+-----------+------------+------------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
+===========+============+========================+
|
||||
| CMU | on-chip | clock control |
|
||||
+-----------+------------+------------------------+
|
||||
| MPU | on-chip | memory protection unit |
|
||||
+-----------+------------+------------------------+
|
||||
| NVIC | on-chip | interrupt controller |
|
||||
+-----------+------------+------------------------+
|
||||
| UART | on-chip | serial |
|
||||
+-----------+------------+------------------------+
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
Applications for the ``siwx917_rb4338a`` board can be built in the usual
|
||||
way. The flash method requires on `Simplicity Commander`_ installed on the host.
|
||||
|
||||
Then, connect the BRD4002A board with a mounted BRD4338A radio module to your
|
||||
host computer using the USB port.
|
||||
|
||||
Here is an example for the :zephyr:code-sample:`hello_world` application.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: siwx917_rb4338a
|
||||
: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! siwx917_rb4338a
|
||||
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
Debuggning relies on JLink tool. JLink is not able to flash the firmware. So
|
||||
debug session has to be done in two steps. ``west flash`` will flahs the
|
||||
firmware using Simplicity Commander. Then ``west attach`` will use JLink to
|
||||
attach to the board. The Zephyr image may has already booted when user runs
|
||||
``west attach``. User may execute ``monitor reset`` in the gdb prompt to reset
|
||||
the board.
|
||||
|
||||
|
||||
|
||||
.. _SiWx917-PK6031A:
|
||||
https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-pk6031a-wifi-6-bluetooth-le-soc-pro-kit
|
||||
|
||||
.. _Wireless Pro Kit:
|
||||
https://www.silabs.com/development-tools/wireless/wireless-pro-kit-mainboard
|
||||
|
||||
.. _BRD4338A Website:
|
||||
https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-rb4338a-wifi-6-bluetooth-le-soc-radio-board
|
||||
|
||||
.. _BRD4338A User Guide:
|
||||
https://www.silabs.com/documents/public/user-guides/ug562-brd4338a-user-guide.pdf
|
||||
|
||||
.. _SiWG917 Website:
|
||||
https://www.silabs.com/wireless/wi-fi/siwx917-wireless-socs
|
||||
|
||||
.. _SiWG917 Datasheet:
|
||||
https://www.silabs.com/documents/public/data-sheets/siw917x-datasheet.pdf
|
||||
|
||||
.. _SiWG917 Reference Manual:
|
||||
https://www.silabs.com/documents/public/reference-manuals/siw917x-family-rm.pdf
|
||||
|
||||
.. _Simplicity Commander:
|
||||
https://www.silabs.com/developer-tools/simplicity-studio/simplicity-commander
|
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Antmicro
|
||||
* Copyright (c) 2024 Silicon Laboratories Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <silabs/siwg917m111mgtba.dtsi>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input-event-codes.h>
|
||||
#include <common/freq.h>
|
||||
|
||||
/ {
|
||||
model = "Silicon Labs BRD4338A (SiWG917 Radio Board)";
|
||||
compatible = "silabs,x917_rb4338a", "silabs,siwg917";
|
||||
|
||||
chosen {
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,console = &ulpuart;
|
||||
zephyr,shell-uart = &ulpuart;
|
||||
};
|
||||
};
|
||||
|
||||
&ulpuart {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,13 @@
|
|||
identifier: siwx917_rb4338a
|
||||
name: SiWx917 Wi-Fi 6 and Bluetooth LE 8MB Flash Radio Board (SLWRB4338A, BRD4338A)
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 191
|
||||
flash: 1024
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- i2c
|
||||
vendor: silabs
|
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2024 Silicon Laboratories Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=180000000
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_CLOCK_CONTROL=y
|
Loading…
Add table
Add a link
Reference in a new issue