I'm currently working on AM62x SK EVM using Linux SDK and I wanted to enable DMA for MCSPI0 (@20100000).
Before I was using MCSPI2 (@20120000) and I was able to successfully enable DMA on this bus by following the instructions given in this post: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1223699/am625-how-to-enable-dma-for-mcspi/4622078#4622078. For MCSPI2 I was adding the following values to node main_spi2 in file [Linux/]arch/arm64/boot/dts/ti/k3-am625-sk.dts:
[...] &main_spi2 { [...] dmas = <&main_pktdma 0xc308 0>, <&main_pktdma 0x4308 0>; dma-names = "tx0", "rx0"; [...] } [...]
As said, the changes above successfully enabled DMA for MCSPI2 for me.
I now wanted enable DMA for MCSPI0 by repeating similar steps: I added the dmas and dma-names options to main_spi2 in file [Linux/]arch/arm64/boot/dts/ti/k3-am625-sk.dts, but with updated thread ids:
[...] &main_spi0 { [...] dmas = <&main_pktdma 0xc300 0>, <&main_pktdma 0x4300 0>; dma-names = "tx0", "rx0"; [...] } [...]
But these changes are not working for me. When I boot the board I will always get the following error messages:
[xxx] ti-pktdma 485c0000.dma-controller: No configuration for psi-l thread 0x4300 [above error is thrown many times before we get below error] [yyy] ti-pktdma 485c0000.dma-controller: get channel fail in udma_of_xlate.
I'm now having no clue anymore what I'm doing wrong since the values I'm using here are the exact same as the ones given as example in the forum post above.
Could anyone help me out on this?