I'm currently trying to connect a MA130 Sony Camera (I suspect it's a imx135 camera module) to an iMX6Q via MIPI.
I based my driver on the ov5640_mipi. The MIPI side seems to works fine but the IPU/CSI don't.
I would like to have some thoughts on my configuration. The camera outputs 1080p30 video, YUV422, 81MHz pixel clock, MIPI on 2 lanes. I'm connected to the Virtual channel 0 (I think, I don't have the confirmation) on IPU1 CSI0
This is how I calculated the MIPI clock (for MIPI_CSI2_PHY_TST_CTRL1), using chapter 3.4 of this document:
- 1920*1080*30*1cycle/pixel*blanking = 81MHz -> blanking = 1.24 (coherent)
- MIPI data Rate: 81MHz*16bits = 1296Mb/s
- MIPI Clock: 1296/2/2 = 324MHz (like the datasheet)
- MIPI_CSI2_PHY_TST_CTRL1= 324*2=648MHz register = 0x10
When I start the driver, I got these registers:
Everything seems fine for the MIPI side.
About the IPU
IPU ID = 0, CSI ID = 0
IPU_CONF = 0x10000661
-> CSI_SEL to CSI0, CSI0_DATA_SOURCE, CSI0 enabled
CSI_SENS_CONF = 0x00008A00 (// I tested 0x00008A20 with no success : Gated vs bt656)
CSI_SENS_FRM_SIZE = 0x0437077F //1920*1080
CSI_ACT_FRM_SIZE = 0x0437077F //1920*1080
CSI_OUT_FRM_CTRL = 0x00000000
CSI_TST_CTRL = 0x00000000
CSI_CCIR_CODE_1 = 0x00040030
CSI_CCIR_CODE_2 = 0x00000000
CSI_CCIR_CODE_3 = 0x00FF0000
I configured the pixelformat like the OV5640 : V4L2_PIX_FMT_UYVY,
When I start a gstreamer pipeline I still get the same error:
v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
Did you see any misconfiguration?