Commit Graph

127 Commits

Author SHA1 Message Date
Jérôme Pouiller
d2fb79886d soc: silabs: siwx91x: Use runner props to select file to flash
Use runners_yaml_props_target to set the name of the file to
flash, rather than hard-coding it for each board.

Co-developed-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-27 10:06:16 -05:00
Sai Santhosh Malae
957ef08cc2 tests: counter: siwx91x: counter_basic_api test support
1. Add counter tag in siwx91x board yaml files
2. Enable sysrtc node for siwx917_rb4342a through overlay

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-26 10:58:34 -05:00
Jérôme Pouiller
18d16eb3bf boards: silabs: siwx91x: Fix PM with rb4342
Currently twister complains:

    benchmark.kernel.footprints.pm on siwx917_rb4342a/siwg917m111mgtba
    error (CMake build failure - warning: SILABS_SLEEPTIMER_TIMER (defined
    at soc/silabs/silabs_s2/Kconfig.defconfig:17,
    drivers/timer/Kconfig.silabs:4) has direct dependencies
    (SOC_FAMILY_SILABS_S2 || SOC_FAMILY_SILABS_SIWX91X) &&
    DT_HAS_SILABS_GECKO_STIMER_ENABLED && SYS_CLOCK_EXISTS with value n,
    but is currently being y-selected by the following symbols:)

So, SILABS_SLEEPTIMER_TIMER can't be selected because
DT_HAS_SILABS_GECKO_STIMER_ENABLED is not selected.

We just have to enable the proper timer in the DT of rb4342s to fix the
issue.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-26 14:09:25 +02:00
Aksel Skauge Mellbye
b155c0dceb boards: silabs: xg24_dk2601b: Add PWM LEDs using TIMER
The TIMER has 3 PWM channels, allowing all 3 RGB leds to be
controlled by the same PWM controller instance.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-25 14:07:40 +02:00
Aksel Skauge Mellbye
6b1c5e97e9 boards: silabs: xg29_rb4412a: Add PWM LEDs using LETIMER
Use LETIMER to provide PWM LED on xg29_rb4412a.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-25 14:07:40 +02:00
Muzaffar Ahmed
bec34c8362 doc: wifi: siwx91x: Add Wi-Fi features documentation
Added Wi-Fi specific documentation and linked it to the SiWx917 pages.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-06-13 11:13:05 +02:00
Aksel Skauge Mellbye
1c870f47b6 boards: silabs: Add PTI pinctrl configuration
Configure Packet Trace Interface pinout on Series 2 boards.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-13 11:12:20 +02:00
Jérôme Pouiller
033ffd1a2c boards: silabs: siwx91x: Fix test for memory controller
tests/drivers/memc/ram requires the board contains a node labeled
"memc"/.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-06-10 13:28:48 +02:00
Sai Santhosh Malae
bfe4065657 drivers: adc: siwx91x: Add siwx91x ADC driver
Implement ADC driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00
Yishai Jaffe
f384a86cc9 boards: silabs: fix boards DTS files coding style issues
Fix board DTS coding style issues to prevent them from spreading when a
new board is introduced and uses an existing DTS as a referance.

Issues addressed from Zephyr devicetree style guidelines [1]:
- Don’t insert empty lines before a deindenting };.
- Insert a single empty line to separate nodes at the same hierarchy
  level.
- status is "okay" by default.
- compatible property comes first in node.
- reg property comes second in node.
- status property comes last in node.
- the rest of the properties within are nodes naturally sorted.
- child nodes are sorted by address or alphabetically if there is no
  address.

