Re: [PATCH v3 2/3] dt-bindings: Add header for the ingenic-drm driver bindings

Paul Cercueil
2019-04-22T16:13:14Z

Hi,

Le sam. 20 avril 2019 à 14:23, Ezequiel Garcia
<ezequiel@vanguardiasur.com.ar> a écrit :
> On Wed, 17 Apr 2019 at 10:48, Rob Herring <robh+dt@kernel.org> wrote:
>>
>> On Sun, Apr 14, 2019 at 3:08 PM Paul Cercueil
>> <paul@crapouillou.net> wrote:
>> >
>> > Add macros that can be used with the ingenic,lcd-mode property in
>> the
>> > devicetree node that corresponds to the ingenic-drm driver.
>>
>> DRM is a Linuxism.
>>
>> >
>> > Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> > Tested-by: Artur Rojek <contact@artur-rojek.eu>
>> > ---
>> >
>> > Notes:
>> > v2: No change
>> >
>> > v3: s/_DRM//
>> >
>> > include/dt-bindings/display/ingenic,drm.h | 28
>> ++++++++++++++++++++++++++++
>>
>> DRM is a Linuxism...
>>
>> > 1 file changed, 28 insertions(+)
>> > create mode 100644 include/dt-bindings/display/ingenic,drm.h
>> >
>> > diff --git a/include/dt-bindings/display/ingenic,drm.h
>> b/include/dt-bindings/display/ingenic,drm.h
>> > new file mode 100644
>> > index 000000000000..c749b8c346fc
>> > --- /dev/null
>> > +++ b/include/dt-bindings/display/ingenic,drm.h
>> > @@ -0,0 +1,28 @@
>> > +/* SPDX-License-Identifier: GPL-2.0 */
>> > +/*
>> > + * Ingenic JZ47xx KMS driver
>>
>> Pretty sure this file is not a KMS driver.
>>
>> > + *
>> > + * Copyright (C) 2019, Paul Cercueil <paul@crapouillou.net>
>> > + */
>> > +#ifndef __INCLUDE_DT_BINDINGS_DISPLAY_INGENIC_DRM_H__
>> > +#define __INCLUDE_DT_BINDINGS_DISPLAY_INGENIC_DRM_H__
>> > +
>> > +#define JZ_LCD_GENERIC_16BIT 0
>> > +#define JZ_LCD_GENERIC_18BIT 16
>>
>> We have some generic properties for defining the bus width already.
>> Plus, in many cases this can be implied by the panel compatible. The
>> exceptions are cases such as when both the ctrlr and panel support
>> multiple modes.
>>
>
> In the same direction as Rob's comment, I'd like to see these
> decoupled
> from the register value.
>
> Ideally, we'd like to reuse this driver and its bindings for JZ4780,
> and these values are already different.

Well they are not any different on the JZ4780, I just checked on the
manual.
But yes, I don't mind getting rid of that devicetree property and its
corresponding bindings file.

The major problem is that we don't have a way to map some of the values
there
to DRM macros. I sumitted a PR to add a MEDIA_BUS_FMT_RGB888_3X8_BE bus
format
(that I could detect to support 8-bit serial TFT panels, which is what
the
Ben Nanonote uses), but I miss a way to detect the special* TFT panels.
I will leave these aside for now, but I want to support them eventually.

Thanks,
-Paul

* "special" TFT panels have extra pins (CLS, SPL, REV, PS) and seem to
be a
thing from Sharp. Ingenic SoCs (as well as i.MX SoCs) have the required
hardware to drive these panels.

> Thanks!
> --
> Ezequiel García, VanguardiaSur
> www.vanguardiasur.com.ar