Commit Graph

215 Commits

Author SHA1 Message Date
Marek Matej
3776402f40 boards: xtensa: esp32 board split
Remove virtual esp32 board and replace it with the
real word boards:

- esp32_devkitc_wroom
- esp32_devkitc_wrover (with PSRAM option)

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2023-07-25 18:12:33 +02:00
Lucas Tamborrino
669407f029 tests: drivers: spi loopback: esp32xx: Use internal loopback
Use pinctrl with internal loopback enabled for ESP32 and ESP32C3.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-07-25 09:17:08 +02:00
Daniel DeGrasse
2ef5eb9772 boards: arm: mimxrt1170_evkb: add support for SPI
Add support for SPI on RT1170 EVKB, verified using SPI loopback sample.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-06-29 21:05:56 +02:00
Lucas Tamborrino
e562c980ae tests: drivers: spi: spi_loopback: esp32xx: Use internal loopback
Use internal loopback for esp32xx boards, avoiding the use of
external wiring.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-06-22 08:13:36 +00:00
Daniel DeGrasse
cc3ca993ce boards: arm: mixmrt1040_evk: enable SPI support
Add support for SPI on RT1040 EVK, tested using
tests/drivers/spi/spi_loopback sample. Transfers are enabled using DMA
mode, with LPSPI1.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Gerard Marull-Paretas
93b63df762 samples, tests: convert string-based twister lists to YAML lists
Twister now supports using YAML lists for all fields that were written
as space-separated lists. Used twister_to_list.py script. Some artifacts
on string length are due to how ruamel dumps content.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-10 09:52:37 +02:00
Tom Burdick
e4b10328b4 rtio: Use mpsc for submission and completion queue
Rather than the rings, which weren't shared between userspace and kernel
space in Zephyr like they are in Linux with io_uring, use atomic mpsc
queues for submission and completion queues.

Most importantly this removes a potential head of line blocker in the
submission queue as the sqe would be held until a task is completed.

As additional bonuses this avoids some additional locks and restrictions
about what can be submitted and where. It also removes the need for
two executors as all chains/transactions are done concurrently.

Lastly this opens up the possibility for a common pool of sqe's to
allocate from potentially saving lots of memory.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-05-10 00:39:43 +09:00
Andriy Gelman
e4d753ba4d tests: drivers: spi_loopback: Adds xmc47_relax_kit overlay/conf
Adds overlay and conf to run the test on xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
b2d7cf05a9 tests: drivers: spi: spi_loopback: Update xmc45_relax_kit to use dma
Update test to use DMA for spi transfers.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-04-25 12:23:26 +02:00
Mahesh Mahadevan
e060cdd7be tests: spi_loopback: Enable ASYNC mode for NXP platforms
Turn on ASYNC mode for RT595 and RT685 EVK boards

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-04-24 13:34:29 +02:00
Brandon Del Bel
6bbadb6012 test: drivers: spi: spi_loopback: fix adafruit_itsybitsy_m4_express
tests/drivers/spi/spi_loopback/drivers.spi.loopback on
adafruit_itsybitsy_m4_express fails to build. Fix it by adding
CONFIG_SPI_ASYNC=n.

Signed-off-by: Brandon Del Bel <delbel@umn.edu>
2023-04-21 09:40:53 +02:00
Brandon Del Bel
587f2ec585 test: drivers: spi: spi_loopback: fix test on atsame54_xpro
tests/drivers/spi/spi_loopback/drivers.spi.loopback on atsame54_xpro
fails to build. Fix it by adding a CS pin and DMA channels to the board
overlay. Passes on hardware with spi_loopback fixture after change.

