hi experts,
I'am use adv7182 for cvbs decoder, connect to PORTA[7:0].
I had tried configure adv7182 to discrete sync and embedded sync.
but v4l2 driver can't get video frame. I can see adv7182 output clk,hs,vs,vdat[7:0].
1. capture device configuration:
{
.name = "adv7180",
.board_info = {
/* TODO Find the correct address
of the TVP7002 connected */
I2C_BOARD_INFO("adv7180", 0x20),
.platform_data = NULL,
},
.vip_port_cfg = {
.ctrlChanSel = VPS_VIP_CTRL_CHAN_SEL_7_0,
.ancChSel8b = VPS_VIP_ANC_CH_SEL_DONT_CARE,
.pixClkEdgePol = VPS_VIP_PIX_CLK_EDGE_POL_RISING,
.invertFidPol = 0,
.embConfig = {
.errCorrEnable = 1,
.srcNumPos = VPS_VIP_SRC_NUM_POS_DONT_CARE,
.isMaxChan3Bits = 0,
},
.disConfig = {
.fidSkewPostCnt = 0,
.fidSkewPreCnt = 0,
.lineCaptureStyle =
VPS_VIP_LINE_CAPTURE_STYLE_DONT_CARE,
.fidDetectMode =
VPS_VIP_FID_DETECT_MODE_DONT_CARE,
.actvidPol = VPS_VIP_POLARITY_DONT_CARE,
.vsyncPol = VPS_VIP_POLARITY_DONT_CARE,
.hsyncPol = VPS_VIP_POLARITY_DONT_CARE,
}
},
.video_capture_mode =
//VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC,
VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VSYNC,
.video_if_mode = VPS_CAPT_VIDEO_IF_MODE_8BIT,
.input_data_format = FVID2_DF_YUV422P,
}
2. SDK version: ezsdk_dm816x-evm_5_05_02_00
3. firmware load script:
load_firmware_v4l2(){
echo "Loading HDVICP2 Firmware"
prcm_config_app s
insmod $MODULES/syslink.ko
until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
do
sleep 0.5
done
firmware_loader $HDVICP2_ID /software/ti/dm816x_hdvicp.xem3 start -i2c 0
echo "Loading HDVPSS (V4L2) Firmware "
firmware_loader $HDVPSS_ID /software/ti/dm816x_hdvpss_v4l2.xem3 start -i2c 0
insmod $MODULES/vpss.ko sbufaddr=0xBFB00000 mode=hdmi:1080p-60,dvo2:1080p-60,hdcomp:1080p-60 i2c_mode=0
insmod $MODULES/ti81xxfb.ko vram=0:40M,1:1M,2:1M
insmod $MODULES/ti81xxvo.ko
#insmod $MODULES/tvp7002.ko
insmod $MODULES/adv7180.ko
insmod $MODULES/ti81xxvin.ko
fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
insmod $MODULES/ti81xxhdmi.ko
}