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>
New test case is for building an application simultaneously
utilizing SPIM120, SPIM120, SPIS120 and SPIS13x.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
The nrf-spis instances require zephyr,pm-device-runtime-auto;
to be properly initialized.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>