I am trying to capture video stream from ADV7281-M with the i.MX6Q processor (UDOO Quad board). Unfortunately I can not use official AD driver (https://github.com/analogdevicesinc/linux/tree/adv7280) because have to use Kernel 3.0.35.
Currently I am trying with modified "adv7280_mipi_csi2_tvin" (I have added V4L2 routines to it). But unfortunately I always have (even with free run mode):
- ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
I think the issue with my MIPI CSI settings...
Does anybody have any suggestions what is wrong?
I have enabled debug output in the sources, and below some registers values:
[14733.558335] g_fmt_cap returns widthxheight of input as 720 x 525
[14733.562361] End of mxc_v4l2_s_fmt: v2f pix widthxheight 720 x 480
[14733.631804] In MVC:mxc_v4l_ioctl
[14733.631958] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW1 = 0x00000000
[14733.631965] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW2 = 0x00000000
[14733.631972] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW3 = 0x00000000
[14733.631981] imx-ipuv3 imx-ipuv3.0: IPU_FS_DISP_FLOW1 = 0x00000000
[14733.631988] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_FSIZE = 0x00000000
[14733.631996] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_C = 0x00000000
[14733.632003] imx-ipuv3 imx-ipuv3.0: IPU_IC_CONF = 0x00000001
[14733.632010] imx-ipuv3 imx-ipuv3.0: IPU1_INT_STAT_1 = 0x00800000
[14733.632018] imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF = 0x02000A20
[14733.632025] imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE = 0x01DF02CF
[14733.632033] imx-ipuv3 imx-ipuv3.0: CSI_SENS_FRM_SIZE = 0x020C02CF
[14733.632040] imx-ipuv3 imx-ipuv3.0: CSI_MIPI_DI = 0xFFFFFF1E
... timeout here ...
[14743.629028] ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
[14743.635563] In MVC:mxc_v4l_ioctl
[14743.635580] In MVC: mxc_v4l_do_ioctl 40045613
[14743.635593] case VIDIOC_STREAMOFF
[14743.635604] In MVC:mxc_streamoff
[14744.129050] imx-ipuv3 imx-ipuv3.0: CSI stop timeout - 5 * 10ms
[14744.129355] In MVC:mxc_free_frames
[14744.130914] In MVC:mxc_v4l_close
[14744.130930] In MVC:mxc_streamoff
[14744.135823] mxc_v4l_close: release resource
[14744.135842] MVC: In mxc_free_frame_buf
[14744.136607] In MVC:mxc_free_frames
I am the applications engineer for the ADV7281-M. Unfortunately I am not a software engineer so I cannot answer your questions in relation to coding etc.
Are you using an analog devices' ADV7281-M evaluation board? If so you can use the DVP EVAL LATEST SOURCE SOFTWARE to program the ADV7281-M.
I advise programming the ADV7281-M into a free-run mode where it outputs a color-bars test pattern. You can then concentrate on programming the iMX6.
I have written an apps note on how to interface the ADV7281-M with microprocessors. It is called AN-1337_Rev. 0.pdf
and is available at the link below:
ADV7281/ADV7281-M / ADV7281-MA Design Support Files
Analog Devices Inc.
Yes, I am using eval board for ADV7281-M.
At first I tried to use Ain1 channel with NTSC video source, but had nothing.
Now I am trying with free run mode, but result the same... I have nothing.
Thank for the doc, tomorrow I will check clk and data lines with the oscilloscope.
But I thing the issue on the iMX6Q side (MIPI, CSI or IPU settings...).
I have seen the MIPI CSI-2 signal by oscilloscope. It is the same as Figure 2 in your document. Is it the proof that ADV7281-M side works correct? Should I check something else?
Was the ADV7281-M MIPI output connected to the iMX6 when you measured it?
Was the ADV7281-M in free-run mode?
If so then it would prove that the digital back end of the ADV7281-M is working correctly and that the iMX6 was correctly terminating the MIPI signals from the ADV7281-M.
There could still be an issue with the analog front end of the ADV7281-M (e.g. the ADV7281-M could not be able to lock to the incoming analog video). However free-run mode would by-pass this issue and cause the ADV7281-M to output a color bars test pattern over the MIPI CSI-2 link.
I advise concentrating on debugging the iMX6 side. Once the iMX6 is able to display the color bars output from the ADV7281-M you can concentrate on getting the analog front end of the ADV7281-M working.
>>Was the ADV7281-M MIPI output connected to the iMX6 when you measured it?
>>Was the ADV7281-M in free-run mode?
So, currently I am debugging iMX6Q side.