| Subject | Re: [PATCH v3 00/24] i.MX Media Driver | From | Steve Longerbeam <> | Date | Tue, 14 Feb 2017 18:27:09 -0800 |
| |
Hi Philipp,
I've created a test branch off my imx-media-staging-md-wip called tc358743, which cherry-picks a couple of your commits from your imx-media-staging-md-wip branch:
[media] tc358743: set entity function to video interface bridge [media] tc358743: put lanes in STOP state before starting streaming
And one more commit that enables the tc358743 in the DT for sabrelite:
ARM: dts: imx6-sabrelite: switch to tc358743
which is based off your work in imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi.
With that the tc358743 is loading fine, and is present in the media graph:
root@mx6q:~# dmesg | grep -i tc358 [ 11.056799] imx-media: Registered subdev tc358743 1-000f [ 11.122133] imx-media: imx_media_create_link: tc358743 1-000f:0 -> imx6-mipi-csi2:0 [ 11.490274] tc358743 1-000f: tc358743 found @ 0x1e (21a4000.i2c)
But I'm not able to get to testing streaming yet, see below.
On 01/31/2017 05:54 AM, Philipp Zabel wrote: > Hi Steve, > > I have just tested the imx-media-staging-md-wip branch on a Nitrogen6X > with a tc358743 (BD_HDMI_MIPI HDMI to MIPI CSI-2 receiver board). Some > observations: > > # Link pipeline > media-ctl -l "'tc358743 1-000f':0->'imx6-mipi-csi2':0[1]" > media-ctl -l "'imx6-mipi-csi2':1->'ipu1_csi0_mux':0[1]" > media-ctl -l "'ipu1_csi0_mux':2->'ipu1_csi0':0[1]" > media-ctl -l "'ipu1_csi0':2->'ipu1_csi0 capture':0[1]"
This works fine, I can create these links.
> > # Provide an EDID to the HDMI source > v4l2-ctl -d /dev/v4l-subdev2 --set-edid=file=edid-1080p.hex
I can probably generate this Intel hex file myself from sysfs edid outputs, but for convenience do you mind sending me this file? I have a 1080p HDMI source I can plug into the tc358743.
The other problem here is that my version of v4l2-ctl, built from master branch of git@github.com:gjasny/v4l-utils.git, does not support taking a subdev node:
root@mx6q:~# v4l2-ctl -d /dev/v4l-subdev15 --get-edid=format=hex VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device /dev/v4l-subdev15: not a v4l2 node
Is this something you added yourself, or where can I find this version of v4l2-ctrl?
Thanks, Steve
> # At this point the HDMI source is enabled and sends a 1080p60 signal > # Configure detected DV timings > media-ctl --set-dv "'tc358743 1-000f':0" > > # Set pad formats > media-ctl --set-v4l2 "'tc358743 1-000f':0[fmt:UYVY/1920x1080]" > media-ctl --set-v4l2 "'imx6-mipi-csi2':1[fmt:UYVY2X8/1920x1080]" > media-ctl --set-v4l2 "'ipu1_csi0_mux':2[fmt:UYVY2X8/1920x1080]" > media-ctl --set-v4l2 "'ipu1_csi0':2[fmt:AYUV32/1920x1080]" > > v4l2-ctl -d /dev/video4 -V > # This still is configured to 640x480, which is inconsistent with > # the 'ipu1_csi0':2 pad format. The pad set_fmt above should > # have set this, too. > > v4l2-ctl --list-formats -d /dev/video4 > # This lists all the RGB formats, which it shouldn't. There is > # no CSC in this pipeline, so we should be limited to YUV formats > # only. > > # Set capture format > v4l2-ctl -d /dev/video4 -v width=1920,height=1080,pixelformat=UYVY > > v4l2-ctl -d /dev/video4 -V > # Now the capture format is correctly configured to 1920x1080. > > v4l2-ctl -d 4 --list-frameintervals=width=1920,height=1080,pixelformat=UYVY > # This lists nothing. We should at least provide the 'ipu1_csi0':2 pad > # frame interval. In the future this should list fractions achievable > # via frame skipping. > > v4l2-compliance -d /dev/video4 > # This fails two tests: > # fail: v4l2-test-input-output.cpp(383): std == 0 > # fail: v4l2-test-input-output.cpp(449): invalid attributes for input 0 > # test VIDIOC_G/S/ENUMINPUT: FAIL > # and > # fail: v4l2-test-controls.cpp(782): subscribe event for control 'User Controls' failed > # test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL > > # (Slowly) stream JPEG images to a display host: > gst-launch-1.0 -v v4l2src device=/dev/video4 ! jpegenc ! rtpjpegpay ! udpsink > > I've done this a few times, and sometimes I only get a "ipu1_csi0: EOF > timeout" message when starting streaming. > > regards > Philipp >
|