Hi All,
I use adv7180 on i.mx6q with Android KK BSP. When I want to preview it will log "ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0", the parameter as follow:
preview size : 720 x 576
std: PAL
format: V4L2_PIX_FMT_NV12
check the single from oscilloscope, the CVBS line , csi0 data line, csi0 vsync , csi0hsync all have single, but it seem that csi0 host port don't receive any data from ADV7180. Who can tell me how to debug it ?
This is our debug log :
In MVC: mxc_v4l_open
device name is Mxc Camera
Returning size of 720x625
End of mxc_v4l_open: v2f pix widthxheight 288 x 352
End of mxc_v4l_open: crop_bounds widthxheight 720 x 625
End of mxc_v4l_open: crop_defrect widthxheight 720 x 625
End of mxc_v4l_open: crop_current widthxheight 720 x 625
On Open: Input to ipu size is 720 x 625
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl 80685600
case VIDIOC_QUERYCAP
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl 80085617
case VIDIOC_G_STD
In mxc_v4l2_g_std
MVC: mxc_v4l2_g_std: Changing standard
In mxc_v4l2_s_std ff
Setting standard to PAL ff
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl 40085618
case VIDIOC_S_STD
In mxc_v4l2_s_std ff
Setting standard to PAL ff
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c02c564a
case VIDIOC_ENUM_FRAMESIZES
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c02c564a
case VIDIOC_ENUM_FRAMESIZES
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0045627
case VIDIOC_S_INPUT
In MVC:mxc_streamoff
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0cc5616
case VIDIOC_S_PARM
In mxc_v4l2_s_param
type is V4L2_BUF_TYPE_VIDEO_CAPTURE
Current capabilities are 0
Current capturemode is 0 change to 0
Current framerate is 30 change to 15
clock_curr=mclk=0
Returning size of 720x625
g_fmt_cap returns widthxheight of input as 720 x 625
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0cc5605
case VIDIOC_S_FMT
In MVC: mxc_v4l2_s_fmt
type=V4L2_BUF_TYPE_VIDEO_CAPTURE
format is V4L2_PIX_FMT_NV12
End of mxc_v4l2_s_fmt: v2f pix widthxheight 720 x 576
End of mxc_v4l2_s_fmt: crop_bounds widthxheight 720 x 625
End of mxc_v4l2_s_fmt: crop_defrect widthxheight 720 x 625
End of mxc_v4l2_s_fmt: crop_current widthxheight 720 x 576
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0145608
case VIDIOC_REQBUFS
In MVC:mxc_streamoff
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0445609
case VIDIOC_QUERYBUF
In MVC:mxc_v4l2_release_bufs
In MVC:mxc_v4l2_prepare_bufs
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0445609
case VIDIOC_QUERYBUF
In MVC:mxc_v4l2_release_bufs
In MVC:mxc_v4l2_prepare_bufs
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0445609
case VIDIOC_QUERYBUF
In MVC:mxc_v4l2_release_bufs
In MVC:mxc_v4l2_prepare_bufs
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0445609
case VIDIOC_QUERYBUF
In MVC:mxc_v4l2_release_bufs
In MVC:mxc_v4l2_prepare_bufs
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c044560f
case VIDIOC_QBUF
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c044560f
case VIDIOC_QBUF
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c044560f
case VIDIOC_QBUF
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl 40045612
case VIDIOC_STREAMON
In MVC:mxc_streamon
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl c0445611
case VIDIOC_DQBUF
In MVC:mxc_v4l_dqueue
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
In MVC:mxc_v4l_ioctl
In MVC: mxc_v4l_do_ioctl 40045613
case VIDIOC_STREAMOFF
In MVC:mxc_streamoff
In MVC:mxc_free_frames
BR,
Zoe
解決済! 解決策の投稿を見る。
Hi,
The adv7180 is supported already in the imx6qsabreauto. You could use the camer.apk to test it.
. The procedure of porting TVIN
(1)Adjust BSP files of your design.
As I previously mentioned in our Sabre-AI board, ADV7180 is supported, you could open "myandroid/kernel_imx/arch/arm/mach-mx6/board-mx6q_sabreauto.c" and refer to code for adv7180, then add them into your BSP file.
(2)Adjust HAL code of camera
Hardware Abstract Layer of camera is at path "myandroid/hardware/imx/libcamera/", After reading corresponding code , you will know how to modify them for you design.
I hope that helps,
Alejandro
This is my code, please help to check:
static void adv7180_pwdn(int pwdn)
{
if (pwdn)
gpio_set_value_cansleep(BUS_ADV7180_PWN_EN, 0);
else
gpio_set_value_cansleep(BUS_ADV7180_PWN_EN, 1);
}
static void mx6q_csi0_io_init(void)
{
if (cpu_is_mx6q())
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_csi0_sensor_pads,
ARRAY_SIZE(mx6q_sabresd_csi0_sensor_pads));
else if (cpu_is_mx6dl())
mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_csi0_sensor_pads,
ARRAY_SIZE(mx6dl_sabresd_csi0_sensor_pads));
if (cpu_is_mx6q())
mxc_iomux_set_gpr_register(1, 19, 1, 1);
else if (cpu_is_mx6dl())
mxc_iomux_set_gpr_register(13, 0, 3, 4);
}
static struct fsl_mxc_tvin_platform_data adv7180_data = {
.dvddio_reg = NULL,
.dvdd_reg = NULL,
.avdd_reg = NULL,
.pvdd_reg = NULL,
.pwdn = adv7180_pwdn,
.reset = NULL,
.cvbs = true,
.io_init = mx6q_csi0_io_init,
};
Hi,
The adv7180 is supported already in the imx6qsabreauto. You could use the camer.apk to test it.
. The procedure of porting TVIN
(1)Adjust BSP files of your design.
As I previously mentioned in our Sabre-AI board, ADV7180 is supported, you could open "myandroid/kernel_imx/arch/arm/mach-mx6/board-mx6q_sabreauto.c" and refer to code for adv7180, then add them into your BSP file.
(2)Adjust HAL code of camera
Hardware Abstract Layer of camera is at path "myandroid/hardware/imx/libcamera/", After reading corresponding code , you will know how to modify them for you design.
I hope that helps,
Alejandro
Hi,
The adv7180 have worked well, there is a hardware mistake cause LLC signal do not output to CSI pixel clock pin.
Thanks for your reply.
BR,
Zoe