Hi Igor, thanks for the response. So put some code from that blog into my kernel, with a few changes to account for the 3.14 kernel. I'm running into a timeout when I try to load the scripts. I noticed that the author of that blog wrote his own sdma_write_datamem function instead of using the sdma_load_script function. I've tried both of these functions and they both result in a CH0 timeout. I increased the timeout from 500uS to 10mS and it still timed out. I added some debug messages to the sdma_load_script function.
I'm trying to run the attached code snippet at the end of the sdma_probe function. It uses CH0 to load a script and load a context, then uses CH1 to do a simple DMA transfer.
The relevant dmesg out put is
**** This is the standard driver probe. sdma_load_script is called and functions normally****
[ 0.206708] imx-sdma 20ec000.sdma: no iram assigned, using external mem
[ 0.206818] imx-sdma 20ec000.sdma: no event needs to be remapped
[ 0.206862] imx-sdma 20ec000.sdma: sdma_load_script:
[ 0.206873] imx-sdma 20ec000.sdma: src address: 0x805a43d4
[ 0.206882] imx-sdma 20ec000.sdma: size: 1864
[ 0.206889] imx-sdma 20ec000.sdma: dest address: 0x1800
[ 0.207015] imx-sdma 20ec000.sdma: loaded firmware 3.1
[ 0.210077] imx-sdma 20ec000.sdma: initialized
********* trying to load the custom script into 0xe00 and context for sdmac 1 into 0x820 **********************
[ 0.210142] imx-sdma 20ec000.sdma: sdma_load_script:
[ 0.210152] imx-sdma 20ec000.sdma: src address: 0x80576ae4
[ 0.210160] imx-sdma 20ec000.sdma: size: 24
[ 0.210168] imx-sdma 20ec000.sdma: dest address: 0xe00
[ 0.221998] imx-sdma 20ec000.sdma: sdma_run_channel0 Timeout waiting for CH0 ready
[ 0.222118] imx-sdma 20ec000.sdma: sdma_load_script:
[ 0.222129] imx-sdma 20ec000.sdma: src address: 0x8c079200
[ 0.222138] imx-sdma 20ec000.sdma: size: 128
[ 0.222145] imx-sdma 20ec000.sdma: dest address: 0x820
[ 0.233958] imx-sdma 20ec000.sdma: sdma_run_channel0 Timeout waiting for CH0 ready
[ 0.234024] imx-sdma 20ec000.sdma: Failed to load context
Any ideas on why I can't load the scripts into memory?