Re: [PATCH v2 1/3] dt-bindings: display: add new bus-format property for panel-dpi

From: Rob Herring
Date: Wed Jun 01 2022 - 16:44:39 EST


On Wed, May 18, 2022 at 01:55:38PM +0200, Max Krummenacher wrote:
> From: Max Krummenacher <max.krummenacher@xxxxxxxxxxx>
>
> The property is used to set the enum bus_format and infer the bpc
> for a panel defined by 'panel-dpi'.
> This specifies how the panel is connected to the display interface.
>
> Signed-off-by: Max Krummenacher <max.krummenacher@xxxxxxxxxxx>
>
> ---
>
> Changes in v2:
> - Fix errors found by dt_binding_check
>
> .../bindings/display/panel/panel-dpi.yaml | 11 +++++++++
> .../dt-bindings/display/dt-media-bus-format.h | 23 +++++++++++++++++++
> 2 files changed, 34 insertions(+)
> create mode 100644 include/dt-bindings/display/dt-media-bus-format.h
>
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> index dae0676b5c6e..a20b5898941e 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> @@ -21,6 +21,14 @@ properties:
> - {}
> - const: panel-dpi
>
> + bus-format:
> + $ref: /schemas/types.yaml#/definitions/uint32

Constraints?

> + description: |
> + Describes how the display panel is connected to the display interface.
> + Valid values are defined in <dt-bindings/display/dt-media-bus-format.h>.
> + The mapping between the color/significance of the panel lines to the
> + parallel data lines are defined in [1].

Just drop the [1] and use a colon.

> + [1] https://www.kernel.org/doc/html/v5.17/userspace-api/media/v4l/subdev-formats.html#packed-rgb-formats

Why not just use the V4L number space rather than invent yet another
number space?

Need a blank line here too.

> backlight: true
> enable-gpios: true
> height-mm: true
> @@ -39,11 +47,14 @@ additionalProperties: false
>
> examples:
> - |
> + #include <dt-bindings/display/dt-media-bus-format.h>
> +
> panel {
> compatible = "startek,startek-kd050c", "panel-dpi";
> label = "osddisplay";
> power-supply = <&vcc_supply>;
> backlight = <&backlight>;
> + bus-format = <DT_MEDIA_BUS_FMT_RGB888_1X24>;

Other properties describing the interface have been put in the endpoint
node. This should too I think.

>
> port {
> lcd_in: endpoint {
> diff --git a/include/dt-bindings/display/dt-media-bus-format.h b/include/dt-bindings/display/dt-media-bus-format.h
> new file mode 100644
> index 000000000000..c0f2a7b59aa1
> --- /dev/null
> +++ b/include/dt-bindings/display/dt-media-bus-format.h
> @@ -0,0 +1,23 @@
> +/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
> +/*
> + * Copyright 2022 Max Krummenacher <max.krummenacher@xxxxxxxxxxx>
> + */
> +
> +#ifndef __DT_BINDINGS_DT_MEDIA_BUS_FORMAT_H
> +#define __DT_BINDINGS_DT_MEDIA_BUS_FORMAT_H
> +
> +/*
> + * Attention: Keep these macro names in sync with
> + * include/uapi/linux/media-bus-format.h
> + */
> +
> +#define DT_MEDIA_BUS_FMT_RGB565_1X16 1
> +#define DT_MEDIA_BUS_FMT_RGB666_1X18 2
> +#define DT_MEDIA_BUS_FMT_RBG888_1X24 3
> +#define DT_MEDIA_BUS_FMT_RGB666_1X24_CPADHI 4
> +#define DT_MEDIA_BUS_FMT_BGR888_1X24 5
> +#define DT_MEDIA_BUS_FMT_GBR888_1X24 6
> +#define DT_MEDIA_BUS_FMT_RGB888_1X24 7
> +#define DT_MEDIA_BUS_FMT_RGB888_1X32_PADHI 8
> +
> +#endif /* __DT_BINDINGS_DT_MEDIA_BUS_FORMAT_H */
> --
> 2.20.1
>
>