Two months ago, I described a DMA collision issue with Vybrid audio when a playback is started on Linux (A5) while MQX is running on M4 (Vybrid audio (sgtl5000)).
Now I am experiencing a mirror problem - when an SPI DMA operation starts on M4, Linux immediately dies. Is there any document describing which DMA channels are used by Timesys Linux so I can setup MQX to use different channels and avoid the issues? Can that be easily seen/modified in the Linux sources?
Solved! Go to Solution.
Hello Petr,
On the Vybrid Tower board, Linux uses the following DMA channels on DMA engine 0, mux 0:
UART1 RX - Channel 4
UART1 TX - Channel 5
DSPI0 RX - Channel 12
DSPI0 TX - Channel 13
SAI2 (I2S2) RX - Channel 20
SAI2 (I2S2) TX - Channel 21
A list of all DMA channels can be found in the Linux source tree, at arch/arm/plat-mxc/include/mach/mvf_edma.h
Thanks, and let me know if you have any questions.
Timesys Support
Hello Petr,
On the Vybrid Tower board, Linux uses the following DMA channels on DMA engine 0, mux 0:
UART1 RX - Channel 4
UART1 TX - Channel 5
DSPI0 RX - Channel 12
DSPI0 TX - Channel 13
SAI2 (I2S2) RX - Channel 20
SAI2 (I2S2) TX - Channel 21
A list of all DMA channels can be found in the Linux source tree, at arch/arm/plat-mxc/include/mach/mvf_edma.h
Thanks, and let me know if you have any questions.
Timesys Support
Hello timesyssupport
i would like to ask how in Linux the peripherals are assigned to DMA channels on DMA engine 0, mux 0?
Hello carlovalgocela
The following link should be helpful:
https://linuxlink.timesys.com/docs/wiki/engineering/bsp_userguide_twr-vf65gs10#DMA
Thank you,
Timesys Support
Good, that should help, thank you.
timesyssupport can you attend this case?