Hi,
Yes, I know iMX6_Platform_SDK does not support i.MX 6SoloX. However, the SDMA driver code and the tests using it should show what must be written and to which SDMA peripheral registers to make the SDMA work. So I have copied the driver code from the SDK and modified it such that the SDMA peripheral register writes go to 0x420ECxxx addresses where M4 core sees the SDMA peripheral instead of 0x020ECxxx addresses where A9 core sees it.
According to my understanding, the SDMA should be working even if it is programmed from M4 core side. I have checked that all the peripheral clocks (including the SDMA clock) are enabled. A9 core should not mix things since it is not running (the M4 core test application is started from the debugger). But for some reason, the SDMA core immediately enters Debug state when the first DMA transfer for uploading the SDMA scripts is triggered. This also happens when the the M4 core is started from Uboot but not the Linux. Of course, Linux SDMA driver will mix things and this must be taken into account when Linux is started, but for now, the goal is just to test the SDMA with M4 core only.
So what goes wrong in using the SDMA from M4 core side?