[PATCH 1/2] dt-bindings: display: imx: Add fsl,imx21-lcdc docs

Rob Herring robh at kernel.org
Tue Mar 22 11:56:08 PDT 2022


On Thu, Feb 10, 2022 at 11:54 AM Lucas Stach <l.stach at pengutronix.de> wrote:
>
> Hi Rob,
>
> Am Dienstag, dem 01.02.2022 um 11:35 -0600 schrieb Rob Herring:
> > On Fri, Jan 28, 2022 at 06:58:29PM +0100, Uwe Kleine-König wrote:
> > > Hello Rob,
> > >
> > > On Fri, Jan 28, 2022 at 07:04:10AM -0600, Rob Herring wrote:
> > > > On Fri, Jan 28, 2022 at 4:59 AM Uwe Kleine-König
> > > > <u.kleine-koenig at pengutronix.de> wrote:
> > > > >
> > > > > From: Marian Cichy <m.cichy at pengutronix.de>
> > > > >
> > > > > This files documents the device tree for the new imx21-lcdc DRM driver.
> > > >
> > > > No, bindings document h/w and the h/w has not changed. We already have
> > > > a binding for the LCDC.
> > >
> > > Just to be sure we're talking about the same thing: You're refering to
> > > Documentation/devicetree/bindings/display/imx/fsl,imx-fb.txt, right?
> >
> > Looks right...
> >
> > > I'm unsure what to do now. Should the two different bindings just be
> > > described in the same file? Should I stick to fsl,imx21-fb even for the
> > > new binding? (The hardware unit is named LCDC, so the name chosen here
> > > is the better one.) Please advise.
> >
> > Yes, the name is unfortunate, but it should be 1 binding, 1 file, and
> > unchanged (unless you want to add new optional properties).
> >
> The old FB driver binding is pretty insane. Except the reg and
> interrupt properties it is very confused about things. It exposes
> internal implementation details (like specifying verbatim register
> settings in the DT) and other properties are just misplaced, like the
> lcd-supply property that controls the panel power supply.

I agree on 'lcd-supply', but that can simply be marked as deprecated
as can anything else. From what I remember working on these chips, I'm
not sure you can really avoid some of these register properties. For
example, the Sharp config is pretty much a use some value with some
specific Sharp panel. I guess we can have 'if panel A, then register
value is X' type code in the driver. Maybe the DMA settings can be
heuristics based on the pixel data rate, but I recall avoiding
underruns was challenging on some parts.

> I really don't think that trying to stay backwards compatible here is a
> win for anyone. Anyone willing to switch their systems running on a 15
> year old SoC to the new DRM driver probably doesn't mind if they have
> to modify the DTS to make it work. Can we please let the FB driver die
> in peace and have a clean slate driver/binding for the DRM driver?

The existing binding will still need a schema if it appears in dts files.

There's nothing really conflicting between the 2 bindings. Your
choices are to merge it all into 1 node and it's up to kernel
configuration (or module load) to select which driver. Or you have 2
nodes in the DT with one enabled at a time (because 2 enabled nodes at
the same address is not allowed). Then you need a DT change to switch.
Either way is fine and the schema should match which one you pick, but
I would do 1 node.

If you do a new binding, then justify it for the reasons above, not
the old one is for the FB driver and the new one is for the DRM
driver.

Rob



More information about the linux-arm-kernel mailing list