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_NXP_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_NXP_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_NXP_LPSPI_DMA=y
29      - CONFIG_SPI_ASYNC=n
30  drivers.spi.loopback.rtio:
31    extra_configs:
32      - CONFIG_SPI_RTIO=y
33      - CONFIG_SPI_RTIO_FALLBACK_MSGS=5
34    platform_allow:
35      - robokit1
36      - mimxrt1170_evk/mimxrt1176/cm7
37    integration_platforms:
38      - robokit1
39  drivers.spi.mcux_dspi_dma.loopback:
40    extra_args:
41      - EXTRA_CONF_FILE="overlay-mcux-dspi-dma.conf"
42      - DTC_OVERLAY_FILE="overlay-mcux-dspi-dma.overlay"
43    platform_allow: frdm_k64f
44  drivers.spi.sam_spi_dma.loopback:
45    extra_args:
46      - EXTRA_CONF_FILE="overlay-sam-spi-dma.conf"
47      - DTC_OVERLAY_FILE="overlay-sam-spi-dma.overlay"
48    platform_allow:
49      - sam_e70_xplained/same70q21
50      - sam_v71_xult/samv71q21
51      - robokit1
52    integration_platforms:
53      - sam_e70_xplained/same70q21
54  drivers.spi.stm32_spi_dma.loopback:
55    extra_args: EXTRA_CONF_FILE="overlay-stm32-spi-dma.conf"
56    platform_allow:
57      - b_u585i_iot02a
58      - nucleo_c071rb
59      - nucleo_g474re
60      - nucleo_f207zg
61      - nucleo_f429zi
62      - nucleo_f746zg
63      - nucleo_f767zi
64      - nucleo_wba55cg
65      - nucleo_wb55rg
66      - nucleo_l152re
67      - nucleo_wl55jc
68      - nucleo_h743zi
69      - nucleo_h753zi
70      - nucleo_h745zi_q/stm32h745xx/m4
71      - nucleo_h745zi_q/stm32h745xx/m7
72      - nucleo_u385rg_q
73      - stm32h573i_dk
74      - stm32n6570_dk/stm32n657xx/sb
75      - stm32u083c_dk
76    integration_platforms:
77      - nucleo_g474re
78  drivers.spi.stm32_spi_dma_dt_nocache_mem.loopback:
79    # this test case is for when nocache memory region is defined in DT
80    # using `zephyr,memory-attr = < DT_MEM_ARM_MPU_RAM_NOCACHE)>`
81    extra_args:
82      - EXTRA_CONF_FILE="overlay-stm32-spi-dma-dt-nocache-mem.conf"
83    filter: CONFIG_CPU_HAS_DCACHE
84    platform_allow:
85      - nucleo_h743zi
86      - nucleo_h753zi
87      - nucleo_h745zi_q/stm32h745xx/m4
88      - nucleo_h745zi_q/stm32h745xx/m7
89    integration_platforms:
90      - nucleo_h743zi
91  drivers.spi.stm32_spi_interrupt.loopback:
92    extra_args: EXTRA_CONF_FILE="overlay-stm32-spi-interrupt.conf"
93    platform_allow:
94      - b_u585i_iot02a
95      - nucleo_c071rb
96      - nucleo_f207zg
97      - nucleo_f429zi
98      - nucleo_f746zg
99      - nucleo_f767zi
100      - nucleo_g474re
101      - nucleo_h743zi
102      - nucleo_h753zi
103      - nucleo_h745zi_q/stm32h745xx/m4
104      - nucleo_h745zi_q/stm32h745xx/m7
105      - nucleo_l152re
106      - nucleo_u385rg_q
107      - nucleo_wba55cg
108      - nucleo_wb55rg
109      - nucleo_wl55jc
110      - stm32f3_disco
111      - stm32h573i_dk
112      - stm32n6570_dk/stm32n657xx/sb
113      - stm32u083c_dk
114    integration_platforms:
115      - stm32h573i_dk
116  drivers.spi.gd32_spi_interrupt.loopback:
117    extra_args: EXTRA_CONF_FILE="overlay-gd32-spi-interrupt.conf"
118    platform_allow:
119      - gd32f403z_eval
120      - gd32f407v_start
121      - gd32f450i_eval
122      - gd32f450v_start
123      - gd32f450z_eval
124      - gd32f470i_eval
125      - gd32vf103c_starter
126      - gd32vf103v_eval
127      - longan_nano
128      - longan_nano/gd32vf103/lite
129    integration_platforms:
130      - gd32f403z_eval
131  drivers.spi.gd32_spi_dma.loopback:
132    extra_args: EXTRA_CONF_FILE="overlay-gd32-spi-dma.conf"
133    platform_allow:
134      - gd32f403z_eval
135      - gd32f407v_start
136      - gd32f450i_eval
137      - gd32f450v_start
138      - gd32f450z_eval
139      - gd32f470i_eval
140      - gd32vf103c_starter
141      - gd32vf103v_eval
142      - longan_nano
143      - longan_nano/gd32vf103/lite
144    integration_platforms:
145      - gd32f403z_eval
146  drivers.spi.pl022_spi_interrupt.loopback:
147    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_pl022.overlay"
148    extra_configs:
149      - CONFIG_SPI_PL022_INTERRUPT=y
150      - CONFIG_SPI_PL022_DMA=n
151    platform_allow:
152      - rpi_pico
153      - pico_plus2/rp2350b/m33
154  drivers.spi.pl022_spi_dma.loopback:
155    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_pl022_dma.overlay"
156    extra_configs:
157      - CONFIG_SPI_PL022_INTERRUPT=n
158      - CONFIG_SPI_PL022_DMA=y
159      - CONFIG_DMA=y
160    platform_allow:
161      - rpi_pico
162      - pico_plus2/rp2350b/m33
163  drivers.spi.pl022_spi_dma_and_interrupt.loopback:
164    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_pl022_dma.overlay"
165    extra_configs:
166      - CONFIG_SPI_PL022_INTERRUPT=y
167      - CONFIG_SPI_PL022_DMA=y
168      - CONFIG_DMA=y
169    platform_allow:
170      - rpi_pico
171      - pico_plus2/rp2350b/m33
172  drivers.spi.pl022_spi_dma_no_dma_props.loopback:
173    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_pl022.overlay"
174    extra_configs:
175      - CONFIG_SPI_PL022_INTERRUPT=n
176      - CONFIG_SPI_PL022_DMA=y
177      - CONFIG_DMA=y
178    platform_allow:
179      - rpi_pico
180      - pico_plus2/rp2350b/m33
181  drivers.spi.pl022_spi_dma_and_interrupt_no_dma_props.loopback:
182    extra_args: DTC_OVERLAY_FILE="boards/rpi_pico_pl022.overlay"
183    extra_configs:
184      - CONFIG_SPI_PL022_INTERRUPT=y
185      - CONFIG_SPI_PL022_DMA=y
186      - CONFIG_DMA=y
187    platform_allow:
188      - rpi_pico
189      - pico_plus2/rp2350b/m33
190  drivers.spi.pio_spi.loopback:
191    extra_args:
192      - DTC_OVERLAY_FILE="boards/rpi_pico_pio.overlay"
193      - EXTRA_CONF_FILE="overlay-rpi-pico-pio.conf"
194    platform_allow: rpi_pico
195  drivers.spi.pio_spi_dma.loopback:
196    extra_args:
197      - DTC_OVERLAY_FILE="boards/rpi_pico_pio.overlay"
198      - EXTRA_DTC_OVERLAY_FILE="boards/rpi_pico_pio_dma.overlay"
199      - EXTRA_CONF_FILE="overlay-rpi-pico-pio.conf"
200    extra_configs:
201      - CONFIG_SPI_RPI_PICO_PIO_DMA=y
202    platform_allow: rpi_pico
203  drivers.spi.flexio_spi.loopback:
204    extra_args:
205      - platform:mimxrt1170_evk/mimxrt1176/cm7:DTC_OVERLAY_FILE="boards/mimxrt1170_evk_mimxrt1176_cm7_flexio_spi.overlay"
206      - platform:mimxrt1180_evk/mimxrt1189/cm33:DTC_OVERLAY_FILE="boards/mimxrt1180_evk_flexio_spi.overlay"
207      - platform:mimxrt1180_evk/mimxrt1189/cm7:DTC_OVERLAY_FILE="boards/mimxrt1180_evk_flexio_spi.overlay"
208      - platform:mimxrt1064_evk:DTC_OVERLAY_FILE="overlay-mcux-flexio-spi.overlay"
209      - platform:mimxrt1060_evk/mimxrt1062/qspi:DTC_OVERLAY_FILE="overlay-mcux-flexio-spi.overlay"
210      - platform:mimxrt1040_evk:DTC_OVERLAY_FILE="boards/mimxrt1040_evk_flexio_spi.overlay"
211    filter: CONFIG_DT_HAS_NXP_FLEXIO_ENABLED and
212            CONFIG_DT_HAS_NXP_FLEXIO_SPI_ENABLED
213    platform_allow:
214      - mimxrt1170_evk/mimxrt1176/cm7
215      - mimxrt1180_evk/mimxrt1189/cm33
216      - mimxrt1180_evk/mimxrt1189/cm7
217      - mimxrt1064_evk
218      - mimxrt1060_evk/mimxrt1062/qspi
219      - mimxrt1040_evk
220  drivers.spi.nrf54h_fast_2mhz:
221    extra_args:
222      - DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast.overlay"
223      - EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_2mhz.overlay"
224    platform_allow:
225      - nrf54h20dk/nrf54h20/cpuapp
226    harness: console
227    harness_config:
228      fixture: spi_loopback
229      type: one_line
230      regex:
231        - "Failed to initialize nrfx driver"
232  drivers.spi.nrf54h_fast_8mhz:
233    extra_args: DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast.overlay"
234    platform_allow:
235      - nrf54h20dk/nrf54h20/cpuapp
236  drivers.spi.nrf54h_fast_16mhz:
237    extra_args:
238      - DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast.overlay"
239      - EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_16mhz.overlay"
240    platform_allow:
241      - nrf54h20dk/nrf54h20/cpuapp
242  drivers.spi.nrf54h_fast_32mhz:
243    extra_args:
244      - DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast.overlay"
245      - EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_32mhz.overlay"
246    platform_allow:
247      - nrf54h20dk/nrf54h20/cpuapp
248  drivers.spi.nrf54h_fast_8mhz_port2:
249    extra_args:
250      - DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_fast_p2.overlay"
251      - CONFIG_NRF_REGTOOL_VERBOSITY=2
252    platform_allow:
253      - nrf54h20dk/nrf54h20/cpuapp
254  drivers.spi.nrf54l_1mhz:
255    extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_1mhz.overlay"
256    platform_allow:
257      - nrf54l15dk/nrf54l15/cpuapp
258    harness: console
259    harness_config:
260      fixture: spi_loopback
261      type: one_line
262      regex:
263        - "Failed to initialize nrfx driver"
264  drivers.spi.nrf54l_8mhz:
265    extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_8mhz.overlay"
266    platform_allow:
267      - nrf54l15dk/nrf54l15/cpuapp
268      - nrf54lm20dk/nrf54lm20a/cpuapp
269      - ophelia4ev/nrf54l15/cpuapp
270  drivers.spi.nrf54l_16mhz:
271    extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_16mhz.overlay"
272    platform_allow:
273      - nrf54l15dk/nrf54l15/cpuapp
274      - ophelia4ev/nrf54l15/cpuapp
275  drivers.spi.nrf54l_32mhz:
276    extra_args: EXTRA_DTC_OVERLAY_FILE="boards/nrf_at_32mhz.overlay"
277    platform_allow:
278      - nrf54l15dk/nrf54l15/cpuapp
279      - ophelia4ev/nrf54l15/cpuapp
280  drivers.spi.nrf54lm20_16mhz_32mhz:
281    harness: ztest
282    harness_config:
283      fixture: spi_fast_loopback
284    extra_args:
285      - DTC_OVERLAY_FILE="boards/nrf54lm20dk_nrf54lm20a_cpuapp_spi00.overlay"
286    platform_allow:
287      - nrf54lm20dk/nrf54lm20a/cpuapp
288  drivers.spi.ke1xz_flexio_spi.loopback:
289    extra_args: DTC_OVERLAY_FILE="boards/frdm_ke1xz_flexio_spi.overlay"
290    filter: CONFIG_DT_HAS_NXP_FLEXIO_ENABLED and
291            CONFIG_DT_HAS_NXP_FLEXIO_SPI_ENABLED
292    platform_allow:
293      - frdm_ke17z
294      - frdm_ke17z512
295  drivers.spi.max32_dma.loopback:
296    extra_args: EXTRA_CONF_FILE="overlay-max32-spi-dma.conf"
297    filter: CONFIG_SOC_FAMILY_MAX32
298  drivers.spi.s32z_dspi.loopback:
299    extra_args:
300      - DTC_OVERLAY_FILE=boards/s32z2xxdc2_s32z270_dspi.overlay
301    platform_allow:
302      - s32z2xxdc2/s32z270/rtu0
303      - s32z2xxdc2/s32z270/rtu1
304  drivers.spi.max32_spi_rtio.loopback:
305    extra_args:
306      - EXTRA_CONF_FILE="overlay-max32-spi-rtio.conf"
307    filter: CONFIG_SOC_FAMILY_MAX32
308    platform_allow:
309      - apard32690/max32690/m4
310  drivers.spi.nrf_pm_runtime:
311    extra_configs:
312      - CONFIG_PM_DEVICE=y
313      - CONFIG_PM_DEVICE_RUNTIME=y
314    filter: CONFIG_SOC_FAMILY_NORDIC_NRF
315  drivers.spi.silabs_s2.loopback.no_async:
316    filter: CONFIG_SOC_FAMILY_SILABS_S2
317    platform_allow:
318      - xg24_rb4187c
319      - xg29_rb4412a
320    extra_configs:
321      - CONFIG_SPI_SILABS_EUSART_DMA=n
322      - CONFIG_SPI_ASYNC=n
323  drivers.spi.silabs_s2.loopback.dma.no_async:
324    filter: CONFIG_SOC_FAMILY_SILABS_S2
325    platform_allow:
326      - xg24_rb4187c
327      - xg29_rb4412a
328    extra_configs:
329      - CONFIG_SPI_SILABS_EUSART_DMA=y
330      - CONFIG_SPI_ASYNC=n
331  drivers.spi.silabs_siwx91x.loopback:
332    filter: CONFIG_SOC_FAMILY_SILABS_SIWX91X
333    platform_allow:
334      - siwx917_rb4338a
335  drivers.spi.cc23x0.loopback.dma.no_async:
336    filter: CONFIG_SOC_FAMILY_TI_SIMPLELINK
337    platform_allow:
338      - lp_em_cc2340r5
339    extra_configs:
340      - CONFIG_SPI_CC23X0_DMA_DRIVEN=y
341      - CONFIG_SPI_ASYNC=n
342  drivers.spi.cs_loopback.disable_lpspi_dma:
343    extra_args: EXTRA_DTC_OVERLAY_FILE="overlay-cs-loopback-gpio.overlay"
344    extra_configs:
345      - CONFIG_SPI_NXP_LPSPI_DMA=n
346    platform_allow:
347      - frdm_mcxn947/mcxn947/cpu0
348      - mimxrt1050_evk/mimxrt1052/hyperflash
349