基于3.14.52-r0版本内核,根据iMX6DQ ISL79985/79987 MIPI CSI2 CVBS camera surround view solution for Linux BSP链接的内容添加isl79985驱动,测试发现通道1,2,3都没有问题,通道0总是显示timeout,跟踪发现应该是IPU_IRQ_CSI0_OUT_EOF中断没有相应,有什么解决方法吗?
打印信息如下:
root@imx6qsabresd:# ./mxc_v4l2_tvin.out -ow 800 -oh 600
In MVC: mxc_v4l_open vc:0 ipu:0,csi:0
isl79985 power on -accept
isl79985 ioctl_init vc:0
isl79985_hardware_init()
mxc_mipi_csi2 21dc000.mipi_csi: mipi_csi2_reset: mipi_lane_bps = 432 Mbps
mxc_mipi_csi2 21dc000.mipi_csi: mipi_csi2_reset: value = 0xc.
ERROR: unrecognized std! 0 (PAL=ff, NTSC=b000
ERROR: unrecognized std! 0 (PAL=ff, NTSC=b000
On mxc_v4l2_s_fmt ipu_id:0 csi:0 mipi_v_channel:0
field:8
pixelformat:59565955
720x576
g_in_width = 720, g_in_height = 576.
fb_fix.id = DISP4 FG.
fb: smem_start = 0x45800000, smem_len = 0x2bf200.
fb: frame buffer size = 0xea600 bytes.
fcsi_enc_setup ipu_id:0 csi:0 mipi_v_channel:0
b: g_screen_info.xres = 800, g_sc
In csi_enc_setup cam->is_mipi_cam:1 cam->input_fmt.fmt.pix.field:0
reen_info.yres = 600.
fb: g_dis
In csi_enc_setup cam->v2f.fmt.pix.field:8
play_left = 0.
fb: g_display_toin csi_enc_setup ipu_id:0 csi_id:0
p = 0.
fb: g_display_width = 80in csi_enc_setup mipi_vc:0 mipi_id:0x1e
0.
fb: g_display_height = 600.
start time = 1482168033 s, 879244 us
ch0 timeout!! loop:0
ch0 timeout!! loop:1
ch0 timeout!! loop:2
ch0 timeout!! loop:3
ch0 timeout!! loop:4
ch0 ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0 loop:5
VIDIOC_DQBUF failed.
imx-ipuv3 2400000.ipu: $$CSI stop timeout
In MVC:mxc_v4l_close vc:0 ipu:0,csi:0
isl79985 power off -accept
你说的“先启动程序再插摄像头倒是会出现跳屏”,我遇到了,请问:时序出现错误应该怎么处理呢?