Hi there,
Here’s my Hardware and Software setup
Hardware info
HW model: Toradex Verdin iMX8M Plus on Verdin Development Board
Toradex version: 0061 V1.0B
Serial number: 06849350
Processor arch: aarch64
Software summary
Bootloader: U-Boot
Kernel version: 6.6.54-gdbf52fc7ac3a-dirty #20 SMP PREEMPT Thu Feb 27 20:03:59 IST 2025
Kernel command line: root=PARTUUID=55c53785-02 ro rootwait console=tty1 console=ttymxc2,115200
Distro name: NAME=“TDX Wayland with XWayland”
Distro version: VERSION_ID=7.1.0-devel-20250116090100-build.0
Distro variant: -
Hostname: verdin-imx8mp-06849350
Issue:
I am facing an issue where the Chip Select (CS) remains high for approximately ~4-5 µs after SPI transfer api calls.
Initially, while using DMA, I observed SCLK assertion delay after CS getting low, It is around 2.2 µs after CS starts. I received a suggestion to use native CS with DMA disabled.
Now, I have disabled DMA and am using native CS for the SPI peripheral, but I still observe that remains idle for approximately ~4-5 µs.
Even when I increase the SPI clock speed, the idle time of CS remains almost same, while the low time (transaction time) improves.
Can you please tell what’s causing this issue? And any steps to resolve it?
Any help / suggestions would be appreciated
Case-1: Using HW Chip Select
Please refer attached image to analyse below signals
Top Line : GPIO used to monitor SPI transfer API called.
Middle Line : Chip Select
Bottom Line: SCLK
SCLK Frequnecy : 35Mhz
Because of this delay getting added to every transaction we are facing low throughput issue on SPI slave device. We have observed this even when we do not connect any SPI slave device same issue is happening.
Thanks,
Pratham