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

- List: linux-fbdev
- 5 messages, 4 authors
- Page: https://ratatoskr.run/linux-fbdev/2014/03/8087091/t

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

- From: Rob Herring \<hidden\>
- Date: 2014-03-10 21:45:58 
- Message: https://ratatoskr.run/linux-fbdev/2014/03/8087091.md

```text
On Fri, Feb 28, 2014 at 10:25 AM, Philipp Zabel [ref] 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 <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
```

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

- From: Tomi Valkeinen \<hidden\>
- Date: 2014-03-11 06:39:11 
- Message: https://ratatoskr.run/linux-fbdev/2014/03/8087113.md

```text
On 10/03/14 23:45, Rob Herring wrote:

> I like this proposal over the others. Although, would dual link be a

I don't like inferring the information. With the above, you can't find
out that the DVI connector has digital and analog support before all the
drivers are loaded.

> single endpoint or 2 endpoints? How would you differentiate that?

Hmm, well endpoints for a single port are exclusive. So it's either a
single port and a single endpoint, or two ports and two endpoints. I
think dual link has to be single port & endpoint, as the TMDS links need
to be driven together as a single bus.

And dual-link is not really "two links". DVI dual-link means 1 clock
lane and 6 data lanes, compared to 1 clock lane and 3 data lanes for
single-link.

> The port node seems a bit pointless.

There's another thread discussing the ports and endpoints.

The port node represents, for example, the pins for the connection for
that device. And an endpoint-endpoint link represents wires between two
ports.

 Tomi


```

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

- From: Geert Uytterhoeven \<geert@linux-m68k.org\>
- Date: 2014-03-11 08:00:12 
- Message: https://ratatoskr.run/linux-fbdev/2014/03/8087117.md

```text
On Tue, Mar 11, 2014 at 7:39 AM, Tomi Valkeinen [ref] wrote:
> On 10/03/14 23:45, Rob Herring wrote:
>> I like this proposal over the others. Although, would dual link be a
>
> I don't like inferring the information. With the above, you can't find
> out that the DVI connector has digital and analog support before all the
> drivers are loaded.
>
>> single endpoint or 2 endpoints? How would you differentiate that?
>
> Hmm, well endpoints for a single port are exclusive. So it's either a
> single port and a single endpoint, or two ports and two endpoints. I
> think dual link has to be single port & endpoint, as the TMDS links need
> to be driven together as a single bus.
>
> And dual-link is not really "two links". DVI dual-link means 1 clock
> lane and 6 data lanes, compared to 1 clock lane and 3 data lanes for
> single-link.

What about having a property for the number of data lanes?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
```

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

- From: Tomi Valkeinen \<hidden\>
- Date: 2014-03-11 08:04:21 
- Message: https://ratatoskr.run/linux-fbdev/2014/03/8087118.md

```text
On 11/03/14 10:00, Geert Uytterhoeven wrote:
> On Tue, Mar 11, 2014 at 7:39 AM, Tomi Valkeinen [ref] wrote:
>> On 10/03/14 23:45, Rob Herring wrote:
>>> I like this proposal over the others. Although, would dual link be a
>>
>> I don't like inferring the information. With the above, you can't find
>> out that the DVI connector has digital and analog support before all the
>> drivers are loaded.
>>
>>> single endpoint or 2 endpoints? How would you differentiate that?
>>
>> Hmm, well endpoints for a single port are exclusive. So it's either a
>> single port and a single endpoint, or two ports and two endpoints. I
>> think dual link has to be single port & endpoint, as the TMDS links need
>> to be driven together as a single bus.
>>
>> And dual-link is not really "two links". DVI dual-link means 1 clock
>> lane and 6 data lanes, compared to 1 clock lane and 3 data lanes for
>> single-link.
> 
> What about having a property for the number of data lanes?

That was already suggested by Philipp in this thread. I don't see
anything wrong with that, but I don't really see benefit either.
"dual-link" is a standard term for 6 data lanes for the DVI connector.
And the choices are 3 or 6 data lanes, nothing else.

 Tomi


```

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

- From: Philipp Zabel \<p.zabel@pengutronix.de\>
- Date: 2014-03-11 11:19:00 
- Message: https://ratatoskr.run/linux-fbdev/2014/03/8087132.md

```text
Am Dienstag, den 11.03.2014, 10:04 +0200 schrieb Tomi Valkeinen:
> On 11/03/14 10:00, Geert Uytterhoeven wrote:
> > On Tue, Mar 11, 2014 at 7:39 AM, Tomi Valkeinen [ref] wrote:
> >> On 10/03/14 23:45, Rob Herring wrote:
> >>> I like this proposal over the others. Although, would dual link be a
> >>
> >> I don't like inferring the information. With the above, you can't find
> >> out that the DVI connector has digital and analog support before all the
> >> drivers are loaded.
> >>
> >>> single endpoint or 2 endpoints? How would you differentiate that?
> >>
> >> Hmm, well endpoints for a single port are exclusive. So it's either a
> >> single port and a single endpoint, or two ports and two endpoints. I
> >> think dual link has to be single port & endpoint, as the TMDS links need
> >> to be driven together as a single bus.
> >>
> >> And dual-link is not really "two links". DVI dual-link means 1 clock
> >> lane and 6 data lanes, compared to 1 clock lane and 3 data lanes for
> >> single-link.
> > 
> > What about having a property for the number of data lanes?
> 
> That was already suggested by Philipp in this thread. I don't see
> anything wrong with that, but I don't really see benefit either.
> "dual-link" is a standard term for 6 data lanes for the DVI connector.
> And the choices are 3 or 6 data lanes, nothing else.

The number of lanes of a DisplayPort connector could be 1 to 4. Also,
there's dual-mode DP which can use four lanes to drive
somewhat-like-HDMI single link TMDS signals.

regards
Philipp

```