Signed-off-by: Brandon Del Bel <delbel@umn.edu>
2023-04-21 09:40:53 +02:00
Anas Nashif
511348801d tests: spi_loopback: fix some identifiers in testcase.yaml
driver -> drivers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-04-19 08:57:57 -04:00
Scott Worley
5c00a83b99 drivers: spi: Microchip XEC QMSPI-LDMA fix spi buffer usage
Zephyr SPI driver model for full-duplex operation assumes
data will be transmitted and received during each clock period.
The QMSPI driver for the XEC family also supported dual and
quad I/O use cases which are inherently half-duplex. To
support dual/quad the driver incorrectly processed spi buffers
as all transmit buffers first then all receive buffers. This
worked if only the SPI driver was used. It did not work with
the Zephyr flash SPI NOR driver which assumes SPI drivers
follow the SPI driver model. This commit implements a QMSPI
driver that follows the Zephyr SPI driver model resulting in
a slightly smaller driver. Dual/quad SPI transactions are
supported if the experimental SPI extended mode Zephyr
configuration flag is enabled. We also remove the QMSPI full duplex
driver added previously to support the flash SPI NOR driver.
Added board to spi loop-back test and spi_flash sample.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2023-04-11 16:57:56 +02:00
TOKITA Hiroshi
3c4e842c90 tests: spi: spi_loopback: add interrupt and DMA tests for rpi_pico
Add interrupt and DMA tests for rpi_pico boards.
Add tests for combination of cases of DMA, interrupt and
DMA is not enabled by dts.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-04-07 13:20:16 +02:00
Siyuan Cheng
6433e204b9 test: spi: update fast test frequecny for em_starterkit
Async test failed in fast test due to too fast spi frequency.
Now it is lowered to 2500000Hz.

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-04-07 13:15:59 +02:00
Francois Ramu
0cca0bcfa0 tests: drivers: spi driver testing on the stm32h573i_dk board (dma)
Configure the tests/drivers/spi/spi_loopback to run on the
stm32h573i_dk disco kit with DMA transfer
use gpdma1 or gpdma2.
GPDMA1 or GPDMA2 have the same request for spi2 transfer.
Connect D11 and D12  of the ARDuino CN13 connector to PASS the test.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-06 07:51:09 +00:00
Francois Ramu
263582164f tests: drivers: spi loopback on the stm32h573i_dk (interrupt)
Add the configuration for running the spi_loopback (interrupt mode)
on the stm32h573i_dk disco kit.
The SPI2 is enabled by the board DTS
Connect pin D11 and D12 on the Arduino connector (CN13)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-06 07:51:09 +00:00
Tom Burdick
06aa17f716 tests: SPI loopback with RTIO
Adds the equivalent spi loopback tests using RTIO and a testplan that
uses it. Adds a tdk robokit1 overlay to enable the NOCACHE option so
that DMA transfers correctly work.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-04-03 09:51:02 +02:00
Ramesh Babu B
5df7d93c82 tests: drivers: spi: Enable spi_loopback on RPL CRB
Configure through an overlay file, the rpl_crb board
for running the tests/drivers/spi/spi_loopback.

Signed-off-by: Ramesh Babu B <ramesh.babu.b@intel.com>
2023-03-21 13:39:33 +01:00
Lucas Tamborrino
9015f23b75 tests: spi_loopback: Add esp32s3
Add esp32s3 to spi_loopback test

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-03-13 14:02:06 +01:00
Andriy Gelman
2b6c970716 tests: spi_loopback: Add configuration for xmc45_relax_kit
Adds configuration for xmc45_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-03-03 17:20:17 +01:00
Siyuan Cheng
c6d6a60d50 test: spi_loopback: add emsdp board support
Add emsdp board in spi_loopback test

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-23 10:51:06 -06:00
Anas Nashif
0bc4fd4cb9 tests: fix various test identifiers
lib -> libraries to be consistent with everything else.
And fix identifier for a few stray tests that were wrongly
labeled/tagged.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-06 10:06:10 +01:00
Francois Ramu
6ff19d77ce tests: drivers: use stm32 dma driver binding macro to configure channel
Use the macro as defined by the
include/zephyr/dt-bindings/dma/stm32_dma.h to configure the
dma channel.
Use the STM32_DMA_PERIPH_TX or STM32_DMA_PERIPH_RX value.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-01-23 09:15:21 -06:00
TOKITA Hiroshi
2af7d728e2 tests: spi: spi_loopback: add interrupt and DMA tests for GD32 boards
Add interrupt and DMA tests for GD32 boards.
Use overlay-gd32-spi-interrupt.conf when testing interrupt based transfer,
use overlay-gd32-spi-dma.conf when testing DMA transfer,

