Commit Graph

383 Commits

Author SHA1 Message Date
Declan Snyder
2eb8cfb7f5 tests: spi_loopback: Fix synchronization mistakes
There are a couple things going wrong in this test code right now.

First of all, there is no syncrhonization of when the async polling
thread should start polling, causing sometimes the poll to fail on tests
before the async test ran. Add a semaphore to fix this.

The lock test was setting up a nonsense NOP transfer of 0 length.
This might cause unexpected behavior and is not the point of
this test case.
But, still we should add a seperate test case specifically for
testing this instead.

Also add a teardown function to release the locks to allow other test
cases to run in case of some failures.

Also a minor change to remove some ARG_UNUSED invocations for some
arguments that are actually used.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-01 04:15:31 +02:00
Derek Snell
725c0ebc50 doc: tests: drivers: spi_loopback: frdm_rw612 add comment
Document the signals to short to pass this test.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-03-26 21:57:05 +01:00
cyliang tw
ca0f5f6924 tests: drivers: spi: spi_loopback: support numaker_m55m1
Add support for Nuvoton numaker board numaker_m55m1.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-03-26 11:34:17 +01:00
Nikodem Kastelik
8b77098ca1 tests: drivers: spi: add test case for nRF54H20 SPIS120
New test case is for building an application simultaneously
utilizing SPIM120, SPIM120, SPIS120 and SPIS13x.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-03-22 13:38:34 +01:00
Declan Snyder
3a477c56dd tests: spi_loopback: Remove logging module
Since we are using ZTest, if we use the ZTest paradigm properly, we
don't need a logging module, since ZTest already logs what it does.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-21 14:41:02 -04:00
Declan Snyder
6bcee13d9b tests: spi_loopback: Use ZTest properly
Instead of having a bunch of giant if conditions and just running
all the test cases from one actual ZTest case, convert all the test
cases into proper ZTest test cases.

Removing the returns is now required because otherwise there will be
compiler warnings, and they were never doing anything anyways in the
event of zassert fail. ZTest cases are meant to report pass or fail with
ztest paradigm, not with return values and log messages.

Also move the test of the spi lock/release to a separate test suite
since it is not really testing an actual bus transfer, but rather a
that a feature in the SPI API is respected.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-21 14:41:02 -04:00
Declan Snyder
8b8765982a tests: spi_loopback: Standardize buffer defines
More boy scout rule, I noticed every single test case was using
different variations of C syntax to declare the buffers, this is
inconvenient to the reader, make a standard way to declare buffers used
for the test.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-21 14:41:02 -04:00
Declan Snyder
b0197282f9 tests: spi_loopback: Create transceive ztest wrapper
There was a lot of copy paste of this code:

int ret;
ret = spi_transceive_dt(spec, &tx, &rx);
if (ret) {
       LOG_ERR("Code %d", ret);
       zassert_false(ret, "SPI transceive failed");
       return ret;
}

This is quite redundant and can be simplified.
Also, return is not needed because a failed zassert
will not continue to return anyways.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-21 14:41:02 -04:00
Declan Snyder
362218c900 tests: spi_loopback: Clean up file defines
Following the boy scout rule, since I am using this test a lot lately
and going to improve it, the first step will be to clean up the
structure of the file. The following changes are made:

- Remove unused #includes
- Condense some #if #else macro defines or make into single line, to
  simplify the readability of the preprocessor code
- Move definitions around so that related things are all next to
  each other, instead of randomly scattered around the file
- Create section header comments for broadly related things in the file
  to improve developer navigation experience
