sdma-imx6q.bin firmware

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

sdma-imx6q.bin firmware

11,181 Views
angelo_dureghel
Contributor III

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

Labels (1)
7 Replies

7,732 Views
j_lambrecht
Contributor I

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

0 Kudos

7,732 Views
eric20021232000
Contributor I

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.

7,733 Views
jimmychan
NXP TechSupport
NXP TechSupport

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.

0 Kudos

7,733 Views
angelo_dureghel
Contributor III

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.

7,733 Views
christophe
Contributor V

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

0 Kudos

7,733 Views
angelo_dureghel
Contributor III

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

0 Kudos

7,733 Views
christophe
Contributor V

Hi Angelo,

Thanks to you, it works fine.

Rgds,

Christophe

0 Kudos