Hello all,
I am currently trying to setup the IMX6Q sabresd board running the dora branch of the fsl yocto to work with a TVP5150 video decoder ic on CSI0. I have noticed a lot of places on the community where the chip is mentioned but have not come across any code examples/device settings. I have rewritten the OV5642 file to implement my new driver, set the chip to output BT656 (with embedded syncs) and that is fine the driver settings seem to be configured ok as well because running
./mxc_v4l2_tvin.out -ow 720 -oh 625 -ol 10 -ot 20 -f UYVY
works fine in the respect that nothing moans and i get a black window, but that is it no images, could someone please shed some light? I have attached a few debugs that may be helpful.
root@imx6qsabresd:/unit_tests#GST_DEBUG=*:3 ./mxc_v4l2_tvin.out -ow 720 -oh 625 -ol 10 -ot 20 -f UYVY
ioctl_g_ifparm!
ioctl_init!
ioctl_dev_init!
ioctl_g_chip_ident!
TV decoder chip is tvp5150_cameraioctl_g_parm!
ioctl_s_parm!
ioctl_g_ifparm!
driver=mxc_vout, card=DISP3 FG, bus=, version=0x00000000, capabilities=0x04000002
fmt RGB565: fourcc = 0x50424752
fmt BGR24: fourcc = 0x33524742
fmt RGB24: fourcc = 0x33424752
fmt RGB32: fourcc = 0x34424752
fmt BGR32: fourcc = 0x34524742
fmt NV12: fourcc = 0x3231564e
fmt UYVY: fourcc = 0x59565955
fmt YUYV: fourcc = 0x56595559
fmt YUV422 planar: fourcc = 0x50323234
fmt YUV444: fourcc = 0x34343459
fmt YUV420: fourcc = 0x32315559
fmt YVU420: fourcc = 0x32315659
fmt TILED NV12P: fourcc = 0x50564e54
fmt TILED NV12F: fourcc = 0x46564e54
fmt YUV444 planar: fourcc = 0x50343434
start time = 1399970894 s, 435077 us
root@imx6qsabresd:/unit_tests# GST_DEBUG=*:2 gst-launch mfw_v4lsrc ! mfw_v4lsink
MFW_GST_V4LSRC_PLUGIN 3.0.9 build on Apr 17 2014 10:51:15.w_v4lsrc ! mfw_v4lsink
ioctl_g_ifparm!
ioctl_init!
ioctl_dev_init!
ERROR: v4l2 capture: slave not found!
0:00:00.137862658 1151 0x6ece0 WARN octl_g_ifparm!
m mfw_v4lsink mfw_gst_v4lsink.c:303:mfw_gst_v4l2sink_query_support_formats: unrecognized format:[Y444]YUV444
MFW_GST_V4LSINK_PLUGIN 3.0.9 build on Apr 17 2014 10:51:05.
Setting pipeline to PAUSED ...
ioctl_init!
ioctl_dev_init!
ioctl_g_chip_ident!
ioctl_enum_framesizes!
ioctl_g_parm!
ioctl_s_parm!
ioctl_g_ifparm!
Pipeline is live and does not need PREROLL ...
Setting pipeline imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001
to PLAYING ...
0:00:00.258041658 1151 0x6ece0 WARN bin /home/michaeld/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
0:00:00.304081325 1151 0x2c302600 WARN bin /home/michaeld/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/gst/gstbin.c:2395:gst_bin_do_latency_func:<pipeline0> did not really configure latency of 0:00:00.000000000
full screen size:720x480
0:00:00.304748991 1151 0x2c302600 WARN mfw_v4lsink mfw_gst_v4l.c:1516:mfw_gst_v4l2_display_init: Wrong display width information
0:00:00.304881991 1151 0x2c302600 WARN mfw_v4lsink mfw_gst_v4l.c:1520:mfw_gst_v4l2_display_init: Wrong display height information
[V4L Update Display]: left=0, top=0, width=720, height=480
set v4l display crop sucessfully
set v4l rotate sucessfully
full screen size:720x480
0:00:00.305954325 1151 0x23c30 WARN mfw_v4lsink mfw_gst_v4l.c:1516:mfw_gst_v4l2_display_init: Wrong display width information
0:00:00.306084325 1151 0x23c30 WARN mfw_v4lsink mfw_gst_v4l.c:1520:mfw_gst_v4l2_display_init: Wrong display height information
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 2003870333 ns.
Setting pipeline to PAUSED ...
Running time 0:00:02.004623333 render fps 22.947
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:46
static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
{
if (s == NULL) {
printk("ERROR!! no slave device set!\n");
return -1;
}
printk("ioctl_g_ifparm!\n");
memset(p, 0, sizeof(*p));
p->if_type = V4L2_IF_TYPE_BT656;
p->u.bt656.frame_start_on_rising_vs = 1;
p->u.bt656.swap = 0;
p->u.bt656.nobt_hs_inv = 0;
p->u.bt656.nobt_vs_inv = 0;
p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_BT_8BIT;
p->u.bt656.clock_min = (27000000);
p->u.bt656.clock_max = (27000000);
p->u.bt656.nobt_hs_inv = 1;
p->u.bt656.bt_sync_correct = 0;
/* TVP5150 has a dedicated clock so no clock settings are needed */
return 0;
}
part of probe function
memset(&tvp5150_data, 0, sizeof(tvp5150_data));
tvp5150_data.i2c_client = client;
tvp5150_data.streamcap.timeperframe.denominator = DEFAULT_FPS;
tvp5150_data.streamcap.timeperframe.numerator = 1;
tvp5150_data.pix.width = 720;
tvp5150_data.pix.height = 625;
tvp5150_data.pix.pixelformat = V4L2_PIX_FMT_UYVY;
tvp5150_data.pix.priv = 1;
tvp5150_data.on = true;
part of dev init
tvp5150_data.on = true;
tvp5150_write_reg(0x02, 0x01);// powerdown
tvp5150_write_reg(0x03, 0x0D);// all outputs enabled
tvp5150_write_reg(0x04, 0x00);// autoswitch all formats
tvp5150_write_reg(0x0d, 0x47);// bt656 mode with embedded syncs
tvp5150_write_reg(0x02, 0x04);// powerup
thanks,
Michael Dale
已解决! 转到解答。
Hi michael
for TVP5150 there were solutions, for example below
or do you mean that you have problem only with yocto ?
Best regards
chip
Hi michael
for TVP5150 there were solutions, for example below
or do you mean that you have problem only with yocto ?
Best regards
chip
Hi Michael,
Can you please tell me how did you fixed TVP5150 driver to work with imx6? I also have
Imx6q board with linux 3.10 kernel, tvp5150 driver is in drivers/media/i2c, which does not have
v4l2-int device support, it does not have ioctls_g_ifparam and other ioctls. Can you send me driver
which you have used?
TIA,
-Aarti
Hello Michael Dale,
Thank you for your quick response.
For details please see general advice in document pointed in previous response: Where to post a Discussion? (or if you do not see hyperlink in your browser please use direct link to https://community.freescale.com/docs/DOC-99909 ) .
Regards,
Wlodek_D.