Hi,
we are planning to buy an imx6Dual based board and the primary goal is to acquire frames
from a parallel camera connected through a 16bit data bus clocking it at 100MHz (tentatively).
What I know is, in general, that frame acquisition is performed using the CSI interface of the IPU.
[ALERT - noob level questions below]
First, is there some kind of tutorial available, covering (at least) the macro steps to be done?
Based on the reference manual, CSI_DATA_WIDTH can clearly be set from 8 to 16 bits. Again, in the RM it is intended "for color".
Using a RGB565 as CSI_SENS_DATA_FORMAT, shouldn't a pixel be acquired in one clock tick?
It is better so set it as "Generic Data" ?
and last, in the Linux IPU driver I see that:
arch/arm/plat-mxc/include/mach/ipu-v3.h +424
/*!
* Enumeration of CSI data bus widths.
*/
enum {
IPU_CSI_DATA_WIDTH_4,
IPU_CSI_DATA_WIDTH_8,
IPU_CSI_DATA_WIDTH_10,
IPU_CSI_DATA_WIDTH_16,
};
so it should be supported low level but IPU_CSI_DATA_WIDTH_16 has no use throughout all my current kernel tree.
Conclusive question:
Is this acquisition (at 100MHz) possible? or should I limit the databus to more standard (8/10 bit) data bus?
Thanks for any illuminated soul for the time.
Francesco
Hi Rodrgue,
and thanks for the reply.
As generic data input should it be possible to acquire the frame @100MHz and then postprocess it
as generic data from ram? and is it currently supported in the kernel?
F
Actually as you mentioned there is no mention in the driver of any defines indicating that there is a support to process 16-bit CSI data. This is a limitation of the BSP.
This is why I advise to go for 8-bit, as this should be supported. At least I know that in the latest BSP, there is support for 2 cameras, one of them being the 8-bit CSI as YUV.
Regarding the speed, everything derives from HSP_CLK see in IPU_CSI0_SENS_CONF. It can go up to 264MHz.
So I do not see a limitation here at least.
br