On Wed, May 18, 2022 at 01:55:38PM +0200, Max Krummenacher wrote:
From: Max Krummenacher max.krummenacher@toradex.com
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@toradex.com
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@toradex.com
- */
+#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