On Fri, Feb 28, 2014 at 10:25 AM, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote: > 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@xxxxxx> >> > Reviewed-by: Archit Taneja <archit@xxxxxx> >> > --- >> > .../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@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@2 { > ipu_di0_disp0: endpoint { > remote-endpoint = <&sii902x_in>; > }; > }; > port@3 { > ipu_di1_tve: endpoint { > remote-endpoint = <&tve_in>; > }; > }; > }; > > &sii902x { > compatible = "si,sii9022"; > > port@0 { > sii902x_in: endpoint { > remote-endpoint = <&ipu_di0>; > }; > }; > port@1 { > sii902x_out: endpoint { > remote-endpoint = <&dvi_d_in>; > }; > }; > }; > > &tve { > compatible = "fsl,imx53-tve"; > port@0 { > tve_in: endpoint { > remote-endpoint = <&ipu_di1>; > }; > }; > port@1 { > tve_out: endpoint { > remote-endpoint = <&dvi_a_in>; > }; > }; > }; > > dvi-connector { > compatible = "dvi-connector"; > ddc-i2c-bus = <&i2c3>; > > port { > dvi_d_in: endpoint@0 { > remote-endpoint = <&sii902x_out>; > }; > dvi_a_in: endpoint@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. I like this proposal over the others. Although, would dual link be a single endpoint or 2 endpoints? How would you differentiate that? The port node seems a bit pointless. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html