SPI-NG Diagnostics and FAQ
- Probe succeeds but no waveform appears: verify chip-select index, pinctrl, controller mode, and whether Flash/DBI/Camera mode owns the bus.
- DMA fails: temporarily disable DMA symbols, remove
dma-names, or forceuse_dma=falseto validate CPU transfers first. - High-frequency errors: lower the clock and inspect sampling mode/delay, routing, load, and voltage domain.
- MISO is always
0xff: the peripheral may be unpowered, CS may not assert, the mode may be wrong, or MISO may be floating. - Wrong legacy/new-driver identification: confirm it with compatible, defconfig, and boot logs together.
dmesg | grep -Ei 'spi|spidev'
find /sys/kernel/debug -iname '*spi*'
cat /sys/kernel/debug/spi*/info 2>/dev/null
cat /sys/kernel/debug/spi*/fifo 2>/dev/null
General diagnostic order
- Schematic and power.
- Node and pinctrl in the final DTB.
- Final
.configand modules. - Probe, clock, reset, and IRQ logs.
- Device node and sysfs/debugfs.
- Minimal functional test.
- Stress, suspend, and abnormal hot-plug tests.
Do not treat the removal of an error log as a fix. Find the first failure and validate its upstream and downstream dependencies.