Thread (5 messages) 5 messages, 4 authors, 2014-03-11

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.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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help