Hi,
“There is a known problem in DSPI w/DMA because DSPI peripheral cannot handle narrow writes to PUSHR correctly (except of Senna, K60_2M and TorqSilver) and the driver does not implement workaround for this.
The DSPI w/DMA driver does not write full 32-bits to PUSHR to avoid copy of data to intermediate buffer (there is no other efficient way to perform 32-bit write using eDMA).
This assumes that DSPI peripheral keeps the previous value (i.e. zero) in the bits not being written, which is unfortunately not true for older silicons, as I mentioned above.
However the non-DMA DSPI was thoroughly tested and I think it asserts CS correctly. If it does not work for some BSPs then the issue might rather be in the BSP/board configuration.
Please note that if you change CS using IOCTL it does not affect the state of CS signals immediately but rather upon next transfer as CS and bus settings are specific to particular file descriptor of SPI device.
Please refer to most recent MQX IO guide about this (be sure you have the latest IO guide)”
Have a great day,
Sol
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------