From eeb709927f511a3b9609a774ec0e596aa093767b Mon Sep 17 00:00:00 2001 From: Martin Hoff Date: Tue, 18 Mar 2025 11:54:06 +0100 Subject: [PATCH] tests: drivers: add overlay/testcase for silabs xg29_rb4412a board Add some overlay files for the silabs xg29_rb4412a board to enable tests on the board. Also add the platform to some testcase.yaml files. Signed-off-by: Martin Hoff --- .../arm/arm_no_multithreading/testcase.yaml | 1 + .../block_append/boards/xg29_rb4412a.overlay | 15 ++++ .../silabs/dma/block_append/testcase.yaml | 1 + .../boards/xg29_rb4412a.overlay | 30 ++++++++ .../adc/adc_accuracy_test/testcase.yaml | 1 + .../adc/adc_api/boards/xg29_rb4412a.overlay | 37 ++++++++++ tests/drivers/build_all/adc/testcase.yaml | 2 + .../boards/xg29_rb4412a.overlay | 11 +++ .../loop_transfer/boards/xg29_rb4412a.conf | 4 + .../loop_transfer/boards/xg29_rb4412a.overlay | 11 +++ .../boards/xg29_rb4412a.overlay | 15 ++++ ...rite.overlay => silabs_s2_lpwrite.overlay} | 0 .../flash/common/boards/xg29_rb4412a.overlay | 25 +++++++ tests/drivers/flash/common/testcase.yaml | 5 +- .../boards/xg29_rb4412a.overlay | 17 +++++ .../gpio_hogs/boards/xg29_rb4412a.overlay | 32 ++++++++ tests/drivers/gpio/gpio_hogs/testcase.yaml | 1 + .../spi/spi_loopback/boards/xg29_rb4412a.conf | 2 + .../spi_loopback/boards/xg29_rb4412a.overlay | 37 ++++++++++ tests/drivers/spi/spi_loopback/testcase.yaml | 2 + .../boards/xg29_rb4412a.overlay | 73 +++++++++++++++++++ .../mem_protect/mem_protect/testcase.yaml | 1 + .../threads/no-multithreading/testcase.yaml | 1 + tests/subsys/pm/power_mgmt_soc/testcase.yaml | 1 + 24 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 tests/boards/silabs/dma/block_append/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/adc/adc_accuracy_test/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/adc/adc_api/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/dma/chan_blen_transfer/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.conf create mode 100644 tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/dma/scatter_gather/boards/xg29_rb4412a.overlay rename tests/drivers/flash/common/boards/{xg24_rb4187c_lpwrite.overlay => silabs_s2_lpwrite.overlay} (100%) create mode 100644 tests/drivers/flash/common/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/gpio/gpio_basic_api/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/gpio/gpio_hogs/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.conf create mode 100644 tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.overlay create mode 100644 tests/drivers/uart/uart_async_api/boards/xg29_rb4412a.overlay diff --git a/tests/arch/arm/arm_no_multithreading/testcase.yaml b/tests/arch/arm/arm_no_multithreading/testcase.yaml index 3aa62846e81..8561bab6246 100644 --- a/tests/arch/arm/arm_no_multithreading/testcase.yaml +++ b/tests/arch/arm/arm_no_multithreading/testcase.yaml @@ -14,5 +14,6 @@ tests: - nrf52840dk/nrf52840 - nrf9160dk/nrf9160 - nrf51dk/nrf51822 + - xg29_rb4412a integration_platforms: - qemu_cortex_m0 diff --git a/tests/boards/silabs/dma/block_append/boards/xg29_rb4412a.overlay b/tests/boards/silabs/dma/block_append/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..a6fb1d7e094 --- /dev/null +++ b/tests/boards/silabs/dma/block_append/boards/xg29_rb4412a.overlay @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + dma0 = &dma0; + }; +}; + +&dma0 { + status = "okay"; +}; diff --git a/tests/boards/silabs/dma/block_append/testcase.yaml b/tests/boards/silabs/dma/block_append/testcase.yaml index a4df1bfdfdf..fef775b94fa 100644 --- a/tests/boards/silabs/dma/block_append/testcase.yaml +++ b/tests/boards/silabs/dma/block_append/testcase.yaml @@ -6,4 +6,5 @@ tests: - dma platform_allow: - slwrb4180a + - xg29_rb4412a filter: dt_alias_exists("dma0") diff --git a/tests/drivers/adc/adc_accuracy_test/boards/xg29_rb4412a.overlay b/tests/drivers/adc/adc_accuracy_test/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..0cde575193a --- /dev/null +++ b/tests/drivers/adc/adc_accuracy_test/boards/xg29_rb4412a.overlay @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "dt-bindings/adc/silabs-adc.h" + +/ { + zephyr,user { + io-channels = <&adc0 4>; + reference-mv = <(3300 / 4)>; + expected-accuracy = <32>; + }; +}; + +&adc0{ + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + channel@4 { + reg = <4>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + zephyr,input-positive = ; + }; +}; diff --git a/tests/drivers/adc/adc_accuracy_test/testcase.yaml b/tests/drivers/adc/adc_accuracy_test/testcase.yaml index 5ea328bacda..110c95bffc0 100644 --- a/tests/drivers/adc/adc_accuracy_test/testcase.yaml +++ b/tests/drivers/adc/adc_accuracy_test/testcase.yaml @@ -40,5 +40,6 @@ tests: - xg24_dk2601b - xg24_rb4187c - xg27_dk2602a + - xg29_rb4412a integration_platforms: - frdm_kl25z diff --git a/tests/drivers/adc/adc_api/boards/xg29_rb4412a.overlay b/tests/drivers/adc/adc_api/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..76f95bb2ae8 --- /dev/null +++ b/tests/drivers/adc/adc_api/boards/xg29_rb4412a.overlay @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "dt-bindings/adc/silabs-adc.h" + +/ { + zephyr,user { + io-channels = <&adc0 0>, <&adc0 1>; + }; +}; + +&adc0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + zephyr,input-positive = ; + }; + + channel@1 { + reg = <1>; + zephyr,gain = "ADC_GAIN_1"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,resolution = <12>; + zephyr,input-positive = ; + }; +}; diff --git a/tests/drivers/build_all/adc/testcase.yaml b/tests/drivers/build_all/adc/testcase.yaml index c9fa5a8ec65..a0c7dda1326 100644 --- a/tests/drivers/build_all/adc/testcase.yaml +++ b/tests/drivers/build_all/adc/testcase.yaml @@ -33,6 +33,8 @@ tests: platform_allow: same54_xpro drivers.adc.sam.afec.build: platform_allow: sam_e70_xplained/same70q21 + drivers.adc.silabs.build: + platform_allow: xg29_rb4412a drivers.adc.stm32.build: platform_allow: disco_l475_iot1 drivers.adc.xec.build: diff --git a/tests/drivers/dma/chan_blen_transfer/boards/xg29_rb4412a.overlay b/tests/drivers/dma/chan_blen_transfer/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..73a4023ee35 --- /dev/null +++ b/tests/drivers/dma/chan_blen_transfer/boards/xg29_rb4412a.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2025 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma0 { + status = "okay"; +}; + +tst_dma0: &dma0 { }; diff --git a/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.conf b/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.conf new file mode 100644 index 00000000000..c7576963782 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.conf @@ -0,0 +1,4 @@ +# Copyright (c) 2025 Silicon Laboratories, Inc. +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_DMA_LOOP_TRANSFER_SIZE=2048 diff --git a/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.overlay b/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..73a4023ee35 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/boards/xg29_rb4412a.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2025 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma0 { + status = "okay"; +}; + +tst_dma0: &dma0 { }; diff --git a/tests/drivers/dma/scatter_gather/boards/xg29_rb4412a.overlay b/tests/drivers/dma/scatter_gather/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..a6fb1d7e094 --- /dev/null +++ b/tests/drivers/dma/scatter_gather/boards/xg29_rb4412a.overlay @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + dma0 = &dma0; + }; +}; + +&dma0 { + status = "okay"; +}; diff --git a/tests/drivers/flash/common/boards/xg24_rb4187c_lpwrite.overlay b/tests/drivers/flash/common/boards/silabs_s2_lpwrite.overlay similarity index 100% rename from tests/drivers/flash/common/boards/xg24_rb4187c_lpwrite.overlay rename to tests/drivers/flash/common/boards/silabs_s2_lpwrite.overlay diff --git a/tests/drivers/flash/common/boards/xg29_rb4412a.overlay b/tests/drivers/flash/common/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..c5d1c35f027 --- /dev/null +++ b/tests/drivers/flash/common/boards/xg29_rb4412a.overlay @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma0 { + status = "okay"; +}; + +&msc { + dmas = <&dma0 DMA_REQSEL_MSCWDATA>; +}; + + +/* Disable jedec spi nor flash to test internal flash */ + +/ { + + aliases { + /delete-property/ spi-flash0; + }; +}; + +/delete-node/ &mx25r80; diff --git a/tests/drivers/flash/common/testcase.yaml b/tests/drivers/flash/common/testcase.yaml index ab9ea3d06b1..38739ac20dd 100644 --- a/tests/drivers/flash/common/testcase.yaml +++ b/tests/drivers/flash/common/testcase.yaml @@ -97,18 +97,21 @@ tests: drivers.flash.common.silabs.dma: platform_allow: - xg24_rb4187c + - xg29_rb4412a extra_configs: - CONFIG_DMA=y drivers.flash.common.silabs.dma.lpwrite: platform_allow: - xg24_rb4187c + - xg29_rb4412a extra_configs: - CONFIG_DMA=y extra_args: - - DTC_OVERLAY_FILE=boards/xg24_rb4187c_lpwrite.overlay + - EXTRA_DTC_OVERLAY_FILE=boards/silabs_s2_lpwrite.overlay drivers.flash.common.silabs.dma_read: platform_allow: - xg24_rb4187c + - xg29_rb4412a extra_configs: - CONFIG_DMA=y - CONFIG_SOC_FLASH_SILABS_S2_DMA_READ=y diff --git a/tests/drivers/gpio/gpio_basic_api/boards/xg29_rb4412a.overlay b/tests/drivers/gpio/gpio_basic_api/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..8ea9208203a --- /dev/null +++ b/tests/drivers/gpio/gpio_basic_api/boards/xg29_rb4412a.overlay @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * Connect EXP4 (PC0) and EXP6 (PC1) of the Expansion Pin header + */ + +/ { + resources { + compatible = "test-gpio-basic-api"; + out-gpios = <&gpioc 0 0>; /* WPK EXP4 (PC0) */ + in-gpios = <&gpioc 1 0>; /* WPK EXP6 (PC1) */ + }; +}; diff --git a/tests/drivers/gpio/gpio_hogs/boards/xg29_rb4412a.overlay b/tests/drivers/gpio/gpio_hogs/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..48f0c5771da --- /dev/null +++ b/tests/drivers/gpio/gpio_hogs/boards/xg29_rb4412a.overlay @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + zephyr,user { + output-high-gpios = <&gpioc 1 GPIO_ACTIVE_LOW>; + output-low-gpios = <&gpioc 3 GPIO_ACTIVE_HIGH>; + input-gpios = <&gpioc 2 GPIO_ACTIVE_HIGH>; + }; +}; + +&gpioc { + hog1 { + gpio-hog; + gpios = <1 GPIO_ACTIVE_LOW>; + output-high; + }; + + hog2 { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + input; + }; + hog3 { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + output-low; + }; +}; diff --git a/tests/drivers/gpio/gpio_hogs/testcase.yaml b/tests/drivers/gpio/gpio_hogs/testcase.yaml index fa3108e21e6..5c4878f5656 100644 --- a/tests/drivers/gpio/gpio_hogs/testcase.yaml +++ b/tests/drivers/gpio/gpio_hogs/testcase.yaml @@ -19,6 +19,7 @@ tests: - s32z2xxdc2/s32z270/rtu1 - s32z2xxdc2@D/s32z270/rtu0 - s32z2xxdc2@D/s32z270/rtu1 + - xg29_rb4412a integration_platforms: - native_sim - native_sim/native/64 diff --git a/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.conf b/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.conf new file mode 100644 index 00000000000..1e3c5f17bfc --- /dev/null +++ b/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.conf @@ -0,0 +1,2 @@ +CONFIG_DMA_MAX_DESCRIPTOR=16 +CONFIG_SPI_SILABS_EUSART_DMA_MAX_BLOCKS=10 diff --git a/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.overlay b/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..58abc4e878e --- /dev/null +++ b/tests/drivers/spi/spi_loopback/boards/xg29_rb4412a.overlay @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +/* + * Connect EXP4 (PC0) and EXP6 (PC1) of the Expansion Pin header + */ + +&eusart1 { + dmas = <&dma0 DMA_REQSEL_EUSART1TXFL>, + <&dma0 DMA_REQSEL_EUSART1RXFL>; + dma-names = "tx", "rx"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-0 = <&eusart1_default>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&gpioc 0 GPIO_ACTIVE_LOW>; + slow@0 { + compatible = "test-spi-loopback-slow"; + reg = <0>; + spi-max-frequency = <500000>; + }; + fast@1 { + compatible = "test-spi-loopback-fast"; + reg = <1>; + spi-max-frequency = <10000000>; + }; +}; + +&dma0 { + status = "okay"; +}; diff --git a/tests/drivers/spi/spi_loopback/testcase.yaml b/tests/drivers/spi/spi_loopback/testcase.yaml index 3c6bf74dc97..24368df2f7c 100644 --- a/tests/drivers/spi/spi_loopback/testcase.yaml +++ b/tests/drivers/spi/spi_loopback/testcase.yaml @@ -289,6 +289,7 @@ tests: filter: CONFIG_SOC_FAMILY_SILABS_S2 platform_allow: - xg24_rb4187c + - xg29_rb4412a extra_configs: - CONFIG_SPI_SILABS_EUSART_DMA=n - CONFIG_SPI_ASYNC=n @@ -296,6 +297,7 @@ tests: filter: CONFIG_SOC_FAMILY_SILABS_S2 platform_allow: - xg24_rb4187c + - xg29_rb4412a extra_configs: - CONFIG_SPI_SILABS_EUSART_DMA=y - CONFIG_SPI_ASYNC=n diff --git a/tests/drivers/uart/uart_async_api/boards/xg29_rb4412a.overlay b/tests/drivers/uart/uart_async_api/boards/xg29_rb4412a.overlay new file mode 100644 index 00000000000..9f599003dbc --- /dev/null +++ b/tests/drivers/uart/uart_async_api/boards/xg29_rb4412a.overlay @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2025, Silicon Laboratories Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * Connect EXP4 (PC0) and EXP6 (PC1) of the Expansion Pin header + */ +/ { + chosen { + zephyr,console = &eusart0; + zephyr,shell-uart = &eusart0; + zephyr,uart-pipe = &eusart0; + }; +}; + +&pinctrl{ + usart0_default: usart0_default { + group0 { + pins = ; /* WPK EXP4 (PC0) */ + drive-push-pull; + output-high; + }; + group1 { + pins = ; /* WPK EXP6 (PC1) */ + input-enable; + silabs,input-filter; + }; + }; + eusart0_default: eusart0_default { + group0 { + pins = ; + drive-push-pull; + output-high; + }; + group1 { + pins = ; + input-enable; + silabs,input-filter; + }; + }; +}; + +dut: &usart0 { + dmas = <&dma0 DMA_REQSEL_USART0TXBL>, + <&dma0 DMA_REQSEL_USART0RXDATAV>; + dma-names = "tx", "rx"; + pinctrl-0 = <&usart0_default>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&eusart0 { + compatible = "silabs,eusart-uart"; + current-speed = <115200>; + pinctrl-0 = <&eusart0_default>; + pinctrl-names = "default"; + status = "okay"; +}; + +&dma0 { + status = "okay"; +}; + +&eusart1 { + status = "disabled"; +}; + +&usart1 { + status = "disabled"; +}; diff --git a/tests/kernel/mem_protect/mem_protect/testcase.yaml b/tests/kernel/mem_protect/mem_protect/testcase.yaml index 76e27a22e11..e061729e302 100644 --- a/tests/kernel/mem_protect/mem_protect/testcase.yaml +++ b/tests/kernel/mem_protect/mem_protect/testcase.yaml @@ -26,6 +26,7 @@ tests: - slwrb4180a - mps3/corstone300/an547 - nrf9160dk/nrf9160 + - xg29_rb4412a integration_platforms: - mps3/corstone300/an547 extra_args: CONFIG_MPU_GAP_FILLING=y diff --git a/tests/kernel/threads/no-multithreading/testcase.yaml b/tests/kernel/threads/no-multithreading/testcase.yaml index ae0556c54c6..93f7757c861 100644 --- a/tests/kernel/threads/no-multithreading/testcase.yaml +++ b/tests/kernel/threads/no-multithreading/testcase.yaml @@ -10,6 +10,7 @@ tests: - nrf52840dk/nrf52840 - nrf9160dk/nrf9160 - nrf51dk/nrf51822 + - xg29_rb4412a - nsim/nsim_em - nsim/nsim_em7d_v22 - nsim/nsim_hs diff --git a/tests/subsys/pm/power_mgmt_soc/testcase.yaml b/tests/subsys/pm/power_mgmt_soc/testcase.yaml index 63ef2f2e824..380cff7ab76 100644 --- a/tests/subsys/pm/power_mgmt_soc/testcase.yaml +++ b/tests/subsys/pm/power_mgmt_soc/testcase.yaml @@ -13,6 +13,7 @@ tests: - rd_rw612_bga - frdm_ke17z - frdm_ke17z512 + - xg29_rb4412a tags: pm integration_platforms: - mec15xxevb_assy6853