imx6 solo vpu firmware binary file not found

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

imx6 solo vpu firmware binary file not found

5,140 Views
hkh
Contributor II

I am trying to use the VPU to encode the camera input using gstreamer, and I am getting the following error:

root@nitrogen6x:~# gst-launch mfw_v4lsrc ! queue ! vpuenc codec=6 ! matroskamux ! filesink location=./test.avi

MFW_GST_V4LSRC_PLUGIN 3.0.9 build on Apr 16 2014 09:57:53.

[ERR]   Error in opening firmware binary file

[ERR]   Please put bin file to /lib/firmware/vpu folder or export VPU_FW_PATH env

Setting pipeline to PAUSED ...

ERROR: Pipeline doesn't want to pause.

Setting pipeline to NULL ...

Freeing pipeline ...

root@nitrogen6x:~#

If I look in /lib/firmware/vpu folder, I see the following binary file:

root@nitrogen6x:~# ls /lib/firmware/vpu/

vpu_fw_imx6q.bin

On my build computer I can see both vpu_fw_imx6q.bin and vpu_fw_im6dl.bin. From the naming I am guessing these are for Quad and Dual cores. If so, how do I get/generate a bin file for the Solo CPU?

Am I really missing a vpu binary file, or is this error pointing to something different?

My environment:

Boundarydevices Nitrogen6x with iMX6 Solo CPU (with VPU), Silicon rev 1.1

Yocto Dora image with MIPI camera

Kernel: Linux-3.0.35-02991-g3338700 (Kernel was replaced with a version from Boundarydevices that fixes a MIPI clock issue when HDMI is not enabled)

Thanks,

Labels (4)
0 Kudos
9 Replies

1,678 Views
hkh
Contributor II

Thank you Eric and Otavio,

My next question had to do with exactly what Otavio asked. When will this be pushed to Dora? It would be nice if I got a fresh copy of Dora, and everything just worked :-)

For my education, how would I apply a patch from the master branch to Dora?

0 Kudos

1,678 Views
OtavioSalvador
Senior Contributor II

Ok, done now.

Please do 'repo sync' and enjoy :smileyhappy:

0 Kudos

1,678 Views
EricNelson
Senior Contributor II

Hello hkh,

The patch to conf/machine/nitrogen6x.conf adds support for Dual-Lite and Solo:

     https://lists.yoctoproject.org/pipermail/meta-freescale/2014-May/008344.html

And Otavio has committed this on the 'master' branch of meta-fsl-arm-extra:

     https://lists.yoctoproject.org/pipermail/meta-freescale/2014-May/008350.html

I think that answers the original question.

To answer the other question: the VPU warning is expected, though I think it's content-dependent (smaller videos can use IRAM for parts of the decode process).

0 Kudos

1,678 Views
OtavioSalvador
Senior Contributor II

EricNelson, I pushed this to Daisy too.

Do you want this backported to Dora? please let me know...    

0 Kudos

1,678 Views
hkh
Contributor II

I copied vpu_fw_im6d.bin, and it worked... and gplay was able to playback the created file.

I see the following:

root@nitrogen6x:~# gst-launch mfw_v4lsrc ! queue ! vpuenc codec=6 ! matroskamux ! filesink location=./test.avi
MFW_GST_V4LSRC_PLUGIN 3.0.9 build on Apr 16 2014 09:57:53.
Setting pipeline to PAUSED ...
[INFO]  Product Info: i.MX6Q/D/S
vpuenc versions :smileyhappy:
        plugin: 3.0.9
        wrapper: 1.0.40(VPUWRAPPER_ARM_LINUX Build on Apr 16 2014 09:10:08)
        vpulib: 5.4.18
        firmware: 2.3.10.40778ov5640_mipi_camera_powerdown: powerdown=0, power_gp=0xa9

pwm_config: pwm freq = 22000000, clk_select=1 clock_rate=66000000
ov5640_download_autofocus: Downloaded firmware successfully: 0
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[INFO]  chromaInterleave 0, mapType 0, linear2TiledEnable 0
[WARN]  VPU iram is less than needed, some parts don't use iram

Is the warning about VPU iram size normal? Does it have anything to do with CPU being Solo? Or is the VPU identical across all the cpu flavors?

Thanks

0 Kudos

1,678 Views
hkh
Contributor II

Hello Eric,

Yes, it seems like not many people are using the Solo flavor.

I don't know where I came up with vpu_fw_im6dl.bin. I just looked again and I can only find vpu_fw_im6d.bin (in addition to vpu_fw_im6q.bin). Does this one work?

Thanks,

0 Kudos

1,678 Views
EricNelson
Senior Contributor II

Hello hkh,

It seems that you're finding lots of bugs!

It appears that there's a flaw in the recipe(s) or machine configuration for Nitrogen6x which prevents the vpu_fw_im6dl.bin file from being installed.

Stay tuned to the Meta-Freescale mailing list for a resolution to that.

In the mean-time, you can simply copy the file vpu_fw_im6dl.bin to your /lib/firmware directory and get up and running.

There aren't any differences in code between the two CPU variants (i.MX6DQ/i.MX6SDL), so the rest will just work.

0 Kudos

1,678 Views
OtavioSalvador
Senior Contributor II

Hello EricNelson,

It seems you need to add mx6dl in SoC family list, as done for Cubox-i. Being the U-Boot loaded from SPI-NOR it is compatible with Q and DL families.

0 Kudos

1,678 Views
EricNelson
Senior Contributor II

Many thanks. Otavio.

This would have taken me a while to figure out!

0 Kudos