AnsweredAssumed Answered

IMX6dl about the mipi_camera ecc error

Question asked by Ian Zhong on Nov 26, 2017
Latest reply on Dec 4, 2017 by Ian Zhong

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?

 

 

Outcomes