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.