From: Tony Lindgren <tony@atomide.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Javier Martinez Canillas <javier@dowhile0.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
linux-fbdev@vger.kernel.org,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH 3/4] OMAPDSS: panel-sharp-ls037v7dw01: add device tree support
Date: Thu, 15 May 2014 11:21:34 -0700 [thread overview]
Message-ID: <20140515182133.GC23659@atomide.com> (raw)
In-Reply-To: <537487AE.3060906@ti.com>
* Tomi Valkeinen <tomi.valkeinen@ti.com> [140515 02:24]:
> On 14/05/14 19:02, Tony Lindgren wrote:
>
> >> The video paths of the panels and encoders are connected using the v4l2
> >> style ports/endpoints. We can use those to see what display controller a
> >> panel is connected to, but only after the panel driver has already
> >> probed. We don't have control for the actual probing, as that happens
> >> with whatever the control bus is for the display component.
> >
> > OK. So with generic panels, you can just let the panels probe with
> > the right compatible flag then and let the ports/endpoints registration
> > to figure out if the panel is usable for the display controller in
> > question.
>
> I'm not sure what you mean here.
>
> Do you mean with the future common display framework? There's no need to
> figure out anything there, as supposedly the .dts has been written
> correctly and the panel and the display controller work together.
OK. Yes I meant for future use.
> If you mean with the current kernel, there's still nothing to figure
> out. We can have only single driver with a particular compatible string.
> And as our current drivers are omap specific, it makes sense to have
> their compatible string be something omap-ish. And if the .dts file
> connects the display controller and the panel, then they must be usable
> together.
Yup.
> >>> Well it seems at least the reset and enable pin standard from that
> >>> binding can be kept.
> >>
> >> Only enable gpio there. But even that's vague. Do you turn on the power
> >> before or after setting the enable gpio? How long delay should be
> >> between the power and the gpio? Different panels have different rules
> >> for the power-up.
> >
> > Sure, it's a complex problem. But for the enable gpio..
> >
> > Maybe the enable GPIO should be treated as a regulator? That would allow
> > specifying first the source regulator startup delay, and then the
> > panel has it's own startup delay.
>
> Well... I don't know. Sounds rather hacky to me. We have the option to
> have a specific driver for this panel, and that driver can handle all
> the delays and power-up sequences just right in a clean manner.
I guess we could have a generic startup-latency property for the GPIOs.
> >>>>> But I'm not really familiar with using extending current bindings, and
> >>>>> making new bindings compatible with old ones. Can you explain why it'd
> >>>>> be good to have the sharp panel bindings compatible with simple-panel?
> >>>>> In what kind of scenario would it be used?
> >>>
> >>> Ideally the panel binding just describes the panel and it should not
> >>> matter which display controller it is a child of.
> >>
> >> Yes, but that means the panel bindings need to have enough information
> >> so that all display controllers can use it. Simple-panel bindings do not
> >> have enough information. The simple-panel bindings do not have
> >> information about the video bus input, and it doesn't even have
> >> information about the resolution or bitdepth of the panel.
> >
> > Some of that you can hide into the panel driver based on the compatible
> > flag. So why not already do something like this in the .dts files
> > instead of the remapping:
> >
> > compatible = "sharp,ls037v7dw01-omap-dss", "sharp,ls037v7dw01";
> >
> > And drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c
> > would only claim to be compatible with "sharp,ls037v7dw01-omap-dss".
> >
> > Then when the common panel framework is available, you can stop
> > parsing sharp,ls037v7dw01-omap-dss but the .dts files don't need
> > to be changed and it's fine to keep "sharp,ls037v7dw01-omap-dss"
> > in the .dts files.
>
> Hmm, I don't see how this relates to the simple-panel bindings.
>
> But you're right, having "sharp,ls037v7dw01-omap-dss" in the .dts is an
> alternative for the compatible-string conversion we do now. I guess it's
> a matter of taste, but I rather hide it inside the kernel, in an
> internal omapdss file, than pollute the .dts files with those compatible
> strings.
Well it avoid you parsing through all the nodes during booting
and leaves out the function to do remapping. And removes the need
for maintaining a custom display mapping table. I'd say that's a
pretty good list of advantages right there :)
> >> So I'm still asking, if we create sharp bindings that use the same
> >> properties as the simple-panel bindings, and define that sharp panel is
> >> compatible with simple-panel, what kind of scenario in practice would it
> >> be used in?
> >
> > Well with the above example, just by dss with "sharp,ls037v7dw01-omap-dss"
> > until some other SoC notices it can use the GPIO parts of the panel
> > code at least :)
> >
> >> Would the scenario be some other OS, that doesn't have a driver for the
> >> sharp panel, but has a driver for the simple-panel? That would only work
> >> if the sharp panel hardware is setup so that only the enable gpio is
> >> needed, so that quite a narrow definition of "compatible".
> >
> > That's where we can use the compatible flags and just avoid parsing
> > the generic compatible flag unless some common framework is available.
>
> Hmm, sorry, I don't follow. My question was about the simple-panel
> bindings, not common display framework.
>
> You were saying that the sharp bindings should be compatible with
> simple-panel bindings. I'm still trying to understand what benefit does
> that give us.
Oh sorry, for that part I don't really have an opinion. If you think
the simple-panel binding is not going to be usable in the long
run, then I'm fine with whatever binding you display guys come up
with and prefer to use.
> As I see it, the sharp panel could be used with the simple-panel
> bindings only in certain special case, where all the mode pins and the
> reset are hardwired in the board hardware, and they are hardwired in a
> certain state (all hardwired low, probably), which matches what the
> simple-panel driver expects.
OK. Maybe take a stab at updating the binding for this as I don't
know what you want to do with it?
Regards,
Tony
next prev parent reply other threads:[~2014-05-15 18:21 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-29 23:52 [PATCH 0/4] OMAPDSS: Add support for panel ls037v7dw01 Tony Lindgren
2014-04-29 23:52 ` [PATCH 1/4] OMAPDSS: Fix DSS clock multiplier issue on 3703 and probably 3630 Tony Lindgren
2014-05-08 23:20 ` Tony Lindgren
[not found] ` <20140508232006.GG2198-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-05-09 8:01 ` Tomi Valkeinen
2014-05-09 14:37 ` Tony Lindgren
2014-05-12 11:38 ` Tomi Valkeinen
2014-05-09 7:38 ` Tomi Valkeinen
2014-05-09 14:37 ` Tony Lindgren
2014-05-12 11:36 ` Tomi Valkeinen
2014-05-12 14:39 ` Tony Lindgren
2014-05-12 14:44 ` Tomi Valkeinen
2014-05-13 15:26 ` Tony Lindgren
2014-05-14 6:41 ` Tomi Valkeinen
2014-05-09 21:06 ` Andreas Müller
2014-05-11 14:42 ` Tony Lindgren
2014-05-12 8:20 ` Andreas Müller
2014-05-12 14:40 ` Tony Lindgren
2014-04-29 23:52 ` [PATCH 2/4] OMAPDSS: panel-sharp-ls037v7dw01: update to use gpiod Tony Lindgren
2014-05-07 8:15 ` Tomi Valkeinen
2014-05-08 23:25 ` Tony Lindgren
2014-04-29 23:52 ` [PATCH 3/4] OMAPDSS: panel-sharp-ls037v7dw01: add device tree support Tony Lindgren
2014-05-07 8:12 ` Tomi Valkeinen
2014-05-07 15:03 ` Tony Lindgren
2014-05-07 16:02 ` Tomi Valkeinen
2014-05-07 17:59 ` Tony Lindgren
2014-05-08 23:33 ` Tony Lindgren
2014-05-09 7:24 ` Tomi Valkeinen
2014-05-09 15:55 ` Tony Lindgren
2014-05-12 7:38 ` Tomi Valkeinen
2014-05-12 9:34 ` Javier Martinez Canillas
2014-05-12 9:40 ` Tomi Valkeinen
2014-05-12 10:00 ` Javier Martinez Canillas
2014-05-12 14:26 ` Tony Lindgren
2014-05-12 14:55 ` Tomi Valkeinen
2014-05-12 15:51 ` Tony Lindgren
2014-05-13 10:51 ` Tomi Valkeinen
2014-05-13 11:39 ` Javier Martinez Canillas
2014-05-13 15:25 ` Tony Lindgren
2014-05-14 6:19 ` Tomi Valkeinen
2014-05-14 16:02 ` Tony Lindgren
2014-05-15 9:23 ` Tomi Valkeinen
2014-05-15 18:21 ` Tony Lindgren [this message]
2014-05-16 5:56 ` Tomi Valkeinen
2014-05-16 16:07 ` Tony Lindgren
2014-05-16 17:41 ` Sebastian Reichel
2014-05-16 18:01 ` Tony Lindgren
2014-05-16 21:39 ` Tony Lindgren
2014-05-19 9:48 ` Tomi Valkeinen
2014-05-19 15:57 ` Tony Lindgren
2014-05-19 16:43 ` Arnd Bergmann
2014-05-19 18:57 ` Tomi Valkeinen
2014-05-19 19:51 ` Tony Lindgren
2014-05-21 13:05 ` Tomi Valkeinen
2014-05-21 14:24 ` Sebastian Reichel
[not found] ` <537A540E.8070302-l0cyMroinI0@public.gmane.org>
2014-05-20 4:57 ` Sebastian Reichel
2014-05-20 5:21 ` Tomi Valkeinen
[not found] ` <20140516180154.GG22031-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-05-19 9:21 ` Tomi Valkeinen
2014-05-19 16:04 ` Tony Lindgren
2014-05-19 19:05 ` Tomi Valkeinen
2014-05-20 5:12 ` Sebastian Reichel
[not found] ` <20140520051203.GB28812-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-05-20 5:48 ` Tony Lindgren
2014-05-20 21:10 ` Sebastian Reichel
2014-05-09 8:31 ` Tomi Valkeinen
2014-05-09 15:30 ` Tony Lindgren
2014-05-13 21:26 ` Tony Lindgren
2014-05-15 8:41 ` Tomi Valkeinen
2014-05-15 18:25 ` Tony Lindgren
2014-05-16 5:50 ` Tomi Valkeinen
2014-05-16 15:59 ` Tony Lindgren
2014-05-15 13:07 ` Tomi Valkeinen
2014-05-15 18:27 ` Tony Lindgren
2014-04-29 23:52 ` [PATCH 4/4] ARM: dts: Add LCD panel sharp ls037v7dw01 support for omap3-evm and ldp Tony Lindgren
2014-04-30 1:07 ` Joachim Eastwood
2014-04-30 17:47 ` Tony Lindgren
[not found] ` <20140430174751.GA12362-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-05-05 18:39 ` Tony Lindgren
2014-05-08 23:36 ` Tony Lindgren
2014-05-09 7:07 ` Tomi Valkeinen
2014-05-09 15:37 ` Tony Lindgren
2014-05-13 21:32 ` Tony Lindgren
2014-05-15 8:57 ` Tomi Valkeinen
2014-05-21 12:44 ` Tomi Valkeinen
2014-05-21 14:50 ` Tony Lindgren
2014-05-27 20:59 ` Tony Lindgren
2014-05-27 21:14 ` Tony Lindgren
2014-05-28 6:31 ` Tomi Valkeinen
2014-05-28 6:34 ` Tomi Valkeinen
[not found] ` <1398815562-24113-1-git-send-email-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-05-05 18:41 ` [PATCH 0/4] OMAPDSS: Add support for panel ls037v7dw01 Tony Lindgren
2014-05-09 9:34 ` Tomi Valkeinen
2014-05-09 15:55 ` Tony Lindgren
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=20140515182133.GC23659@atomide.com \
--to=tony@atomide.com \
--cc=devicetree@vger.kernel.org \
--cc=javier@dowhile0.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.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).