Hi,
I have a digital camera could outputs YUV422 BT.656 format video.This camera only supplys DATA[0:7] and PCLK singals,without HS and VS.
The camera was connected to DM3730 camera interface cam_d[0:7] and cam_pclk, and the cam_vs and cam_hs pin was connected to the ground to draw low.
I modified the tvp514x Linux device driver to work as my camera driver,and add codes in board-omap3evm-camera.c as follows,
static struct isp_interface_config camera_if_config = {
.ccdc_par_ser = ISP_PARLL_YUV_BT,
.dataline_shift = 0x0,
.hsvs_syncdetect = ISPCTRL_SYNC_DETECT_VSRISE,
.strobe = 0x0,
.prestrobe = 0x0,
.shutter = 0x0,
.wait_hs_vs = 2,
.u.par.par_bridge = 0x0,
.u.par.par_clk_pol = 0x0,
};
static struct v4l2_ifparm ifparm = {
.if_type = V4L2_IF_TYPE_BT656,
.u = {
.bt656 = {
.frame_start_on_rising_vs = 1,
.bt_sync_correct = 0,
.swap = 0,
.latch_clk_inv = 0,
.nobt_hs_inv = 0, /* active high */
.nobt_vs_inv = 0, /* active high */
.mode = V4L2_IF_TYPE_BT656_MODE_BT_8BIT,
.clock_min = TVP514X_XCLK_BT656,
.clock_max = TVP514X_XCLK_BT656,
},
},
};
Compiling the linux kernel without any error,camera could be found by linux system.
But when running the saMmapLoop demo,application stop at the VIDIOC_DQBUF.
Then,Something strange happened.
Application went on running and image couled be captured successfully,when a oscilloscope's TEST leads touch the DM3730 cam_vs pin.
It is possible that a rising edge was created when oscilloscope's TEST leads touch the DM3730 cam_vs ,then, camera interrupt was triggerred and image could be captured.
My question is that "Wether or not the cam_vs pin with sync singal is needed to trigger camera interrupt, although when DM3730 camera interface work in BT656 mode".