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 > >