sdma-imx6q.bin firmware
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
on a imx6ul based custom board, i moved from a 4.9.x_1.0.0 kernel to a 4.14.113+imx-1.0.0.
As it is done in 4.9., from the included ./firmware/Makefile, i managed to have sdma-imx6q.bin to be built-in also for the 4.14.
Btw, at kernel boot, i get
imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
I am 100% sure SDMA fw binary is built in, just checked the zImage binary. The question is, why the fw, even if built-in in the same way, is loaded in kernel 4.9 and not in 4.14 ?
Regards
Angelo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can add a binary blob (firmware) by specifying the path in menuconfig, here the diff:
+CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin"
+CONFIG_EXTRA_FIRMWARE_DIR="/git/linux-firmware"
I cloned git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git to /git/linux-firmware.
BTW: I use now kernel v4.19
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Angelo,
I also have the same problem you describe.
I used the tool meld to compare this two version of Makefile under the firmware folder, I also turn on the config file but I have no idea there is a lot of unexpected error message when I build the zImage.
The compiler toolchain what I used is "gcc-arm-none-eabi-8-2018-q4-major"
Thank you so much.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the image files of SDMA (e.g. sdma-imx6q.bin) available in the directory firmware/imx/sdma for 4.1 and 4.9 kernels. For 4.14 kernel, the sdma firmware is provided with the firmware-imx package and not in the kernel source tree.
for example, "bitbake core-image-full-cmdline" build the rootfs may not include the firmware-imx. So, you can add
CORE_IMAGE_EXTRA_INSTALL += " firmware-imx-sdma" in local.conf.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Thanks,
i solved mi issue. Mainly, on 4.9 there was a different Makefile for the firmware folder, that was creating the sdma-imx6q.bin and build it in. I replicated same makefile part in 4.14, all is working fine now.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Angelo,
I've the same problem you describe.I will be grateful if you could indicate where is located the makefile you speak.about.
Christophe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
bsp imx 4.9 was including a folder "firmarwe".
firmware/Makefile is where sdma-imx6q.bin get built in.
Mainly the makefile checks if SDMA driver is selected, then it builds into kernel the sdma-imx6q.bin.
You can verify if it's built in just by a hex editor in the kernel binary, you will find an ASCII SDMA mark signature before the firmware.
Regards
angelo

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Angelo,
Thanks to you, it works fine.
Rgds,
Christophe