Add overlay file for GD32 boards for these tests.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-01-11 08:50:56 -08:00
Fabio Baltieri
7db1d17ee3 yamllint: fix all yamllint line-length errors
Fix all line-length errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(line-length)'

Using a limit is set to 100 columns, not touching the commandlines in
GitHub workflows (at least for now).

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Bartosz Bilas
e077fb73ec drivers: tests: replace usage of spi_is_ready with spi_is_ready_dt
`spi_is_ready` function is being deprecated in favor of
`spi_is_ready_dt` so let's replace the old usage in the tree.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2022-12-07 09:40:23 -06:00
Francois Ramu
8a6642af8a tests: drivers: spi_loopback on stm32f3_disco
Configure through an overlay file, the stm32f3_disco board
for running the tests/drivers/spi/spi_loopback.
The SPI1 is selected: MOSI/MISO output pins are available
on the board.
Connect pin PA6 & PA7 of connector P1 to PASS the test.
Add the spi_loopback fixture.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-01 13:12:41 +00:00
Francois Ramu
553afbef47 tests: drivers: spi loopback on nucleo_l152 with DMA
Configure through an overlay file, the nucleo_l152re board
for running the tests/drivers/spi/spi_loopback with DMA.
Limit the spi speed freq to run the test correctly.
The SPI1 is selected: MOSI/MISO output pins are available on the platform.
DMA1 channel 2 & 3 are selected for SPI1.
Connect pin D11 & D12 of CN5 to PASS the test.
Add the spi_loopback fixture.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-01 13:12:41 +00:00
Anas Nashif
ba7d730e9b tests/samples: use integration_plaforms in more tests/samples
integration_platforms help us control what get built/executed in CI and
for each PR submitted. They do not filter out platforms, instead they
just minimize the amount of builds/testing for a particular
tests/sample.
Tests still run on all supported platforms when not in integration mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-29 16:03:23 +01:00
Dat Nguyen Duy
3d36e5999a tests: spi_loopback: add support this test for NXP S32
Update overlay files to support the test for 2 boards:
s32z270dc2_rtu0_r52 and s32z270dc2_rtu1_r52

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2022-11-24 09:37:24 +01:00
Tom Burdick
32d10fca25 tests: spi_loopback: Enable SPI testing on SAM
Adds the needed overlays and board dtsi modifications to run the
spi loopback test on the sam e70 xplained, tdk robokit1, and sam v71 xult.

Tests both DMA and non-DMA configurations.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-11-08 09:37:59 +00:00
Lucas Tamborrino
9bfa83f441 tests: drivers: spi loopback test for DMA on ESP32C3
Add SPI DMA test mode.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-10-04 10:35:14 +02:00
Lucas Tamborrino
af47b9b34b tests: drivers: spi loopback test for DMA on ESP32/S2
Add SPI DMA test mode.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-10-04 10:35:14 +02:00
Kevin Wang
82785ca48f tests: drivers: spi: spi_loopback: Add board's overlay
Add child node in spi node for testcase parsing compatible

Signed-off-by: Kevin Wang <yunkai@andestech.com>
2022-09-07 15:34:47 +02:00
Francois Ramu
45cffd79a9 tests/drivers/spi: loopback testing on the stm32u5x spi with DMA
Adds the dma transfer for the SPI loopback test
for the b_u585i_iot02a disco kit and nuceo_u575zi_q.
GPDMA1 is the DMA instance
Connect pins on the target board D11 <--> D12 of the CN13

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-09-07 15:34:35 +02:00
Gerard Marull-Paretas
79e6b0e0f6 includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h>
As of today <zephyr/zephyr.h> is 100% equivalent to <zephyr/kernel.h>.
This patch proposes to then include <zephyr/kernel.h> instead of
<zephyr/zephyr.h> since it is more clear that you are including the
Kernel APIs and (probably) nothing else. <zephyr/zephyr.h> sounds like a
catch-all header that may be confusing. Most applications need to
include a bunch of other things to compile, e.g. driver headers or
subsystem headers like BT, logging, etc.

The idea of a catch-all header in Zephyr is probably not feasible
anyway. Reason is that Zephyr is not a library, like it could be for
example `libpython`. Zephyr provides many utilities nowadays: a kernel,
drivers, subsystems, etc and things will likely grow. A catch-all header
would be massive, difficult to keep up-to-date. It is also likely that
an application will only build a small subset. Note that subsystem-level
headers may use a catch-all approach to make things easier, though.

