Whether we can configure IPU to skip the protection bits of EAV/SAV?

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

Whether we can configure IPU to skip the protection bits of EAV/SAV?

918 Views
liulensan
Contributor I

Hi all:

   Now we use embeded sync(EAV/SAV) to do line and frame sync.

   But we find that some times the data signal be disturbed, then the protection bits(bit0-3) of EAV/SAV are not correct. so we want to disabe the protection bits checking.

   I have try to call _ipu_csi_ccir_err_detection_disable in  ipu_csi_init_interface(the original code is enable protection bits check by call _ipu_csi_ccir_err_detection_enable),

   But it looks like not work, because I also can not capture any TVin video data.

   So my question are:

1. how to disable the detection of EAV/SAV protection bits?

2. and if the protection bits is a wrong value, then whether we can capture the TVin video data?

   Thank you very much!

Labels (4)
0 Kudos
5 Replies

623 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

suggest to reinitialize IPU anew with disabled protection.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

623 Views
liulensan
Contributor I

Hi igorpadykov:

   Thank you for your response!

   I checked _ipu_csi_ccir_err_detection_enable and _ipu_csi_ccir_err_detection_disable.

   I find that these functions is just called at ipu_csi_init_interface,

   Whether I can just reinit csi at mxc_v4l_open and mxc_v4l2_s_param function?    because just these two functions will call ipu_csi_init_interface.

   Thank you!

0 Kudos

623 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

I think you can try that

Best regards

igor

0 Kudos

623 Views
liulensan
Contributor I

Hi igorpadykov:

    I add following code to re-init IPU in mxc_v4l_open and mxc_v4l2_s_param of mxc_v4l2_capture.c

   But it also can not capture any data.

   Do you have some other suggest?

   Thank you very much!


static int mxc_v4l_open(struct file *file)

{

...

ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,

                                        cam->crop_current.height,     

                                        cam->csi);                    

ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,

                                        cam->crop_current.top,        

                                        cam->csi);                    

ipu_csi_init_interface(cam->ipu, cam->crop_bounds.width,

                                        cam->crop_bounds.height,      

                                        cam_fmt.fmt.pix.pixelformat,  

                                        csi_param);                   

+#if 1 //re-init for disable ccir error detect

+ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,

+                                        cam->crop_current.height,     

+                                        cam->csi);                    

+ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,

+                                        cam->crop_current.top,        

+                                       cam->csi);                    

+ipu_csi_init_interface(cam->ipu, cam->crop_bounds.width,

+                                        cam->crop_bounds.height,      

+                                        cam_fmt.fmt.pix.pixelformat,  

+                                       csi_param);                   

+#endif

clk_prepare_enable(sensor->sensor_clk);

vidioc_int_s_power(cam->sensor, 1);

vidioc_int_init(cam->sensor); 

vidioc_int_dev_init(cam->sensor);

0 Kudos

623 Views
igorpadykov
NXP Employee
NXP Employee

From experts:

-----------------------------------------------------------------

1. Customer can set the bit CSIx_CCIR_ERR_DET_EN from register IPUx_CSIx_CCIR_CODE_1 to 0 in order to disable the error detection and correction.

To make a quick test, customer can use /unit_tests/memtool to set and verify this bit.

2. I have never seen this issue before and I don't know what's the consequence of wrong protection bits.

-----------------------------------------------------------------

Best regards

igor

0 Kudos