[PATCH 3/9] Doc/DT: Add DT binding documentation for DVI Connector

Philipp Zabel p.zabel at pengutronix.de
Fri Feb 28 11:25:17 EST 2014


Am Freitag, den 28.02.2014, 15:59 +0000 schrieb Russell King - ARM
Linux:
> On Fri, Feb 28, 2014 at 02:20:10PM +0200, Tomi Valkeinen wrote:
> > Add DT binding documentation for DVI Connector.
> > 
> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> > Reviewed-by: Archit Taneja <archit at ti.com>
> > ---
> >  .../devicetree/bindings/video/dvi-connector.txt    | 26 ++++++++++++++++++++++
> >  1 file changed, 26 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/video/dvi-connector.txt b/Documentation/devicetree/bindings/video/dvi-connector.txt
> > new file mode 100644
> > index 000000000000..6a0aff866c78
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/video/dvi-connector.txt
> > @@ -0,0 +1,26 @@
> > +DVI Connector
> > +==============
> > +
> > +Required properties:
> > +- compatible: "dvi-connector"
> > +
> > +Optional properties:
> > +- label: a symbolic name for the connector
> > +- i2c-bus: phandle to the i2c bus that is connected to DVI DDC
> > +
> > +Required nodes:
> > +- Video port for DVI input
> > +
> > +Example
> > +-------
> > +
> > +dvi0: connector at 0 {
> > +	compatible = "dvi-connector";
> > +	label = "dvi";
> > +
> > +	i2c-bus = <&i2c3>;
> > +
> > +	dvi_connector_in: endpoint {
> > +		remote-endpoint = <&tfp410_out>;
> > +	};
> > +};
> 
> This looks far too simplistic.  There are different classes of DVI
> connector - there is:
> 
> DVI A - analogue only
> DVI D - digital only (single and dual link)
> DVI I - both (single and dual digital link)
> 
> DRM at least makes a distinction between these three classes, and this
> disctinction is part of the user API.  How would a display system know
> which kind of DVI connector is wired up on the board from this DT
> description?

Maybe this could be inferred from the sources connected to it. For
example a i.MX5 board with the SoC internal TV Encoder and an external
SiI902x HDMI encoder connected to the same DVI I connector:

ipu {
	port at 2 {
		ipu_di0_disp0: endpoint {
			remote-endpoint = <&sii902x_in>;
		};
	};
	port at 3 {
		ipu_di1_tve: endpoint {
			remote-endpoint = <&tve_in>;
		};
	};
};

&sii902x {
	compatible = "si,sii9022";

	port at 0 {
		sii902x_in: endpoint {
			remote-endpoint = <&ipu_di0>;
		};
	};
	port at 1 {
		sii902x_out: endpoint {
			remote-endpoint = <&dvi_d_in>;
		};
	};
};

&tve {
	compatible = "fsl,imx53-tve";
	port at 0 {
		tve_in: endpoint {
			remote-endpoint = <&ipu_di1>;
		};
	};
	port at 1 {
		tve_out: endpoint {
			remote-endpoint = <&dvi_a_in>;
		};
	};
};

dvi-connector {
	compatible = "dvi-connector";
	ddc-i2c-bus = <&i2c3>;

	port {
		dvi_d_in: endpoint at 0 {
			remote-endpoint = <&sii902x_out>;
		};
		dvi_a_in: endpoint at 1 {
			remote-endpoint = <&tve_out>;
		};
	};
};

It should be possible to let the connector know that those two endpoints
are connected to a TMDS source and to a VGA source, respectively.

regards
Philipp




More information about the linux-arm-kernel mailing list