mxc_v4l_dqueue timeout error for adv7180 in i.MX6s processor

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mxc_v4l_dqueue timeout error for adv7180 in i.MX6s processor

382 Views
SheikAjith
Contributor I

Hello team,

 

We are working in analog camera adv7180 device prototype based on i.Mx6s module.

We are using  kernel 6.1.1.We are now trying to bring camera up.

Camera used is MCC-5463 analog camera based on adv7180 sensor(parallel CSI). Resolution is 720x625

 

Following changes have been done in dts file

adv7180: camera@21 {
compatible = "adi,adv7180";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adv7180>;
reg = <0x21>;
status = "okay";
pwn-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>;

interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;

gpr = <&gpr>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <&reg_3p3v>; /* 3.3v, enabled via 2.8 VGEN6 */
AVDD-supply = <&reg_3p3v>; /* 1.8v */
DVDD-supply = <&reg_3p3v>; /* 1.8v */
PVDD-supply = <&reg_3p3v>; /* 1.8v */
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
cvbs = <1>;
max_sensor = <4>;
lanes = <2>;

port {
adv7180_to_ipu1_csi0_mux: endpoint {
remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>;
bus-width = <8>;
hsync-active = <1>;
vsync-active = <1>;
};
};
};

&ipu1_csi0_mux_to_ipu1_csi0 {
lanes = <2>;
bus-width = <8>;
};

&ipu1_csi0_mux_from_parallel_sensor {
remote-endpoint = <&adv7180_to_ipu1_csi0_mux>;
bus-width = <8>;
};

&ipu1_csi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_decoder>;
lanes = <2>;
};


pinctrl_decoder: decodergrp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12 0x1b0b1
MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13 0x1b0b1
MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14 0x1b0b1
MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15 0x1b0b1
MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16 0x1b0b1
MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17 0x1b0b1
MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18 0x1b0b1
MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19 0x1b0b1
MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC 0x1b0b1
MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC 0x1b0b1
MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 0x1b0b1
>;
};

These changes and all done and adv7180_tvin.c driver has been enabled in make menuconfig

With these changes. We have run the mxc_v4l2_capture application and this is the ouput

root@imx6s-ssl:~# ./mx6s_v4l2_capture_uyvy.out -m 0 -t 50 -d /dev/video0
[ 1915.106443] Returning size of 720x625
Found v4l2 capture device /dev/vi[ 1915.526337] type is V4L2_BUF_TYPE_VIDEO_CAPTURE
deo0.
[ 1915.533938] Returning size of 720x625
VIDIOC ENUM FMT failed
root@imx6s-ssl:~#
root@imx6s-ssl:~#

 Can you get what is the reason for this error. I am completely struck up with this.

Hardware wise probed all possible lines. voltage supply, HSYNC,VSYNC, Data lines, pixelclock and all seems fine. So till CPU it seems fine.

But not sure why V4L2 app fails to capture. Even mxc v4l2 Overlay application also fails.

 

I have tried to capture the input video using gstream launcher but I am facing mxc_v4l_dqueue timeout error.

 

root@imx6s-ssl:~# gst-launch-1.0 imxv4l2src num-buffers=1 ! jpegenc ! filesink location=cap1.jpeg
[ 1993.270738] Returning size of 720x625
====== IMXV4L2SRC: 4.7.3 build on Feb 3 2023 05:14:46. ======
Setting pipeline to PAUSED ...[ 1993.711265] Returning size of 720x625

Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 1994.149314] type is V4L2_BUF_TYPE_VIDEO_CAPTURE
[ 1994.155034] Returning size of 720x625

 

[ 2004.325923] ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
[ 2014.565902] ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
[ 2024.805906] ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

 

Please help with this.

Thanks in advance.

Sarjoon

0 Kudos
Reply
1 Reply