I have been working with the ECSPI module exported on the J1003 pins of the i.MX 8 Mini evaluation kit (imx8mmevk).
I have edited the DeviceTree to include a proper node under the ecspi node, written a driver for it and it communicates fine.
I am using a single SPI message with a single transfer, sent by spi_async(). I have noticed that for transfer lengths <32B, the driver spi-imx.c uses PIO implementation and transfers the bytes with CS = low, as it should (except that for len=30, the last two bytes are sent somewhat later, and CS toggles in between).
However, my question is about DMA transfer, which is used for len>=32. In this mode, the CS signal toggles after each word. How can this behavior be suppressed? Alternatively, how can the PIO mode be made to transfer all the bytes at the same time, without toggling CS?