Hi Rob, On Fri, Jun 10, 2022 at 02:38:18PM -0600, Rob Herring wrote: > 'arm,rtsm-display' is a panel for Arm, Ltd. virtual platforms (e.g. FVP). > The binding has been in use for a long time, but was never documented. > > Some users and an example have a 'panel-dpi' compatible, but that's not > needed without a 'panel-timing' node which none of the users have since > commit 928faf5e3e8d ("arm64: dts: fvp: Remove panel timings"). The > example does have a 'panel-timing' node, but it should not for the > same reasons the node was removed in the dts files. So update the > example in arm,pl11x.yaml to match the schema. > > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > Cc: Robin Murphy <robin.murphy@xxxxxxx> > Cc: Andre Przywara <andre.przywara@xxxxxxx> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../bindings/display/arm,pl11x.yaml | 15 +------------- > .../bindings/display/panel/panel-simple.yaml | 20 +++++++++++++------ > 2 files changed, 15 insertions(+), 20 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/arm,pl11x.yaml b/Documentation/devicetree/bindings/display/arm,pl11x.yaml > index b545c6d20325..6cc9045e5c68 100644 > --- a/Documentation/devicetree/bindings/display/arm,pl11x.yaml > +++ b/Documentation/devicetree/bindings/display/arm,pl11x.yaml > @@ -159,25 +159,12 @@ examples: > }; > > panel { > - compatible = "arm,rtsm-display", "panel-dpi"; > - power-supply = <&vcc_supply>; > + compatible = "arm,rtsm-display"; > > port { > clcd_panel: endpoint { > remote-endpoint = <&clcd_pads>; > }; > }; > - > - panel-timing { > - clock-frequency = <25175000>; > - hactive = <640>; > - hback-porch = <40>; > - hfront-porch = <24>; > - hsync-len = <96>; > - vactive = <480>; > - vback-porch = <32>; > - vfront-porch = <11>; > - vsync-len = <2>; > - }; > }; > ... > diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > index 21ba90c9fe33..97afd276c54a 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > @@ -19,9 +19,6 @@ description: | > > If the panel is more advanced a dedicated binding file is required. > > -allOf: > - - $ref: panel-common.yaml# > - > properties: > > compatible: > @@ -35,6 +32,8 @@ properties: > - ampire,am-480272h3tmqw-t01h > # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel > - ampire,am800480r3tmqwa1h > + # Arm, Ltd. Virtual Platforms Display > + - arm,rtsm-display > # AU Optronics Corporation 10.1" WSVGA TFT LCD panel > - auo,b101aw03 > # AU Optronics Corporation 10.1" WSVGA TFT LCD panel > @@ -340,9 +339,18 @@ properties: > > additionalProperties: false > > -required: > - - compatible > - - power-supply > +allOf: > + - $ref: panel-common.yaml# > + - if: > + # Most 'simple' panels must have a single supply, but a virtual display does not > + not: > + properties: > + compatible: > + contains: > + const: arm,rtsm-display > + then: > + required: > + - power-supply Sorry, but I do not like this change. The beauty of panel-simple is that this is a collection of simple display with identical bindings because the HW is more or less the same (in general - not in details like size etc). Any panels that requires more are pushed out to their own binding and for arm,rtsm-display that would be better. It is not this single exceptions that bothers me, it is the many exceptions we will have in a few years from now. Sam