Re: [PATCH 0/2] drm/panel: Add support for the Sitronix ST7789V
From: Thierry Reding
Date: Tue Feb 07 2017 - 11:46:40 EST
On Tue, Feb 07, 2017 at 04:34:44PM +0100, Maxime Ripard wrote:
> On Mon, Feb 06, 2017 at 12:29:31PM +0100, Noralf TrÃnnes wrote:
> >
> > Den 06.02.2017 11.39, skrev Maxime Ripard:
> > > Hi Noralf,
> > >
> > > On Fri, Feb 03, 2017 at 07:48:51PM +0100, Noralf TrÃnnes wrote:
> > > > Den 03.02.2017 10.59, skrev Maxime Ripard:
> > > > > Hi,
> > > > >
> > > > > Here is an attempt at supporting the ST7789V LCD controller from Sitronix.
> > > > What happens if there's another panel driven by ST7789V that needs
> > > > a different controller initialization?
> > > You know those panels / controllers much better than I do, but why
> > > would that be the case?
> > >
> > > > Maybe it's better to name it after the panel, not the controller.
> > > I guess you could also use that panel directly without the controller?
> >
> > A controller can drive many different panels that can require different
> > initializations. I faced that with staging/fbtft, when I wrote
> > controller drivers having initialization code, and then came across
> > displays with the same controller but with a different initialization.
> >
> > Trying to write controller drivers for these controllers is very
> > difficult with all the possible permutations. On top of that we have
> > those undocumented commands/registers.
> >
> > Some panels come with embedded controllers, in which case it makes
> > sense to write a driver for the panel.
> >
> > But if the panel and controller are separate, then I don't know. Maybe
> > the chance of coming across two uncompatible ST7789V and panel
> > combinations in drm/panel is extremly low.
>
> Hmm, I see. If we ever come across that case, I guess we could just
> add new optional properties to override the current sequence.
I think if that ever happens it's probably best to split out ST7789V
code into a helper library that has functions which take parameters.
Then we can simply call those functions with parameters specific to
a panel from a panel-specific driver.
Trying to fit all that into device tree properties is likely going to
end up being really messy.
Thierry
Attachment:
signature.asc
Description: PGP signature