OV5642 on imx6sx SABRE produces corrupted image

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

OV5642 on imx6sx SABRE produces corrupted image

Jump to solution
773 Views
itsemast
Contributor II

I am using OV5642 camera module from Boundary Devices (Nit6X_5MP) with i.MX 6SoloX board.

I have used the driver used on Nitrogen6_SoloX (ov5642_v2.c) and modified the device tree (imx6sx-sdb.dtsi) accordingly. The camera initializes fine, and I can capture frames from it with yavta or gstreamer, the camera seems to work, it produces sensible output of expected size (16 bits per pixel), I can recognize the shapes and objects in the resulting image, but all colors are wrong. The camera seems to be configured to produce the output in YUYV (56595559) format, but it doesn't seem to be correct.

I have set the camera to produce a color bars test pattern in VGA format, and the resulting capture (gzipped) can be found as an attachment. The bars are obvious there, but I can't get the colors right. If you can recognize the pattern or have an idea what can be causing this (the interface, the driver or DMA), please, share your thoughts!

Labels (2)
Tags (2)
0 Kudos
1 Solution
720 Views
itsemast
Contributor II

Thank you very much for your support! The problem was that only a half of the data bus was connected. With the adapter rewired the camera is now capturing the image correctly.

View solution in original post

0 Kudos
3 Replies
721 Views
itsemast
Contributor II

Thank you very much for your support! The problem was that only a half of the data bus was connected. With the adapter rewired the camera is now capturing the image correctly.

0 Kudos
762 Views
igorpadykov
NXP Employee
NXP Employee

Hi Dima

 

one can try imx6sx-nitrogen6sx.dts

https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_5.4.x_2.2.0/arch/arm/boot/dts

 

Best regards
igor

756 Views
itsemast
Contributor II

Hi Igor,

Thank you very much for your reply! My device tree modifications are based on imx6sx-nitrogen6sx.dts, you can find the diff attached.

The image lacking color information only has the following bytes in it: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F, it seems that the Y component is completely missing from it. Do you think this might be caused by the parallel interface misconfiguration?

0 Kudos