From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Rob Herring <robh@kernel.org>
Cc: dri-devel <dri-devel@lists.freedesktop.org>,
"open list:MEDIA DRIVERS FOR RENESAS - FCP"
<linux-renesas-soc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Subject: Re: [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties
Date: Mon, 19 Dec 2016 18:54:51 +0200 [thread overview]
Message-ID: <2477026.2bVvJoQSTE@avalon> (raw)
In-Reply-To: <CAL_JsqKBoAJFiOqNhMPzF5VXjdXT2jbWHV0zxfX0gdSz0yGZLQ@mail.gmail.com>
Hi Rob,
On Monday 19 Dec 2016 09:38:49 Rob Herring wrote:
> On Sun, Dec 18, 2016 at 2:54 PM, Laurent Pinchart wrote:
> > On Tuesday 29 Nov 2016 20:23:41 Laurent Pinchart wrote:
> >> On Tuesday 29 Nov 2016 09:14:09 Rob Herring wrote:
> >>> On Tue, Nov 29, 2016 at 2:27 AM, Laurent Pinchart wrote:
> >>>> On Tuesday 22 Nov 2016 11:36:55 Laurent Pinchart wrote:
> >>>>> On Monday 21 Nov 2016 10:48:15 Rob Herring wrote:
> >>>>>> On Sat, Nov 19, 2016 at 05:28:01AM +0200, Laurent Pinchart wrote:
> >>>>>>> Document properties common to several display panels in a central
> >>>>>>> location that can be referenced by the panel device tree bindings.
> >>>>>>
> >>>>>> Looks good. Just one comment...
> >>>>>>
> >>>>>> [...]
> >>>>>>
> >>>>>>> +Connectivity
> >>>>>>> +------------
> >>>>>>> +
> >>>>>>> +- ports: Panels receive video data through one or multiple
> >>>>>>> connections. While
> >>>>>>> + the nature of those connections is specific to the panel type,
> >>>>>>> the
> >>>>>>> + connectivity is expressed in a standard fashion using ports as
> >>>>>>> specified in
> >>>>>>> + the device graph bindings defined in
> >>>>>>> + Documentation/devicetree/bindings/graph.txt.
> >>>>>>
> >>>>>> We allow panels to either use graph binding or be a child of the
> >>>>>> display controller.
> >>>>>
> >>>>> I knew that some display controllers use a phandle to the panel (see
> >>>>> the fsl,panel and nvidia,panel properties), but I didn't know we had
> >>>>> panels as children of display controller nodes. I don't think we
> >>>>> should allow that for anything but DSI panels, as the DT hierarchy is
> >>>>> based on control buses. Are you sure we have other panels instantiated
> >>>>> through that mechanism ?
> >>>
> >>> Some panels have no control bus, so were do we place them?
> >>
> >> I'd say under the root node, like all similar control-less devices.
> >>
> >>> I would say the hierarchy is based on buses with a preference for the
> >>> control bus when there are multiple buses. I'm not a fan of just
> >>> sticking things are the top level.
> >>
> >> OK, so much for my comment a few lines up :-)
> >>
> >> The problem with placing non-DSI panels as children of the display
> >> controller and not using OF graph is that the panel bindings become
> >> dependent of the display controller being used. A display controller
> >> using OF graph would require the panel to do the same, while a display
> >> controller expecting a panel child node (with a specific name) would
> >> require DT properties for the panel node.
>
> Not sure I follow.
Sorry, I meant "would not requite DT properties".
> They become dependent on the controller driver to probe the panel, but the
> contents of the panel node would not be controller dependent.
If a display controller uses OF graph then the panel DT node has to declare
ports. If the display controller doesn't use OF graph but instead expects the
panel to be a direct subnode, or points to the panel using a property such as
fsl,panel, then the panel DT node will not have ports.
> >> I'm also not sure the complexity of OF graph is really that prohibitive
> >> if you compare it to panels as child nodes. To get the panel driver to
> >> bind to the panel DT node the display controller driver would need to
> >> create a platform device for the panel and register it. That's not very
> >> difficult, but parsing a single port and endpoint isn't either (and we
> >> could even provide a helper function for that, a version of
> >> of_drm_find_panel() that would take as an argument the display controller
> >> device node instead of the panel device node).
> >
> > Ping ?
> >
> > I'd like to standardize on one model for panel DT bindings, but I'm not
> > sure that can be achieved given that we already have multiple competing
> > models. In any case, is that blocking to merge this patch ? I only
> > describe one connectivity model here as that's what my panel driver
> > needs, but I have no issue adding more models later when needed. I
> > believe this patch is a good step forward already.
>
> It is an improvement which I appreciate, so yes I guess we can address
> it later when needed.
Thank you. Can I get your ack then ? :-)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2016-12-19 16:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-19 3:28 [PATCH v2 00/13] R-Car DU: Add support for LVDS mode selection Laurent Pinchart
2016-11-19 3:28 ` [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties Laurent Pinchart
2016-11-21 16:48 ` Rob Herring
2016-11-22 9:36 ` Laurent Pinchart
2016-11-29 8:27 ` Laurent Pinchart
2016-11-29 15:14 ` Rob Herring
2016-11-29 18:23 ` Laurent Pinchart
2016-12-18 20:54 ` Laurent Pinchart
2016-12-19 15:38 ` Rob Herring
2016-12-19 16:54 ` Laurent Pinchart [this message]
2017-01-03 22:33 ` Rob Herring
[not found] ` <1479526093-7014-2-git-send-email-laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2016-11-22 11:05 ` Thierry Reding
2016-11-22 13:14 ` Laurent Pinchart
2016-11-22 21:10 ` Rob Herring
2017-04-09 11:47 ` Emil Velikov
2017-04-11 5:12 ` Laurent Pinchart
2016-11-19 3:28 ` [PATCH v2 02/13] devicetree/bindings: display: Add bindings for LVDS panels Laurent Pinchart
[not found] ` <1479526093-7014-3-git-send-email-laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2016-11-21 16:48 ` Rob Herring
2016-11-22 11:02 ` Thierry Reding
2016-11-22 13:21 ` Laurent Pinchart
[not found] ` <1479526093-7014-1-git-send-email-laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2016-11-19 3:28 ` [PATCH v2 03/13] devicetree/bindings: display: Add bindings for two Mitsubishi panels Laurent Pinchart
2016-11-21 16:49 ` Rob Herring
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=2477026.2bVvJoQSTE@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=robh@kernel.org \
--cc=tomi.valkeinen@ti.com \
/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).