Re: [PATCH 3/9] Doc/DT: Add DT binding documentation for DVI Connector
From: Rob Herring <hidden>
Date: 2014-03-10 21:45:58
Also in:
dri-devel, linux-arm-kernel, linux-devicetree
On Fri, Feb 28, 2014 at 10:25 AM, Philipp Zabel [off-list ref] wrote:
Am Freitag, den 28.02.2014, 15:59 +0000 schrieb Russell King - ARM Linux:quoted
On Fri, Feb 28, 2014 at 02:20:10PM +0200, Tomi Valkeinen wrote:quoted
Add DT binding documentation for DVI Connector. Signed-off-by: Tomi Valkeinen <redacted> Reviewed-by: Archit Taneja <redacted> --- .../devicetree/bindings/video/dvi-connector.txt | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txtdiff --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