It is based on 3.0.35 GA 4.1.0 BSP.
It is the updated IPU code for MIPI ID and SMFC setting in ipu_capture.c. These setting should not be combined with MIPI virtual channel value, they shoule be fixed with ID 0.
The sample code to modify ov5640_mipi camera to use virtual channel 3 on SabreSD board.
The followed command can be used to verify the mipi camera function after booted into Linux:
$ gst-launch mfw_v4lsrc capture-mode=1 device=/dev/video1 ! mfw_v4lsink
Added the patch for 3.10.17_GA1.0.0 BSP. "L3.10.17_1.0.0_mipi_camera_virtual_channel_3.zip"
Do you know which virtual channel number using in OV5640_mipi.c base on 3.14.28 BSP ?
It is vc=1 in default BSP for ov5640_mipi.
Hi Qiang Li
But why our device tree is define (i.MX6Q)
status = "okay";
ipu_id = <0>;
csi_id = <1>;
v_channel = <0>;
lanes = <2>;
In default BSP, the v_channel from mipi_csi of the device tree is not used as real virtual channel setting, it must be 0.
And the csi_id from ov5640_mipi of the device tree is used as the real virtual channel setting in driver.
They will make user confused, that's why I created these patches to make everything more reasonable.
It is very help us to know more detail.
Hi, Qiang Li:
DI include vc and datatype. why the ipu driver ignore vc. like follow:
VC is not used in IPU side, it must be filled with 0.
I knew that, DI create by camera in the packet. But ipu-csi CSI_DI register is a match value, route the packet where to go?
No, the DI tells the IPU to capture which kind of data, for example YUV422 or RGB888.