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

From: Paul Cercueil
Date: Mon Apr 22 2019 - 12:13:15 EST


Hi,

Le sam. 20 avril 2019 à 14:23, Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> a écrit :
On Wed, 17 Apr 2019 at 10:48, Rob Herring <robh+dt@xxxxxxxxxx> wrote:

On Sun, Apr 14, 2019 at 3:08 PM Paul Cercueil <paul@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>
> Tested-by: Artur Rojek <contact@xxxxxxxxxxxxxx>
> ---
>
> 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@xxxxxxxxxxxxxxx>
> + */
> +#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