devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
To: Jean-Francois Moine <moinejf-GANU6spQydw@public.gmane.org>
Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	Dave Airlie <airlied-cv59FeDIM0c@public.gmane.org>,
	Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v7 4/8] drm/sunxi: Add DT bindings documentation of Allwinner HDMI
Date: Wed, 30 Nov 2016 11:52:25 +0200	[thread overview]
Message-ID: <3478036.d2UQM8n6lv@avalon> (raw)
In-Reply-To: <20161130102757.9eec1f7f3377d0f4787e3829-GANU6spQydw@public.gmane.org>

Hi Jean-François,

On Wednesday 30 Nov 2016 10:27:57 Jean-Francois Moine wrote:
> On Wed, 30 Nov 2016 10:20:21 +0200 Laurent Pinchart wrote:
> >> Well, I don't see what this connector can be.
> >> May you give me a DT example?
> > 
> > Sure.
> > 
> > arch/arm/boot/dts/r8a7791-koelsch.dts
> > 
> >         /* HDMI encoder */
> >         
> >         hdmi@39 {
> >                 compatible = "adi,adv7511w";
> >                 reg = <0x39>;
> >                 interrupt-parent = <&gpio3>;
> >                 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
> >                 
> >                 adi,input-depth = <8>;
> >                 adi,input-colorspace = "rgb";
> >                 adi,input-clock = "1x";
> >                 adi,input-style = <1>;
> >                 adi,input-justification = "evenly";
> >                 
> >                 ports {
> >                         #address-cells = <1>;
> >                         #size-cells = <0>;
> >                         
> >                         port@0 {
> >                                 reg = <0>;
> >                                 adv7511_in: endpoint {
> >                                         remote-endpoint = <&du_out_rgb>;
> >                                 };
> >                         };
> >                         
> >                         port@1 {
> >                                 reg = <1>;
> >                                 adv7511_out: endpoint {
> >                                         remote-endpoint = <&hdmi_con>;
> >                                 };
> >                         };
> >                 };
> >         
> >         };
> >         
> >         /* HDMI connector */
> >         
> >         hdmi-out {
> >                 compatible = "hdmi-connector";
> >                 type = "a";
> >                 
> >                 port {
> >                         hdmi_con: endpoint {
> >                                 remote-endpoint = <&adv7511_out>;
> >                         };
> >                 };
> >         };
> 
> Hi Laurent,
> 
> Sorry for I don't see the interest:
> - it is obvious that the HDMI connector is a 'hdmi-connector'!

It still has to be told to the drivers, they don't know how to identify a 
connector by looking at it :-)

> - the physical connector type may be changed on any board by a soldering
>   iron or a connector to connector cable.

Which is also true for any other component on the board. DT (and for that 
matter any firmware description of the platform) isn't soldering-proof.

> - what does the software do with the connector type?

That's up to the software to decide, the DT bindings should describe the 
hardware in the most accurate and usable way for the OS as possible. One of my 
longer term goals is to add connector drivers to handle DDC and HPD when 
they're not handled by the encoder (they are in the above example).

If the DDC was connected to a general-purpose I2C bus of the SoC, and the HPD 
to a GPIO, we would have

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";
		/* I2C bus and GPIO references are made up for the example */
		ddc-i2c-bus = <&i2c4>;
		hpd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>

		port {
			hdmi_con: endpoint {
				remote-endpoint = <&adv7511_out>;
			};
		};
	};

and both HPD and EDID reading should be handled by the connector driver.

> - why not to put the connector information in the HDMI device?

Because the connector is separate from the encoder. It's not uncommon 
(depending on the encoder type) to have the encoder output connected to a non-
connector entity such as another chained encoder.

For example most LVDS encoders are connected to a panel, but I have a board 
with the following encoders chain.

CRTC -- parallel RGB --> on-SoC LVDS encoder -- LVDS --> on-board LVDS decoder 
-- parallel RGB --> HDMI encoder -- HDMI --> HDMI connector

I can't support that if the LVDS encoder driver hardcodes the assumption that 
the encoder output is connected to a panel. This kind of usage might be less 
common for HDMI but is certainly not inconceivable.

> And, if I follow you, the graph of ports could also be used to describe
> the way the various parts of the SoCs are powered, to describe the pin
> connections, to describe the USB connectors, to describe the board
> internal hubs and bridges...

It should be used where applicable, it's not meant as the only possible 
hardware description for all pieces of the system.

-- 
Regards,

Laurent Pinchart

