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!
Solved! Go to Solution.
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.
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.
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
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?