Yocto build external firmware error

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

Yocto build external firmware error

5,480 Views
Dhevan
Contributor IV

Hi,

     We are using imx8m mini evk board.

     BSP Version - 5.4.24 linux bsp.

     yocto compilation everything was successful but after flashed image file to emmc after booting we are getting error message.

  

NXP i.MX Release Distro 5.4-zeus eht3pt ttymxc1

eht3pt login: root
[   11.873939] audit: type=1006 audit(1609762368.660:2): pid=637 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
root@eht3pt:~# 
root@eht3pt:~# [   60.383197] imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware
[   60.383352] imx-sdma 302b0000.dma-controller: external firmware not found, using ROM firmware
[   60.397676] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[   60.410759] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin

root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# [   64.479176] cfg80211: failed to load regulatory.db

root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# [  121.823175] imx-sdma 30bd0000.dma-controller: external firmware not found, using ROM firmware

    Firmware module added into yocto conf file.

   Why we are getting above errors ?

   Because of these error reboot also not happening.

   Please help us to solve this issue.

Regards,

 Vasu 

0 Kudos
9 Replies

5,454 Views
jimmychan
NXP TechSupport
NXP TechSupport
0 Kudos

5,396 Views
Dhevan
Contributor IV

Hi @jimmychan 

       @ceggers1 mentioned manually adding method.

       I have added linux-firmware in yocto conf but sdma not added.

       We are using imx8m mini evk board.

       BSP Version - 5.4.24 linux bsp.

       Which yocto stable version we need to use ?

       Latest yocto version also having same issue ?

 

Thanks & Regards,

        Vasu

0 Kudos

5,444 Views
Dhevan
Contributor IV

Hi Guys,

     Thank for your reply.

     Solution 2: Build the imx-sdma driver as a kernel module. At the time when the module is loaded, also the SDMA firmware file will be available.

     I had followed above steps but getting same error.

  Followed Steps :

  1. bitbake linux-imx -c menuconfig
  2. Drivers -> DMA Engine Support -> i.MX SDMA support  [M]
  3. bitbake linux-imx -f -c compile
  4. bitbake core-image-minimal
root@eht3pt:~# [   33.763442] VSD_3V3: disabling

root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# 
root@eht3pt:~# [   64.483565] cfg80211: failed to load regulatory.db
[   66.531570] imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware
[   66.531735] imx-sdma 30bd0000.dma-controller: external firmware not found, using ROM firmware
[   66.531778] imx-sdma 302b0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[   66.531784] imx-sdma 302b0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin

 

Thanks & Regards,

       Vasu

 

0 Kudos

5,381 Views
jimmychan
NXP TechSupport
NXP TechSupport

Please try : bitbake core-image-minimal -f

0 Kudos

5,438 Views
ceggers1
Contributor IV

Hi Vasu,

please check

  • The kernel config (zgrep SDMA /proc/config.gz)
  • The firmware file (should be located here: /lib/firmware/imx/sdma/sdma-imx7d.bin)

regards
Christian

0 Kudos

5,428 Views
Dhevan
Contributor IV

Hi @ceggers1 

      The firmware file (should be located here: /lib/firmware/imx/sdma/sdma-imx7d.bin).

           - bin file not present in the above location.

      local.conf added

           - linux-firmware
           - firmware-imx

     Anything else needs to add ?

Thanks & Regards,

        Vasu

       

0 Kudos

5,416 Views
ceggers1
Contributor IV

Hi Vasu,

does the SDMA firmware file now exist on you file system. If it's still missing, you can download it here:

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/imx/sdma

Do you still have firmware loading problems now?

regards,
Christian

0 Kudos

5,398 Views
Dhevan
Contributor IV

Hi @ceggers1,

       Manually copied into /lib/firmware/imx/sdma/ location.

       Now not showing missing bin file.

     

root@eht3pt:~# [   33.759426] VSD_3V3: disabling
root@eht3pt:~# [   64.706124] cfg80211: failed to load regulatory.db

      Why above two line is printing.

      How to solve above two line issue.

 

Thanks & Regards,

         Vasu

0 Kudos

5,468 Views
ceggers1
Contributor IV

Hi,

please compile the i.MX SDMA driver as a kernel module (instead of static linking). For further explanation please see my existing answers to the same question.

regards
Christian

0 Kudos