OV5640 on Colibri IMX8

Hello,

I am testing a Toradex OV5640 camera module with an IMX8 Colibri SOM and cannot seem to get it working. I have connected the camera and checked dmesg for bootup and see the following info about the mipi_csi

colibri-imx8x-06558488:~$ dmesg | grep mipi
[    0.038603] mipi0_dsi_power_domain : no governor for states
[    0.038635] mipi0_dsi_i2c0 : no governor for states
[    0.038642] mipi0_dsi_i2c1 : no governor for states
[    0.038649] mipi0_dsi_pwm0 : no governor for states
[    0.038658] mipi1_dsi_power_domain : no governor for states
[    0.038690] mipi1_dsi_i2c0 : no governor for states
[    0.038697] mipi1_dsi_i2c1 : no governor for states
[    0.038707] mipi1_dsi_pwm0 : no governor for states
[    0.038728] mipi_csi0_power_domain : no governor for states
[    0.038734] mipi_csi0_i2c0 : no governor for states
[    0.038741] mipi_csi0_pwm : no governor for states
  • Also running the --list-devices command in the debian container, I see several listed

    root@7829018ea62e:/media/usb# v4l2-ctl --list-devices
    vpu B0 (platform:):
    /dev/video12
    /dev/video13

    mxc-jpeg decoder (platform:58400000.jpegdec):
    /dev/video0

    mxc-jpeg decoder (platform:58450000.jpegenc):
    /dev/video1

  • When trying to run the gst command to stream to a file, only video13 works and all the other give an error that they are not capture devices.

    root@7829018ea62e:/# gst-launch-1.0 v4l2src device=/dev/video0 ! filesink location=/media/usb/gopro.mp4
    Setting pipeline to PAUSED …
    ERROR: Pipeline doesn’t want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device ‘/dev/video0’ is not a capture device.
    Additional debug info:
    v4l2_calls.c(631): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Capabilities: 0x4208000
    Setting pipeline to NULL …
    Freeing pipeline …
    root@7829018ea62e:/#

Any help would be appreciated. Thks
Mark

Greetings @bigmc,

Just so I have the information before I start investigating what version of the i.MX8X module are you using and what version of Torizon are you running? You can get the Torizon release version via the output of cat /etc/issue.

The version of iMX8 is,

Col iMX8QXP 2GBWB IT V 1.0B

and the Torizon version is,

TorizonCore 4.0.0-devel-202004+build.3

Thks
Mark

Alright I believe I found out what the issue was here. The support for the OV5640 was added after the version of TorizonCore you currently have installed. By next week we plan to release a more up-to-date monthly build for this module. This release should have the OV5640 support.

As a small note when you install A more recent TorizonCore versions do be careful. There are images for the i.MX8QXP 1.0B and then there are images for the i.MX8QXP 1.0C. Due to silicon differences these images are not compatible with one another so make sure to read the description of the image in Easy Installer to make sure you are installing software for the 1.0B. Worst case if you install software meant for 1.0C you’ll need to recover your device back to Easy Installer as it will “soft brick”.

Best Regards,
Jeremias