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?