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

Rob Herring robherring2 at gmail.com
Mon Mar 10 17:45:58 EDT 2014


On Fri, Feb 28, 2014 at 10:25 AM, Philipp Zabel <p.zabel at pengutronix.de> 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 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.

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



More information about the linux-arm-kernel mailing list