- Introduce macro for copy pasted print buf size calculation
- A few minor comment edits

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-21 14:41:02 -04:00
Lucas Tamborrino
c6f84d0ba2 boards: espressif: esp32c6: Add LP Core board support
Add ULP Coprocessor board support for C6.
This requires a change in the board qualifier depending on the build
target.
Update esp32c6 overlay and configuration files to the proper name.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-03-21 17:05:20 +01:00
TOKITA Hiroshi
230280e0e9 boards: arduino: uno_r4: Add ADC, PWM, I2C, SPI, and TRNG
Add support for basic peripherals.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-21 09:51:47 +01:00
Martin Hoff
eeb709927f 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 <martin.hoff@silabs.com>
2025-03-20 17:14:35 +01:00
Sebastian Głąb
13ede4ecc1 tests: drivers: spi: Tests SPI at 16 and 32 MHz on nRF54 devices
Extend spi_loopback test on nRF54 chip family.
Add configurations to run this test at 8/16/32 MHz.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-03-18 16:40:37 +01:00
Raymond Lei
3610724174 test: spi: spi_loopback: fix a typo in frdm_mcxn236.overlay
Fix a typo in the comments of how to connect HW pins for loopback test.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-03-18 08:27:12 +01:00
Declan Snyder
ad431b3c1a tests: spi_loopback: Fix frdm_ke17z overlay
The ke17z overlay for this test is incorrect in that the chip select
line sent to the spi pins on the header is PCS1, not PCS0. This is
having no functional effect on the test right now but soon I am trying
to implement a chip select test, and regardless it helps to have the CS
actually toggle right now for debugging purposes.

Also, I checked the frdm_ke17z512 and it looks like the board pinctrl
file is configuring for PCS2, so I fixed that as well because it looks
also like the same mistake, but I don't have that hardware.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:56:28 +01:00
Declan Snyder
08351250db tests: spi_loopback: nxp: remove lpspi async=n cfg
Remove the overlay files for many of the NXP platforms, because they
were doing two things that are no longer relevant:

1) CONFIG_SPI_ASYNC=n -> LPSPI driver used to not work with
   CONFIG_SPI_ASYNC, now it does, so we should test it.
2) CONFIG_SPI_MCUX_LPSPI_DMA=y -> This is redundant with the
   testcase.yaml

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-14 17:53:24 +01:00
Sebastian Głąb
321fcaf44d boards: nordic: nrf54l20pdk: Add SPI to the supported peripherals
Enable Twister tests of SPI peripheral on nRF54L20pdk.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-03-13 10:48:30 +01:00
Michał Stasiak
588baa4022 tests: drivers: spi: Add further support for nRF54L20 PDK
Added support for nRF54L20 PDK in tests involving
multiple instances. Corrected pin assignements in
spi_error_cases test.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-12 14:04:15 +00:00
Bjarki Arge Andreasen
b33b82a758 tests: drivers: spi: update add pm-runtime-auto to nrf-spis
The nrf-spis instances require zephyr,pm-device-runtime-auto;
to be properly initialized.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-03-11 09:00:19 +01:00
TOKITA Hiroshi
70fc4a3e57 boards: pimoroni: pico_plus2: Add Pimoroni Pico Plus2 board
Pinoroni Pico Plus2 is an RP2350B based board that has
more rich I/O, RAM, and Flash than the original Raspberry Pi Pico2.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-10 11:20:30 +01:00
Francois Laplante
4086f06c3d test: drivers: spi: silabs: Add loopback test support.
Add silabs spi eusart driver Async/dma,no-dma test cases.
With required configuration files.

Signed-off-by: Francois Laplante <frlaplan@silabs.com>
2025-03-07 19:47:21 +01:00
Mahesh Mahadevan
0b5eeb3eee tests: spi: Add overlay for NXP 1040EVK FlexIO-SPI
Add an overlay for the Flexio-SPI driver for the
MIMXRT1040-EVK board.
Update testcase.yaml and add new overlay configuration
to support flexio spi testing on 1040_evk.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-02-27 08:01:04 +01:00
Declan Snyder
e76a5a8ed1 boards: mimxrt1050_evk: Fix test/sample conf names
Fix test/sample .conf names for this board, so they are actually pulled
into the build.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-18 18:38:51 +01:00
Guillaume Gautier
29f6bcc76f tests: drivers: spi: spi_loopback: add stm32n6 boards overlays
Add SPI loopback test overlays for Nucleo N657x0-Q and STM32N6570 DK
boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 19:15:09 +00:00
Thao Luong
b0b1394ff7 tests: drivers: spi: Add configs and dts node for ek_ra4l1
Add configs and dts node for ek_ra4l1 run on spi_loopback

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-02-14 17:15:43 +01:00
Khoa Nguyen
0c277e7a39 tests: drivers: spi: Add support spi_loopback for ek_ra4m1
Add support spi_loopback to run test app on ek_ra4m1 board

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-02-13 09:11:33 +01:00
Emilio Benavente
65225962c8 tests: drivers: Add FRDM_MCXW72 Overlays
Add FRDM_MCXW72 Overlay for PWM, ADC, SPI testing

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-02-11 22:13:18 +01:00
Fabrice DJIATSA
edb55baf03 tests: drivers: spi: spi_loopback: update spi_loopback test
- add nucleo_c071rb overlay file to setup spi and dma nodes

