IMX6dl about the mipi_camera ecc error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6dl about the mipi_camera ecc error

1,675 Views
ziain
Contributor I

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?

 

0 Kudos
5 Replies

1,041 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,041 Views
ziain
Contributor I

Hi igorpadykov

 This is the bmp file.8.bmp

0 Kudos

1,041 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos

1,041 Views
ziain
Contributor I

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.

0 Kudos

1,041 Views
ziain
Contributor I

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?

0 Kudos