-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.

  parent reply	other threads:[~2016-11-30  9:52 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29 10:18 [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support Jean-Francois Moine
     [not found] ` <cover.1480414715.git.moinejf-GANU6spQydw@public.gmane.org>
2016-11-28 14:23   ` [PATCH v7 1/8] drm: sun8i: Add a basic DRM driver for Allwinner DE2 Jean-Francois Moine
     [not found]     ` <592a49a2d9505fc0f09b555847892fb7a4047530.1480414715.git.moinejf-GANU6spQydw@public.gmane.org>
2016-11-29 14:30       ` Daniel Vetter
     [not found]         ` <20161129143051.vn6exubsirwcauag-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2016-11-29 14:33           ` Icenowy Zheng
2016-11-28 18:02   ` [PATCH v7 2/8] drm/sun8i: Add DT bindings documentation of " Jean-Francois Moine
     [not found]     ` <92fc53084274d5ab04fe28f2dc0b16cf5d94481e.1480414715.git.moinejf-GANU6spQydw@public.gmane.org>
2016-11-29 18:41       ` Laurent Pinchart
2016-11-29 18:45         ` Laurent Pinchart
2016-11-29  8:39   ` [PATCH v7 3/8] drm: sun8i: add HDMI video support to A83T and H3 Jean-Francois Moine
2016-11-29  9:08   ` [PATCH v7 4/8] drm/sunxi: Add DT bindings documentation of Allwinner HDMI Jean-Francois Moine
     [not found]     ` <cd1caff75b6069af98680f78d672546748cb43c5.1480414715.git.moinejf-GANU6spQydw@public.gmane.org>
2016-11-29 18:46       ` Laurent Pinchart
2016-11-29 19:27         ` Jean-Francois Moine
     [not found]           ` <20161129202751.e94f72a1b9e2c2fb064e9933-GANU6spQydw@public.gmane.org>
2016-11-29 19:33             ` Laurent Pinchart
2016-11-29 20:04               ` Jean-Francois Moine
     [not found]                 ` <20161129210455.d0c8450d3ceb83c1abe521b0-GANU6spQydw@public.gmane.org>
2016-11-29 20:10                   ` Laurent Pinchart
2016-11-30  8:12                     ` Jean-Francois Moine
     [not found]                       ` <20161130091208.f38cd79f1cc5d27b27f3b130-GANU6spQydw@public.gmane.org>
2016-11-30  8:20                         ` Laurent Pinchart
2016-11-30  9:27                           ` Jean-Francois Moine
     [not found]                             ` <20161130102757.9eec1f7f3377d0f4787e3829-GANU6spQydw@public.gmane.org>
2016-11-30  9:52                               ` Laurent Pinchart [this message]
2016-11-30 10:44                                 ` Jean-Francois Moine
     [not found]                                   ` <20161130114415.2280151e2965280733a629e5-GANU6spQydw@public.gmane.org>
2016-11-30 17:33                                     ` Icenowy Zheng
     [not found]                                       ` <1971681480527210-RAIFsGP/6J5uio3avFS2gg@public.gmane.org>
2016-12-01  8:55                                         ` Maxime Ripard
2016-12-01 10:41                                           ` Laurent Pinchart
2016-12-01 11:30                                             ` Jean-Francois Moine
     [not found]                                               ` <20161201123009.d2b4d9d389070200c54138ee-GANU6spQydw@public.gmane.org>
2016-12-01 11:44                                                 ` Laurent Pinchart
2016-11-30 17:24                               ` Icenowy Zheng
2016-11-29 10:10   ` [PATCH v7 5/8] clk: sunxi-ng: define the PLL DE clock Jean-Francois Moine
2016-11-29 10:12   ` [PATCH v7 6/8] ARM: dts: sun8i-h3: add HDMI video nodes Jean-Francois Moine
2016-11-29 10:14   ` [PATCH v7 7/8] ARM: dts: sun8i-h3: Add HDMI video to the Banana Pi M2+ Jean-Francois Moine
2016-11-29 10:16   ` [PATCH v7 8/8] ARM: dts: sun8i-h3: Add HDMI video to the Orange PI 2 Jean-Francois Moine
2016-11-29 21:36   ` [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support Maxime Ripard
2016-11-29 22:47     ` Jernej Skrabec
     [not found]       ` <8398357e-5c5e-4d76-9022-1c668aff5076-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2016-11-29 22:56         ` Laurent Pinchart
2016-11-29 23:24           ` Jernej Skrabec
     [not found]             ` <239b60f3-3ea7-4aa7-8e8d-353e1a1d4ee5-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2016-11-30  8:08               ` Laurent Pinchart
2016-11-30 18:04                 ` Jernej Skrabec
2016-11-30  9:05     ` Jean-Francois Moine
     [not found]       ` <20161130100545.44546ed28896cdb9768f68cd-GANU6spQydw@public.gmane.org>
2016-11-30 10:12         ` Laurent Pinchart
2016-12-01  9:13           ` Maxime Ripard
2016-12-01  9:19             ` Laurent Pinchart
2016-12-01  9:42               ` Maxime Ripard
2016-12-01  9:28             ` How should we group related devices in DT ? (was Re: [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support) Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3478036.d2UQM8n6lv@avalon \
    --to=laurent.pinchart-rylnwiuwjnjg/c1bvhzhaw@public.gmane.org \
    --cc=airlied-cv59FeDIM0c@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=moinejf-GANU6spQydw@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).