[PATCH 20/24] spi: Add ZTE ZX279128S SPI flash controller

Stefan Dösinger stefandoesinger at gmail.com
Sun Oct 11 09:32:46 PDT 2026


Hi,

Am Samstag, 10. Oktober 2026, 14:59:58 Mitteleuropäische Sommerzeit schrieb 
Navid Ghahremani:
> Execute bounded SPI-memory operations through the controller FIFO. Honor
> device and operation clock limits through the CRPM divider and cap the
> validated maximum at 50 MHz.

The registers look identical (though with slightly different names) than the 
quad SPI controller on my machines. I have a more advanced driver here:

https://gitlab.com/stefandoesinger/zx297520-kernel/-/blob/dlink/drivers/spi/
spi-zx.c?ref_type=heads

Please give it a try on your hardware and see if it works.

My driver has optional DMA support, which does allow measurable improvements 
in situations where SPI access and CPU activity happen in parallel (although 
DMA operation is slightly slower than PIO with an otherwise idle CPU) and I 
tuned PIO mode a bit (in particular avoiding redundant fifo size reads).

The qspi driver is a bit down on my FIFO queue (I plan to take care of pinctrl 
and DMA first), but I can speed it up if your board gets to a point where SPI 
can be done reliably first.

On the hardware otherwise, it can also raise IRQs when the read/write FIFOs 
are above/below a certain threshold. That allows PIO mode without constant 
polling. I found that it doesn't have an actual performance advantage over 
polling PIO mode even when pushing the CPU during SPI transfers. DMA mode has 
clear advantages in this regard and I found no need to implement an IRQ driven 
PIO mode. If the performance characteristics on your board are different we can 
reconsider this.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 870 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261011/31def0ae/attachment.sig>


More information about the linux-arm-kernel mailing list