Working on a project to port a sdma driver for imx357 to newer kernel. Previously the project have patched the driver to load a custom script. I'm trying to understand why and probably I'm starting to see the reason but would like to have some more insights. I can not see how firmware and script loading for imx35 is working in the kernel.
The imx35.dtsi file points to a firmware called imx/sdma/sdma-imx35.bin (https://github.com/nxp-imx/linux-imx/blob/66e442bc7fdcc935e6faa94c743f653263d4ed67/arch/arm/boot/dts...). I have not found any binary file called like that in any distribution yet. The closest I get is that firmware-imx have two files named imx35, sdma-imx35-to1.bin and sdma-imx35-to2.bin. Anyone that knows if the standard file sdma-imx35.bin is present somewhere?
In the driver imx-sdma.c, that is common between several imx socs, all variants except imx35 have a struct `sdma_script_start_addrs` that contains start addresses for the scripts. (https://github.com/nxp-imx/linux-imx/blob/66e442bc7fdcc935e6faa94c743f653263d4ed67/drivers/dma/imx-s...) Can this driver work for imx35 without information about script addresses?
I know this is a mature processor and don't know the usage these days. But I guess there are systems using it that also uses sdma. Hopefully someone can help me get some more insights here.
Thanks,
/Peter
@joanxie if you match the file name in the dtb this file will be used but standard dtb have another name.
Anyway, where is the content of sdma-imx35-to1.bin and sdma-imx35-to2.bin described? I'm looking for information what scripts that are inside the firmware and how to use them.
That shouldn't matter. I'm looking for documentation for the SDMA and the firmware file sdma-imx35-to1.bin.