We have an OV2640 Parallel camera and want to interface it with the Colibri iMX6 board. The problem is that the driver for OV2640 provided in linux-toradex is not updated to use the “device-tree way” for configuring platform drivers. I have seen some patches that modify the driver for some specific needs.
Would you recommend modifying the driver to support DT configuration?
Also, do you have support for other Parallel cameras apart from the “Analogue Camera Module”? (I have seen you have a modified driver for max9526)
Thanks in advance.
Please note that Freescale/NXP uses their own variant of camera driver and not the standardized soc-camera api.
The available drivers can be found in drivers/media/platform/mxc/capture.
So you likely will not be able to use the OV2640 soc-camera driver and thus will not benefit from adding device-tree support.
Note that the i.MX_BSP_Porting_Guide.pdf from NXP’s Linux Documentation bundle has some information of writing a driver for a not yet supported camera.
For the parallel camera interface we only tested the Video ADCs AD7180/MAX9526 and (recently added) ADV7280.
We did not test the driver for an OV5640 sensor connected over a parallel interface.
I hope it is OK to comment here instead of opening a new question. If the purpose is to add a camera (ether analog or CSI) to the Colibri series CSI interface, is an external chip such as ADV7280 still the best way to go? Any updates on new chips you have tested?
I hope it is OK to comment here instead of opening a new question.
Well, its one thread one topic. I’d think your questions would have merited a new thread.
If the purpose is to add a camera (ether analog or CSI) to the Colibri series CSI interface, is an external chip such as ADV7280 still the best way to go? Any updates on new chips you have tested?
Using the term CSI is ambigous. Freescale for long used this 3 letter abbreviation for Camera Sensor Interface, a generic term for any interface. On the Colibri iMX6 you can only connect to the parallel camera interface.
The MIPI Alliance decided to use CSI for their camera serial interface specification, nowadays you find this often spelled as ‘MIPI CSI2’.
The ADV7280 chip is a video ADC which converts from analogue video formats to a digital video stream. The flavour we use on our ‘Analogue Camera Adapter’ provides parallel video data.
We did not test / implement any new video ADC. ADV7280/ADV7281 and MAX9526 are the only drivers in the Linux kernel which we tested to digitize analogue camera signals.
If your video stream is already available in compatible digital format the chips mentioned above are of no use to you. However you likely need some sort of driver in the kernel which talks to e.g. your camera to coordinate the camera with the parallel CSI receiving part.