No functional change.

Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-05-28 16:38:15 +02:00
Sai Santhosh Malae
1971bc0a8e drivers: i2s: siwx91x: Add siwx91x I2S primary driver
Implement I2S driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-05-20 15:24:50 +02:00
Martin Hoff
34aff5ef7c boards: silabs: add missing tag for uart on siwx917 board
Add missing uart tag for siwx91x boards.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-19 16:36:21 +02:00
Aksel Skauge Mellbye
ea383dee9c dts: arm: silabs: Move efr32bg27 to xg27 directory
Introduce subdirectory for xg27 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-16 19:02:25 +02:00
Aksel Skauge Mellbye
96df30829e dts: arm: silabs: Move efr32mg24 to xg24 directory
Introduce subdirectory for xg24 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-16 19:02:25 +02:00
Aksel Skauge Mellbye
8ab2f34d96 dts: arm: silabs: Move efr32zg23 to xg23 directory
Introduce subdirectory for xg23 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-16 19:02:25 +02:00
Aksel Skauge Mellbye
9cea156611 dts: arm: silabs: Move efr32bg22 to xg22 directory
Introduce subdirectory for xg22 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-16 19:02:25 +02:00
Aksel Skauge Mellbye
d3c1f2786a dts: arm: silabs: Move efr32mg21 to xg21 directory
Introduce subdirectory for xg21 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-05-16 19:02:25 +02:00
Martin Hoff
744c70bef8 tests: drivers: rtc: add siwg917_rb4338a board overlay and add rtc tag
Add rtc tag to the siwg917_rb4338a board to activate testing on the
board.
Also add an overlay for the board in order to run the test correctly.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-15 14:09:23 +02:00
Jérôme Pouiller
cfbab0eb4a boards: silabs: siwx91x: Add support for QSPI controller
Thanks to the bootloader, the memory controller is preconfigured when
Zephyr start on RB44342A.

However, this is the opportunity to show how to configure the PSRAM
controller on custom designs.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Jérôme Pouiller
60922a056c boards: silabs: siwx91x: Add support for PSRAM
Radio Board 4342A has 8MB of PSRAM connected to the Quad-SPI memory
controller.

The memory controller of the 4342A is preconfigured by the bootloader.
So, the PSRAM work out of the box without any manual configuration.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Jérôme Pouiller
12afcc880c boards: silabs: Add support for rb4342a
Radio Board 4342A is really similar to the 4338A. There are a few
difference on the pinmux, but most of the peripherals and the SoC are
the same.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Alex Hogen
eee464dae7 boards: efm32gg_sltb009a: uart: Fix USART0 loc 1
Silabs Thunderboard EFM32GG12 (OPN: SLTB009A) connects USART0
location 1 to the VCOM pins of the on-board debugger.

US0_TX loc 1 is pin PE7
US0_RX loc 1 is pin PE6

Signed-off-by: Alex Hogen <alex@edt.com>
2025-05-13 22:21:08 -04:00
Sai Santhosh Malae
ab76a345f2 drivers: spi: siwx91x: Add siwx91x SPI primary driver
Implement SPI driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-04-30 18:44:11 +02:00
Jérôme Pouiller
13dbcbeb45 boards: silabs: siwx91x: Fix compatibility with tests
Some tests (eg. tests/bluetooth/shell) expects to have a
storage_partition defined.

storage_partition is also defined in the DT of most of the boards.

For now, this patch define a very small storage partition to avoid any
conflict with code_partition.

Tested-by: Andras Nyiri <andras.nyiri@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-04-25 14:04:26 +02:00
Benjamin Cabé
1e5cc37ccb boards: doc: add more .. zephyr:board-supported-runners::
Catch up on some of the boards recently added as well as some that were
missed in the previous batch update.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-09 15:22:50 +02:00
Aksel Skauge Mellbye
90dbc8dfd1 boards: silabs: Add ITM configuration
Configure pinout and frequency for Serial Wire Output to enable use
of the SWO logging backend on Silicon Labs dev kits.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-04-07 08:54:38 +02:00
Benjamin Cabé
de13103f0b boards: doc: adopt zephyr:board-supported-runners directive
Add .. zephyr:board-supported-runners:: to the Programming and Debugging
section of the documentation for each board that has one such section,
as this is the most natural place to put it.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-03 21:05:39 +02:00
S Mohamed Fiaz
701be0c331 driver: sleeptimer: siwx917: Add siwx91x Sleeptimer driver
This commit enables the Sleeptimer driver support for the siwx917 device.

Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
2025-04-03 06:24:54 +02:00
Jérôme Pouiller
35fb417698 boards: silabs: siwx91x: Fix compatibility with BTP
The serial pipe driver is required when the Zephyr device acts as the
remote of a host application. Especially, frameworks like BTP rely on
this driver.

