64.6.9.5 Peripheral Deselection with DMA
When the DMA Controller is used, the chip select line remains low during the transfer since the TDRE flag is managed by the DMA itself. Reloading QSPI_TDR by the DMA is done as soon as the TDRE flag is set. In this case, writing QSPI_MR.CSMODE to 1 may not be needed. However, when other DMA channels connected to other peripherals are also in use, the QSPI DMA could be delayed by another DMA with a higher priority on the bus. Having DMA buffers in slower memories like Flash memory or SDRAM compared to fast internal SRAM may lengthen the reload time of QSPI_TDR by the DMA as well. This means that QSPI_TDR might not be reloaded in time to keep the chip select line low. In this case, the chip select line may toggle between data transfer and, on some SPI client devices, the communication might get lost. It may be necessary to configure CSMODE to 1.