NOTE: This patch is **NOT** removing the header, just removing its usage
in-tree. I'd advocate for its deprecation (add a #warning on it), but I
understand many people will have concerns.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-09-05 16:31:47 +02:00
Francois Ramu
89c7ad3428 test: drivers: spi stm32 loopback test running on the stm32f746 nucleo
Define the overlay to run the tests/drivers/spi/spi_loopback/
on the nucleo_f746zg board.
The DMA 2 is used for spi1 transfer.
Like on nucleo_f767zi, connect pin D11 to D12 (SPI1 MOSI to MISO)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-09-05 09:31:07 +00:00
Francois Ramu
007f449353 tests: drivers: spi loopback running on stm32f7x nucleo
This commit remove the use of the Dcache for stm32f7x
boards when running the tests on SPI with DMA.
Add the -- -DOVERLAY_CONFIG=overlay-stm32-spi-dma.conf
to run the test and connect SPI MOSI to MISO on the hw.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-09-05 09:31:07 +00:00
Enjia Mai
4bc95ef351 tests: drivers: spi: move the spi_loopback test to new ztest API
Migrate the testsuite tests/drivers/spi/spi_loopback to the new

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-29 10:31:15 +02:00
Tom Burdick
4c20403629 spi: callback API for asynchronous transcieve
Adds a new spi_transcieve_cb API which enables asynchronous
SPI transactions with callback notification.

The exist spi_transcieve_async API remains and uses the new
spi_transcieve_cb API to provide a k_poll_signal notifier.

The driver API changes to provide a callback and userdata
parameter to async transcieve. All drivers in the tree
have been updated to the change.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-08-26 09:29:48 -04:00
TOKITA Hiroshi
bd1f288bce tests: drivers: spi: loopback: add rpi_pico configuration
Add rpi_pico configuration for SPI loopback test.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2022-08-18 10:18:16 +02:00
Kumar Gala
ac50f8a99e tests: spi_loopback: Rework test
* Move test to using devicetree for various "device" params.
* Move test to using spi_dt_spec to simplify code

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-08 10:45:14 +02:00
Fabio Baltieri
def230187b test: fix more legacy #include paths
Add a bunch of missing "zephyr/" prefixes to #include statements in
various test and test framework files.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-08-02 16:41:41 +01:00
Thomas Stranger
9a6ba3f6bc tests/drivers/spi/spi_loopback: add overlay for nucleo_u575zi_q
SYSCLK frequency is 160MHz therefore w/o overlayfile the
slow frequency can only be reached with the divider added
by this commit in the overlay.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-20 11:08:42 +02:00
Gerard Marull-Paretas
2cfb5012db drivers: spi: nrfx_spim: move rx delay to DT
Move the RX (MISO) delaying capability information to Devicetree. It is
done using 2 properties:

- rx-delay-supported: enabled on SPI nodes that support delaying RX.
  This property can be used by the driver to determine if this
  capability is supported or not on a given instance.
- rx-delay: the actual RX delay value

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-19 13:20:00 -07:00
Gerard Marull-Paretas
3c6649f631 drivers: spi: spi_nrfx_spi(m|s): move ORC to DT
Specify the overrun character in Devicetree. Since 0xFF is the most
common value, DT property contains such default.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-19 13:20:00 -07:00
TOKITA Hiroshi
8e330cfcd6 tests: exclude arduion_mkrzero from uart_async and spi_loopback tests
uart_async test and spi_loopback test require UART and SPI
with an ASYNC option.
The SAM0 UART/SPI driver requires configuring DMA support.
Arduino MKRZero is not DMA configured like other SAM0 boards.
We exclude it from the tests.

ea36f9b and f4c5bdf already exclude other SAM0 boards from these tests.
Arduino MKRZero also followed these PR policies.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2022-07-04 16:00:56 +02:00
Chay Guo
77a0bc2135 boards: mimxrt595: Add SPI support
Enable access to the HS_SPI pins(JP26) on the mimxrt595_evk board.
Using DMA mode, tested with spi_loopback testcase.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2022-06-13 12:10:57 +02:00