Until now, the "zephyr,uart-pipe" attribute was missing. So the serial
pipe driver was unable to start.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-03-27 14:02:23 +01:00
Martin Hoff
2aca436791 boards: silabs: Update xg29_rb4412a.yaml file
Add new tag to xg29_rb4412a.yaml file and remove pm ignore tag in order
to enable more tests for the xg29_rb4412a board.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-03-20 17:14:35 +01:00
Aksel Skauge Mellbye
5d08177276 tests: drivers: adc: Add support for xg24_rb4187c
Add overlays and enable support for xg24_rb4187c in ADC tests.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-03-19 01:23:24 +01:00
Yishai Jaffe
71e31a2d33 doc: silabs: adopt zephyr:board-supported-hw directive
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-03-18 19:54:38 +01:00
Sai Santhosh Malae
c6198008f5 drivers: watchdog: siwx91x: Add siwx91x WDT driver
Implement Watchdog driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-03-17 13:56:24 +01:00
Sai Santhosh Malae
935c8e4701 drivers: pwm: siwx91x: Add siwx91x PWM driver
Implement PWM driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-03-15 06:43:58 +01:00
Aksel Skauge Mellbye
fa75876170 boards: silabs: xg24_rb4187c: Add SPI and I2C buses
Add DTS configuration for SPI and I2C buses on the board.
Make use of the new zephyr:board-supported-hw Sphinx directive to
automate the list of supported features in the board documentation.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-03-13 07:22:11 +01:00
Arunmani Alagarsamy
3fd0fe9f14 boards: silabs: radio_boards: Add silabs board support for BRD4180B board
Added board support for the Silicon Labs MG21 BRD4180B radio board

Signed-off-by: Arunmani Alagarsamy <arunmani.a@capgemini.com>
2025-03-07 20:13:04 +01:00
Francois Laplante
8dad73bf47 drivers: spi: silabs: eusart: Asynchronous support
Add support for asynchronous transfer in silabs eusart spi driver.

Signed-off-by: Francois Laplante <frlaplan@silabs.com>
2025-03-07 19:47:21 +01:00
Benjamin Cabé
db2b9cd4c4 doc: silabs: adopt zephyr:board-supported-hw directive
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-05 21:54:59 +00:00
Johan Hedberg
90919eb60b boards: silabs: siwx917: Fix datasheet URL
The current datasheet URL gives a 404. Update it to the correct location.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-02-19 14:51:16 +00:00
Benjamin Cabé
b1803eaf8f boards: Remove 'xtools' toolchain variant references (take 2)
A follow-up to commit fe87abe0b9
This addresses boards that had pending pull requests
at the time the initial clean-up was done.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-13 20:13:55 +01:00
Jérôme Pouiller
f63c6113de boards: silabs: siwx91x: Add support for si7021 sensor
Report configuration of the Si7021 in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
87bd628ef5 boards: silabs: swix91x: Add support for Wifi
Report WiFi declaration in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
c75740a77c boards: silabs: siwx91x: Add support for Bluetooth
Report Bluetooth HCI declaration in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
24a0d0a54f boards: silabs: siwx91x: Add support for Flash
A specific section of the flash on the SiWx917 is reserved for the
Network co-processor (NWP). This zone needs to be delimited in order to
not overwrite it. We then need to use "code-partition" to provide Zephyr
the application code flash location.

Co-authored-by: Martin Hoff <martin.hoff@silabs.com>
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
3fad258adc boards: silabs: siwx91x: Add support for DMAs
Report DMA configuration in the board definitions.

Note the addresses of the DMA buffers are hardcoded in the HAL. So,
these areas have to be declared in the linker file.

Co-authored-by: Sai Santhosh Malae <santhosh.malae@silabs.com>
Signed-off-by: Sai Santhosh Malae <santhosh.malae@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
300f4fe3f4 boards: silabs: siwx91x: Add support for hardware RNG
Report entropy configuration in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
42a8c06587 boards: silabs: siwx91x: Add support for GPIOs
Report gpio configuration in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
1f887ca6e3 boards: silabs: siwx91x: Add support for pinctrl
Report pinctrl configuration in the board definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-11 22:07:11 +01:00
Jérôme Pouiller
8f82116033 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>
2025-02-11 22:07:11 +01:00
Johan Hedberg
e4043824b9 boards: silabs: slstk3400a: Move stack definitions to correct place
These shouldn't be in the board _defconfig since they cannot be overridden
then. Move them to Kconfig.defconfig instead.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-02-07 21:56:19 +01:00