- Add the nucleo_c071rb configuration file to reduce the size of
SPI_LARGE_BUFFER_SIZE to avoid RAM overflow and be able
to run the test.

- update testcase.yaml for CI integration

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-02-06 10:41:45 +01:00
Emilio Benavente
1bb6e58976 tests: drivers: Add MCXW72 Overlays
Add MCXW72 Overlay for PWM, ADC, SPI testing

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>

enabled support
2025-02-04 09:17:04 +01:00
Terry Geng
cef0c1af0d tests: drivers: spi: loopback: Add test for pico-spi-pio driver
Plus refactored the structure of the overlay files.
The wiring of the new test is the same as the existing spi tests
for rpi-pico.

The speed of the fast test has to be reduced to ensure signal integrity.

Setting CONFIG_SPI_ASYNC will trigger a hard fault. Seems to be a bug in
the driver.

Signed-off-by: Terry Geng <terry@terriex.com>
2025-01-29 07:09:33 +01:00
Neil Chen
0af196ef0d tests: drivers: spi: add spi test support for frdm_mcxa156 board
add spi test support for frdm_mcxa156 board

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-28 23:41:08 +01:00
Michał Stasiak
ccd2fd6c47 tests: drivers: spi: Add support for nRF54L09 PDK
Added support for nRF54L09 PDK in SPIM twister tests.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-01-28 09:47:46 +01:00
Michał Stasiak
04df6de43e tests: drivers: spi: Add support for nRF54L20 PDK
Added support for nRF54L20 PDK in SPIM twister tests.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-01-28 09:47:46 +01:00
Khoa Nguyen
57ec93925d tests: drivers: spi: Add support spi test for fpb_ra4e1
Add support test app spi_loopback for fpb_ra4e1 board

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-01-28 07:57:03 +01:00
Khoa Nguyen
436a6d8e04 tests: drivers: spi: Correct the spi node for ek_ra8d1
Currently, the SPI pinctrl is incorrect for the spi0 node.
In this PR (#77850), we changed the pinctrl number for SPI
from spi0 to spi1, but we forgot to update the node name
to spi1.
This commit aims to:
- Correct the spi node in test app spi_loopback for ek_ra8d1

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-01-28 00:04:37 +01:00
Lucien Zhao
43fe16682f tests: drivers: spi: add mimxrt700_evk support
add lpspi14 slow/fast child node
use lpspi edma way to communicate

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-27 21:03:26 +01:00
Yasin Ustuner
3e218c69a4 tests: Add MAX78000FTHR test overlay files
Enable the following tests for MAX78000FTHR:

 - tests/drivers/adc/adc_api
 - tests/drivers/counter/counter_basic_api
 - tests/drivers/dma/chan_blen_transfer
 - tests/drivers/dma/loop_transfer
 - tests/drivers/gpio/gpio_basic_api
 - tests/drivers/pwm/pwm_api
 - tests/drivers/spi/spi_loopback
 - tests/drivers/w1/w1_api

Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
2025-01-22 20:47:21 +01:00
David Leach
d29e2f342d boards: nxp: add RT1060 EVKC support
MIMXRT1060 EVK rev C initial support files.

Signed-off-by: David Leach <david.leach@nxp.com>
2025-01-21 19:27:39 +01:00
Yangbo Lu
ef7a0a481f tests: drivers: spi: support spi_loopback for imx95_evk m7
Added support for spi_loopback for imx95_evk m7.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-01-20 09:21:00 +01:00
Gerson Fernando Budke
ea7922195b clocks: atmel: sam0: Fix gclk and mclk clock bindings
The Atmel SAM0 SoC enable peripherals clocks in distinct places: PM and
MCLK. The old devices had defined the peripheral clock enable bit at PM.
On the newer devices this was extracted on a dedicated memory section
called Master Clock (MCLK). This change excludes the dedicated bindings
in favor of a generic approach that cover all cases.

Now the clocks properties is complemented by the atmel,assigned-clocks
property. It gives the liberty to user to customize the clock source
from a generic clock or configure the direct connections.

All peripherals drivers were reworked with the newer solution.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-01-14 20:49:03 +01:00
Lucien Zhao
6c24c2e0a0 boards: nxp: mimxrt1180_evk: enable lpspi3 and edma4 instance support
Add pinctrl and dma channel/mux information for lpspi3 on cm33/cm7 cores.
Set dma4 status is OK.
Add pinctrl for lpuart3

tests: driver: spi: support spi_loopback case on MIMXRT1180_EVK
Add .config/.overlay files for cm33/cm7 cores
Link to ocram1 as RAM region on cm7 core
Link to dtcm as RAM region on cm33 core

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-13 10:08:36 +01:00
Raffael Rostagno
d20140d014 tests: esp32c3: Add USB variant
Add USB variant config files for esp32c3 boards.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-10 18:57:07 +01:00
Andrew Featherstone
b6b38e6808 drivers: dma: rpi_pico: Refactor DMA files for Raspberry Pi SoCs
Avoid referring to Pico 2 (the name of a board). In this context,
RPI_PICO is used to refer to the (Zephyr) `SOC_FAMILY` rather than the
Pico 1 board. This clarifies common numerical values between the RP2040
and RP2350 SoC series, and enables existing DTS files to be used with
RP2350-based boards with fewer changes.

Remove the use of Zehpyr's `CONFIG_` macros from the device tree files,
and replace them with `SOC_SERIES`-specific files. Update the driver
implementation to conditionally include the correct file. Update
documentation and samples to match.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-12-23 23:57:57 +01:00
Declan Snyder
8ed80ddb37 boards: mimxrt1060_evk: Convert to variants
Convert qspi and hyperflash to variants instead of revisions by popular
demand.

And convert evkb into a revision instead of a different board.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-12-20 22:59:59 +01:00
Declan Snyder
0cdb35d978 boards: mimxrt1050_evk: Switch to variants
Switch from using revisions for hyperflash/qspi to using variants, by
popular demand.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-12-20 22:59:59 +01:00
Adam Kondraciuk
7635455f15 tests: drivers: spi: nordic: add device PM runtime
Add configuration for testing SPI with device runtime PM enabled
for nRF platforms.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-12-16 18:26:39 +01:00
Gerard Marull-Paretas
d4a67e321b samples, tests: remove usage of space-separated lists
Convert them to native YAML lists. Support for space-separated
lists was deprecated in Twister a long time ago.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2024-12-04 14:14:53 -05:00
Manuel Argüelles
4ab9172c92 dts: bindings: rename nxp,imx-lpspi compatible
Rename "nxp,imx-lpspi" compatible to "nxp,lpspi" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-02 22:06:47 +00:00
Anas Nashif
b207035851 tests: add integration_platforms and misc optimizations
Add integration_platforms to many tests that use platform_allow to
manage scope of pull_request CI.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-26 00:12:07 +01:00
Jerzy Kasenberg
1d4b1ade43 tests: drivers: spi: Fix nrf52840 overlay
spi-max-frequency was missing in overlay

Now it's set to 8 MHz as per datasheet

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-11-25 17:43:48 +01:00