Hello Champs,
I'm looking at BSP 3.14.28_1.0.0 kernel source.
In a source file, mxc_v4l2_capture.c in drivers/media/platform/mxc/capture directory,
a function "mxc_v4l_open()" just sets 0 to "ext_vsnyc", but sets proper target values to Vsync_pol, Hsync_pol in line 1661 and 1662 like this.
csi_param.Vsync_pol = ifparm.u.bt656.nobt_vs_inv;
csi_param.Hsync_pol = ifparm.u.bt656.nobt_hs_inv;
On the other hand, "mxc_v4l2_s_param()" explicitly sets proper values for Vsync_pol, Hsync_pol and ext_vsync like this:
csi_param.Vsync_pol = ifparm.u.bt656.nobt_vs_inv;
csi_param.Hsync_pol = ifparm.u.bt656.nobt_hs_inv;
csi_param.ext_vsync = ifparm.u.bt656.bt_sync_correct;
Is there any reason why "mxc_v4l_open()" doesn't set "ext_vsnyc" like above?
I just thought, all parameters should be properly set in "mxc_v4l_open()" without calling "mxc_v4l2_s_param()".
BR,
Nori Shinozaki
Hi Nori,
For the case of IPU, please check the ipu-csi.c driver file where the CSI bus config struct fill the ext_vsync accroding to v4l and mbus or csi usage. in case mxc_v4l_open you need to check and/or modify the static struct video_device mxc_v4l_template.
regards
Hello,
Thanks but I can't find ipu-csi.c in the Linux kernels around 3.14.28.
Which version do you refer to?
BR,
Nori Shinozaki