Message ID | 1393590016-9361-5-git-send-email-tomi.valkeinen@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Feb 28, 2014 at 02:20:11PM +0200, Tomi Valkeinen wrote: > Add DT binding documentation for HDMI Connector. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> > Reviewed-by: Archit Taneja <archit@ti.com> > --- > .../devicetree/bindings/video/hdmi-connector.txt | 23 ++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt > > diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt > new file mode 100644 > index 000000000000..5d25f6a432bb > --- /dev/null > +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt > @@ -0,0 +1,23 @@ > +HDMI Connector > +============== > + > +Required properties: > +- compatible: "hdmi-connector" > + > +Optional properties: > +- label: a symbolic name for the connector > + > +Required nodes: > +- Video port for HDMI input > + > +Example > +------- > + > +hdmi0: connector@1 { > + compatible = "hdmi-connector"; > + label = "hdmi"; > + > + hdmi_connector_in: endpoint { > + remote-endpoint = <&tpd12s015_out>; > + }; > +}; It seems rather weird to have DVI connectors having an optional I2C property, but HDMI (which augments DVI) not having that as at least an optional property. I can quite well see the iMX HDMI support needing an i2c bus here. Also, HDMI has two connector standards - type A and type B, much like the single vs dual link of DVI. Again, DRM exposes this to userspace.
On 28/02/14 18:06, Russell King - ARM Linux wrote: >> +hdmi0: connector@1 { >> + compatible = "hdmi-connector"; >> + label = "hdmi"; >> + >> + hdmi_connector_in: endpoint { >> + remote-endpoint = <&tpd12s015_out>; >> + }; >> +}; > > It seems rather weird to have DVI connectors having an optional I2C > property, but HDMI (which augments DVI) not having that as at least an > optional property. I have added only the properties that I have used. I did think about the i2c for HDMI also, but thought that I don't use it, and so can't test it, and so I could well create a bad binding. And, as I don't see any issue in adding it later, when someone uses it, I decided to leave it out. > I can quite well see the iMX HDMI support needing an i2c bus here. > > Also, HDMI has two connector standards - type A and type B, much like > the single vs dual link of DVI. Again, DRM exposes this to userspace. True, but isn't that just a form factor? No functional differences? But I agree, we can add the two types here also to the compatible string. Tomi
On Fri, Feb 28, 2014 at 06:15:05PM +0200, Tomi Valkeinen wrote: > On 28/02/14 18:06, Russell King - ARM Linux wrote: > > >> +hdmi0: connector@1 { > >> + compatible = "hdmi-connector"; > >> + label = "hdmi"; > >> + > >> + hdmi_connector_in: endpoint { > >> + remote-endpoint = <&tpd12s015_out>; > >> + }; > >> +}; > > > > It seems rather weird to have DVI connectors having an optional I2C > > property, but HDMI (which augments DVI) not having that as at least an > > optional property. > > I have added only the properties that I have used. I did think about the > i2c for HDMI also, but thought that I don't use it, and so can't test > it, and so I could well create a bad binding. > > And, as I don't see any issue in adding it later, when someone uses it, > I decided to leave it out. > > > I can quite well see the iMX HDMI support needing an i2c bus here. > > > > Also, HDMI has two connector standards - type A and type B, much like > > the single vs dual link of DVI. Again, DRM exposes this to userspace. > > True, but isn't that just a form factor? No functional differences? But > I agree, we can add the two types here also to the compatible string. HDMI A is 19 pins carrying TMDS channels 0-2. HDMI B is 29 pins carrying TMDS channels 0-5. So, the difference is the same as the single vs dual link on DVI-D/I connectors. There's actually three HDMI connectors: All three connectors carry all required HDMI signals, including a TMDS link. The Type B connector is slightly larger and carries a second TMDS link, which is necessary to support very high resolution displays using dual link. The Type C connector carries the same signals as the Type A but is more compact and intended for mobile applications. So, Type C and Type A are electrically the same.
On Fri, Feb 28, 2014 at 5:34 PM, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > There's actually three HDMI connectors: > > All three connectors carry all required HDMI signals, including a TMDS > link. The Type B connector is slightly larger and carries a second TMDS > link, which is necessary to support very high resolution displays using > dual link. The Type C connector carries the same signals as the Type A > but is more compact and intended for mobile applications. > > So, Type C and Type A are electrically the same. There's also D (e.g. on BeagleBone Black) and E: http://en.wikipedia.org/wiki/HDMI#Connectors Electrically they seem to be the same as A/C. 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
On 01/03/14 20:58, Geert Uytterhoeven wrote: > On Fri, Feb 28, 2014 at 5:34 PM, Russell King - ARM Linux > <linux@arm.linux.org.uk> wrote: >> There's actually three HDMI connectors: >> >> All three connectors carry all required HDMI signals, including a TMDS >> link. The Type B connector is slightly larger and carries a second TMDS >> link, which is necessary to support very high resolution displays using >> dual link. The Type C connector carries the same signals as the Type A >> but is more compact and intended for mobile applications. >> >> So, Type C and Type A are electrically the same. > > There's also D (e.g. on BeagleBone Black) and E: > > http://en.wikipedia.org/wiki/HDMI#Connectors > > Electrically they seem to be the same as A/C. Right. And then there are the HDMI versions, and things like HDMI Ethernet Channel. After looking at these a bit, I don't think the HDMI connector needs any of those (hdmi version, eth) defined. So... compatible = "hdmi-connector"; type = "a"; Or compatible = "hdmi-connector"; type-a; I don't right away see any big pro with either one compared to the other. Tomi
On Fri, Feb 28, 2014 at 04:06:12PM +0000, Russell King - ARM Linux wrote: > On Fri, Feb 28, 2014 at 02:20:11PM +0200, Tomi Valkeinen wrote: > > Add DT binding documentation for HDMI Connector. > > > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> > > Reviewed-by: Archit Taneja <archit@ti.com> > > --- > > .../devicetree/bindings/video/hdmi-connector.txt | 23 ++++++++++++++++++++++ > > 1 file changed, 23 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt > > > > diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt > > new file mode 100644 > > index 000000000000..5d25f6a432bb > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt > > @@ -0,0 +1,23 @@ > > +HDMI Connector > > +============== > > + > > +Required properties: > > +- compatible: "hdmi-connector" > > + > > +Optional properties: > > +- label: a symbolic name for the connector > > + > > +Required nodes: > > +- Video port for HDMI input > > + > > +Example > > +------- > > + > > +hdmi0: connector@1 { > > + compatible = "hdmi-connector"; > > + label = "hdmi"; > > + > > + hdmi_connector_in: endpoint { > > + remote-endpoint = <&tpd12s015_out>; > > + }; > > +}; > > It seems rather weird to have DVI connectors having an optional I2C > property, but HDMI (which augments DVI) not having that as at least an > optional property. > > I can quite well see the iMX HDMI support needing an i2c bus here. > > Also, HDMI has two connector standards - type A and type B, much like > the single vs dual link of DVI. Again, DRM exposes this to userspace. Yeah, there's a dual-link hdmi standard somewhere. I've never seen it in the wild anywhere though, and newer hdmi all just increase the max link clock to push higher res modes over the wire. Imo can't hurt to just enumerate all type of physical connectors standardized. HDMI revisions themselves are only relevant for the sink (as advertised capabilities in the EDID) and for your hdmi encoder chip (where pretty much just the max dotclock is interesting really). So I don't think we need a hdmi revision in dt for the physical connector. -Daniel
On 01/03/14 20:58, Geert Uytterhoeven wrote: > On Fri, Feb 28, 2014 at 5:34 PM, Russell King - ARM Linux > <linux@arm.linux.org.uk> wrote: >> There's actually three HDMI connectors: >> >> All three connectors carry all required HDMI signals, including a TMDS >> link. The Type B connector is slightly larger and carries a second TMDS >> link, which is necessary to support very high resolution displays using >> dual link. The Type C connector carries the same signals as the Type A >> but is more compact and intended for mobile applications. >> >> So, Type C and Type A are electrically the same. > > There's also D (e.g. on BeagleBone Black) and E: > > http://en.wikipedia.org/wiki/HDMI#Connectors > > Electrically they seem to be the same as A/C. I made the following change compared to the posted version. Tomi @@ -3,6 +3,7 @@ HDMI Connector Required properties: - compatible: "hdmi-connector" +- type: the HDMI connector type: "a", "b", "c", "d" or "e" Optional properties: - label: a symbolic name for the connector @@ -17,6 +18,8 @@ hdmi0: connector@1 { compatible = "hdmi-connector"; label = "hdmi"; + type = "a"; + hdmi_connector_in: endpoint { remote-endpoint = <&tpd12s015_out>; };
diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..5d25f6a432bb --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt @@ -0,0 +1,23 @@ +HDMI Connector +============== + +Required properties: +- compatible: "hdmi-connector" + +Optional properties: +- label: a symbolic name for the connector + +Required nodes: +- Video port for HDMI input + +Example +------- + +hdmi0: connector@1 { + compatible = "hdmi-connector"; + label = "hdmi"; + + hdmi_connector_in: endpoint { + remote-endpoint = <&tpd12s015_out>; + }; +};