1common:
2  depends_on: spi
3  tags:
4    - drivers
5    - spi
6    - dma
7  filter: dt_compat_enabled("test-spi-loopback-slow") and
8          dt_compat_enabled("test-spi-loopback-fast")
9  harness: ztest
10  harness_config:
11    fixture: spi_loopback
12tests:
13  drivers.spi.loopback: {}
14  drivers.spi.loopback.internal:
15    filter: CONFIG_SPI_LOOPBACK_MODE_LOOP
16  drivers.spi.loopback.lpspi.dma:
17    filter: DT_HAS_NXP_LPSPI_ENABLED and DT_HAS_NXP_MCUX_EDMA_ENABLED
18    extra_configs:
19      - CONFIG_SPI_MCUX_LPSPI_DMA=y
20  drivers.spi.loopback.lpspi.async.unset:
21    filter: DT_HAS_NXP_LPSPI_ENABLED and DT_HAS_NXP_MCUX_EDMA_ENABLED
22    extra_configs:
23      - CONFIG_SPI_MCUX_LPSPI_DMA=n
24      - CONFIG_SPI_ASYNC=n
25  drivers.spi.loopback.lpspi.dma.async.unset:
26    filter: DT_HAS_NXP_LPSPI_ENABLED and DT_HAS_NXP_MCUX_EDMA_ENABLED
27    extra_configs:
28      - CONFIG_SPI_MCUX_LPSPI_DMA=y
29      - CONFIG_SPI_ASYNC=n
30  drivers.spi.loopback.rtio:
31    extra_configs:
32      - CONFIG_SPI_RTIO=y
33    platform_allow:
34      - robokit1
35      - mimxrt1170_evk/mimxrt1176/cm7
36    integration_platforms:
37      - robokit1
38  drivers.spi.mcux_dspi_dma.loopback:
39    extra_args:
40      - EXTRA_CONF_FILE="overlay-mcux-dspi-dma.conf"
41      - DTC_OVERLAY_FILE="overlay-mcux-dspi-dma.overlay"
42    platform_allow: frdm_k64f
43  drivers.spi.sam_spi_dma.loopback:
44    extra_args:
45      - EXTRA_CONF_FILE="overlay-sam-spi-dma.conf"
46      - DTC_OVERLAY_FILE="overlay-sam-spi-dma.overlay"
47    platform_allow:
48      - sam_e70_xplained/same70q21
49      - sam_v71_xult/samv71q21
50      - robokit1
51    integration_platforms:
52      - sam_e70_xplained/same70q21
53  drivers.spi.stm32_spi_16bits_frames.loopback:
54    extra_args:
55      - EXTRA_CONF_FILE="overlay-stm32-spi-16bits.conf"
56      - DTC_OVERLAY_FILE="overlay-stm32-spi-16bits.overlay"
57    platform_allow:
58      - nucleo_h743zi
59      - nucleo_h753zi
60      - nucleo_h745zi_q/stm32h745xx/m4
61      - nucleo_h745zi_q/stm32h745xx/m7
62    integration_platforms:
63      - nucleo_h743zi
64  drivers.spi.stm32_spi_dma.loopback:
65    extra_args: EXTRA_CONF_FILE="overlay-stm32-spi-dma.conf"
66    platform_allow:
67      - b_u585i_iot02a
68      - nucleo_g474re
69      - nucleo_f207zg
70      - nucleo_f429zi
71      - nucleo_f746zg
72      - nucleo_f767zi
73      - nucleo_wb55rg
74      - nucleo_l152re
75      - nucleo_wl55jc
76      - nucleo_h743zi
77      - nucleo_h753zi
78      - nucleo_h745zi_q/stm32h745xx/m4
79      - nucleo_h745zi_q/stm32h745xx/m7
80      - stm32h573i_dk
81    integration_platforms:
82      - nucleo_g474re
83  drivers.spi.stm32_spi_dma_dt_nocache_mem.loopback:
84    # this test case is for when nocache memory region is defined in DT
85    # using `zephyr,memory-attr = < DT_MEM_ARM_MPU_RAM_NOCACHE)>`
86    extra_args:
87      - EXTRA_CONF_FILE="overlay-stm32-spi-dma-dt-nocache-mem.conf"
88    filter: CONFIG_CPU_HAS_DCACHE
89    platform_allow:
90      - nucleo_h743zi
91      - nucleo_h753zi
92      - nucleo_h745zi_q/stm32h745xx/m4
93      - nucleo_h745zi_q/stm32h745xx/m7
94    integration_platforms:
95      - nucleo_h743zi
96  drivers.spi.stm32_spi_16bits_frames_dma.loopback:
97    extra_args:
98      - EXTRA_CONF_FILE="overlay-stm32-spi-16bits-dma.conf"
99      - DTC_OVERLAY_FILE="overlay-stm32-spi-16bits.overlay"
100    platform_allow:
101      - nucleo_h743zi
102      - nucleo_h753zi
103      - nucleo_h745zi_q/stm32h745xx/m4
104      - nucleo_h745zi_q/stm32h745xx/m7
105    integration_platforms:
106      - nucleo_h743zi
107  drivers.spi.stm32_spi_16bits_frames_dma_dt_nocache_mem.loopback:
108    extra_args:
109      - EXTRA_CONF_FILE="overlay-stm32-spi-16bits-dma-dt-nocache-mem.conf"
110      - DTC_OVERLAY_FILE="overlay-stm32-spi-16bits.overlay"
111    filter: CONFIG_CPU_HAS_DCACHE
112    platform_allow:
113      - nucleo_h743zi
114      - nucleo_h753zi
115      - nucleo_h745zi_q/stm32h745xx/m4
116      - nucleo_h745zi_q/stm32h745xx/m7
117    integration_platforms:
118      - nucleo_h743zi
119  drivers.spi.stm32_spi_interrupt.loopback:
120    extra_args: EXTRA_CONF_FILE="overlay-stm32-spi-interrupt.conf"
121    platform_allow:
122      - b_u585i_iot02a
123      - nucleo_f207zg
124      - nucleo_f429zi
125      - nucleo_f746zg
126      - nucleo_f767zi
127      - nucleo_g474re
128      - nucleo_h743zi
129      - nucleo_h753zi
130      - nucleo_h745zi_q/stm32h745xx/m4
131      - nucleo_h745zi_q/stm32h745xx/m7
132      - nucleo_l152re
133      - nucleo_wb55rg
134      - nucleo_wl55jc
135      - stm32f3_disco
136      - stm32h573i_dk
137    integration_platforms:
138      - stm32h573i_dk
139  drivers.spi.gd32_spi_interrupt.loopback:
140    extra_args: EXTRA_CONF_FILE="overlay-gd32-spi-interrupt.conf"
141    platform_allow:
142      - gd32f403z_eval
143      - gd32f407v_start
144      - gd32f450i_eval
145      - gd32f450v_start
146      - gd32f450z_eval
147      - gd32f470i_eval
148      - gd32vf103c_starter
149      - gd32vf103v_eval
150      - longan_nano
151      - longan_nano/gd32vf103/lite
152    integration_platforms:
153      - gd32f403z_eval
154  drivers.spi.gd32_spi_dma.loopback:
155    extra_args: EXTRA_CONF_FILE="overlay-gd32-spi-dma.conf"
156    platform_allow:
157      - gd32f403z_eval
158      - gd32f407v_start
159      - gd32f450i_eval
160      - gd32f450v_start
161      - gd32f450z_eval
162      - gd32f470i_eval
163      - gd32vf103c_starter
164      - gd32vf103v_eval
165      - longan_nano
166      - longan_nano/gd32vf103/lite
167    integration_platforms:
168      - gd32f403z_eval
169  drivers.spi.pl022_spi_interrupt.loopback:
170    extra_configs:
171      - CONFIG_SPI_PL022_INTERRUPT=y
172      - CONFIG_SPI_PL022_DMA=n
173    platform_allow: rpi_pico
174  drivers.spi.pl022_spi_dma.loopback:
175    extra_configs:
176      - CONFIG_SPI_PL022_INTERRUPT=n
177      - CONFIG_SPI_PL022_DMA=y
178      - CONFIG_DMA=y
179    platform_allow: rpi_pico
180  drivers.spi.pl022_spi_dma_and_interrupt.loopback:
181    extra_configs:
182      - CONFIG_SPI_PL022_INTERRUPT=y
183      - CONFIG_SPI_PL022_DMA=y
184      - CONFIG_DMA=y
185    platform_allow: rpi_pico
186  drivers.spi.pl022_spi_dma_no_dma_props.loopback:
187    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_delete_dma_props.overlay"
188    extra_configs:
189      - CONFIG_SPI_PL022_INTERRUPT=n
190      - CONFIG_SPI_PL022_DMA=y
191      - CONFIG_DMA=y
192    platform_allow: rpi_pico
193  drivers.spi.pl022_spi_dma_and_interrupt_no_dma_props.loopback:
194    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_delete_dma_props.overlay"
195    extra_configs:
196      - CONFIG_SPI_PL022_INTERRUPT=y
197      - CONFIG_SPI_PL022_DMA=y
198      - CONFIG_DMA=y
199    platform_allow: rpi_pico
200  drivers.spi.mcux_flexio_spi.loopback:
201    extra_args: DTC_OVERLAY_FILE="overlay-mcux-flexio-spi.overlay"
202    filter: CONFIG_DT_HAS_NXP_FLEXIO_ENABLED and
203            CONFIG_DT_HAS_NXP_FLEXIO_SPI_ENABLED
204    platform_allow: mimxrt1064_evk
205  drivers.spi.nrf_fast:
206    extra_args: DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast.overlay"
207    platform_allow:
208      - nrf54h20dk/nrf54h20/cpuapp
209  drivers.spi.ke1xz_flexio_spi.loopback:
210    extra_args: DTC_OVERLAY_FILE="boards/frdm_ke1xz_flexio_spi.overlay"
211    filter: CONFIG_DT_HAS_NXP_FLEXIO_ENABLED and
212            CONFIG_DT_HAS_NXP_FLEXIO_SPI_ENABLED
213    platform_allow:
214      - frdm_ke17z
215      - frdm_ke17z512
216  drivers.spi.max32_dma.loopback:
217    extra_args: EXTRA_CONF_FILE="overlay-max32-spi-dma.conf"
218    filter: CONFIG_SOC_FAMILY_MAX32
219  drivers.spi.s32z_dspi.loopback:
220    extra_args:
221      - DTC_OVERLAY_FILE=boards/s32z2xxdc2_s32z270_dspi.overlay
222    platform_allow:
223      - s32z2xxdc2/s32z270/rtu0
224      - s32z2xxdc2/s32z270/rtu1
225  drivers.spi.max32_spi_rtio.loopback:
226    extra_args:
227      - OVERLAY_CONFIG="overlay-max32-spi-rtio.conf"
228    filter: CONFIG_SOC_FAMILY_MAX32
229    platform_allow:
230      - apard32690/max32690/m4
231  drivers.spi.nrf_pm_runtime:
232    extra_configs:
233      - CONFIG_PM_DEVICE=y
234      - CONFIG_PM_DEVICE_RUNTIME=y
235    filter: CONFIG_SOC_FAMILY_NORDIC_NRF
236