Message ID | 20161007160107.5074-17-p.zabel@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Philipp, All, On Fri, Oct 07, 2016 at 06:01:01PM +0200, Philipp Zabel wrote: > Add device tree nodes for the BD_HDMI_MIPI HDMI to MIPI CSI-2 receiver > board with a TC358743 connected to the Nitrogen6X MIPI CSI-2 input > connector. I've tested this series on my Nitrogen6x + BD_HDMI_MIPI daughter board and have a few questions. First, why is the tc358743 node in a separate dtsi file? Is this in order to avoid a failed probe during bootup if the daughter board is not present? Is this what should be done for every capture device that targets this platform (like the OV5640 or OV5642)? Can you provide some details on your testing procedure? In my case I've reached a point where I get the same 'media-ctl --print-dot' output as the one from your cover letter but I can't seem to set the EDID nor to have a gstreamer pipeline (to fakesink). All the EDID v4l2-ctl commands return "Inappropriate ioctl for device". Do not hesitate to CC me to Boundary Devices related patches so I can test them and give some feedback. Regards, Gary -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Gary, Am Montag, den 10.10.2016, 17:48 +0200 schrieb Gary Bisson: > Hi Philipp, All, > > On Fri, Oct 07, 2016 at 06:01:01PM +0200, Philipp Zabel wrote: > > Add device tree nodes for the BD_HDMI_MIPI HDMI to MIPI CSI-2 receiver > > board with a TC358743 connected to the Nitrogen6X MIPI CSI-2 input > > connector. > > I've tested this series on my Nitrogen6x + BD_HDMI_MIPI daughter board > and have a few questions. > > First, why is the tc358743 node in a separate dtsi file? Is this in > order to avoid a failed probe during bootup if the daughter board is > not present? Is this what should be done for every capture device that > targets this platform (like the OV5640 or OV5642)? > > Can you provide some details on your testing procedure? In my case I've > reached a point where I get the same 'media-ctl --print-dot' output as > the one from your cover letter but I can't seem to set the EDID nor to > have a gstreamer pipeline (to fakesink). If I force EDID on the sender, it also works without setting EDID on the tc358743: # Make the detected dv timings current on TC358743 media-ctl --set-dv '"tc358743 1-000f":0' # Enable link between TC358743 and MIPI CSI-2 receiver, set format media-ctl --links '"tc358743 1-000f":0->"mipi-csi2":0[1]' media-ctl --set-v4l2 '"tc358743 1-000f":0[fmt:UYVY/1920x1080]' # Enable link between MIPI CSI-2 receiver and mux, set format, # this switches the mux input to MIPI CSI-2 media-ctl --links '"mipi-csi2":1->"mipi_ipu1_mux":0[1]' media-ctl --set-v4l2 '"mipi-csi2":1[fmt:UYVY/1920x1080]' # Enable link between mux and CSI, set format media-ctl --links '"mipi_ipu1_mux":2->"IPU0 CSI0":0[1]' media-ctl --set-v4l2 '"mipi_ipu1_mux":2[fmt:UYVY/1920x1080]' # this disables frame skipping and sets the nominal frame interval # that will be returned by v4l2-ctl --get-parm media-ctl --set-v4l2 '"IPU0 CSI0":0[fmt:UYVY/1920x1080@1/60]' # Set capture format at CSI output media-ctl --set-v4l2 '"IPU0 CSI0":1[fmt:UYVY2X8/960x540]' I'd like to handle this format propagation in libv4l2. # Capture gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=YUY2,framerate=30/1 ! kmssink > All the EDID v4l2-ctl commands > return "Inappropriate ioctl for device". The capture driver currently does not collect its subdevices' controls to present them on the main video device. Also this would only work for controls that appear only once in the configured pipeline. I once hacked v4l2-ctl to allow it to directly set subdev controls on the /dev/v4l2-subdev nodes: https://patchwork.kernel.org/patch/6097201/ but the correct solution seems to be to have a subdevice specific QUERYCAP alternative. > Do not hesitate to CC me to Boundary Devices related patches so I can > test them and give some feedback. I'll do that, thanks in advance for testing. regards Philipp -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi new file mode 100644 index 0000000..e110874 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi @@ -0,0 +1,73 @@ +/* + * Copyright 2015 Philipp Zabel, Pengutronix + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + hdmi_osc: hdmi-osc { + compatible = "fixed-clock"; + clock-output-names = "hdmi-osc"; + clock-frequency = <27000000>; + #clock-cells = <0>; + }; +}; + +&i2c2 { + tc358743: tc358743@0f { + compatible = "toshiba,tc358743"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_tc358743>; + reg = <0x0f>; + clocks = <&hdmi_osc>; + clock-names = "refclk"; + reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; + interrupt-parent = <&gpio2>; + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; + + port@0 { + tc358743_out: endpoint { + remote-endpoint = <&mipi_csi2_in>; + data-lanes = <1 2 3 4>; + clock-lanes = <0>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <297000000>; + }; + }; + }; +}; + +&iomuxc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog>; + + imx6q-nitrogen6x-tc358743 { + pinctrl_tc358743: tc358743grp { + fsl,pins = < + MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x4000b0b0 /* RESETN */ + MX6QDL_PAD_NANDF_D5__GPIO2_IO05 0x400130b0 /* INT */ + >; + }; + }; +}; + +&mipi_csi { + status = "okay"; + + port@0 { + mipi_csi2_in: endpoint { + remote-endpoint = <&tc358743_out>; + data-lanes = <1 2 3 4>; + clock-lanes = <0>; + clock-noncontinuous; + link-frequencies = /bits/ 64 <297000000>; + }; + }; +};
Add device tree nodes for the BD_HDMI_MIPI HDMI to MIPI CSI-2 receiver board with a TC358743 connected to the Nitrogen6X MIPI CSI-2 input connector. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> --- .../boot/dts/imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qdl-nitrogen6x-bd-hdmi-mipi.dtsi