Recently,I am testing a mipi camera sensor on the imx6dl.I encounter some problems in debug the sensor.
The test environment is:
1.ov9281 camera sensor
2.imx6dl(kernel 3.14.52)
3.using IPU0_CSI1 virtual channel 1
4.data type is RAW8(0x2a) ,this is already match the IMX6DL MIPI DATA TYPE(MIPI_DT_RAW8)
Now the problem is the vc_error_crc and this is some test log:
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x330
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x330
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_PHY_STATE:0x330
MIPI_CSI2_PHY_STATE:0x300
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
MIPI_CSI2_ERR1:0x2002000
mipi csi2 can not reveive data correctly!
mipi_reg = mipi_csi2_get_error1(mipi_csi2_info);
printk("MIPI_CSI2_ERR1:0x%x\n", mipi_reg);
while ((mipi_reg != 0x0) && (i < 10)) {
mipi_reg = mipi_csi2_get_error1(mipi_csi2_info);
i++;
msleep(10);
}
if (i >= 10) {
pr_err("mipi csi2 can not reveive data correctly!\n");
return -1;
}
The log just remind me the vc1_err_crc and err_frame_data_vc1.They mean
Checksum Error detected on Virtual Channel 1
Last received frame, in Virtual Channel 1, had at least one CRC error
How to solve this problem?Who can help me to solve it?
Hi lan
please check mipi errata related to wrong crc (like ERR009704 MIPI: CSI-2: CRC error)
https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov
This is the bmp file.
Hi lan
one can check signal quality with oscilloscope and recheck mipi clocks settings:
Debug steps for customer MIPI sensor.docx
i.MX6Q MIPI CSI2: Capturing RAW12 generic data
Best regards
igor
Hi igorpadykov
Can you also help me about the parallel mode problem?It like a image rolling problem.You can reference the bmp file which i haved upload.
Hi igorpadykov
This reference cant sovle my problem.If I ignore the CRC error,I will get a error pixel arrange.When I ignore the CRC error,the IMX6 will get a frame each about 1~2 second,but I set the camera sensor output is 120fps.What cause this problem?
Now I have a new problem in testing the sensor with dvp mode.I attach the sensor on IPU_CSI0,the solution is 1280*720,ouput is RAW10,fps is 60.
Beacuse the IMX6DL cant overlay the bayer format to the lcd,I cut the pixel arrange that the RAW10 to RAW8 ,just pick the High 8 bit.And I make the to a grey scale BMP file to observed.The bmp look like dislocation.I change the sensor VTS to reduce the fps and attempt to sovle it ,but it cant do that.How can I do?