'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@linaro.org Cc: Robin Murphy robin.murphy@arm.com Cc: Andre Przywara andre.przywara@arm.com Signed-off-by: Rob Herring robh@kernel.org --- .../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
examples: - |
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@linaro.org Cc: Robin Murphy robin.murphy@arm.com Cc: Andre Przywara andre.przywara@arm.com Signed-off-by: Rob Herring robh@kernel.org
.../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
On Fri, Jun 10, 2022 at 2:55 PM Sam Ravnborg sam@ravnborg.org wrote:
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@linaro.org Cc: Robin Murphy robin.murphy@arm.com Cc: Andre Przywara andre.przywara@arm.com Signed-off-by: Rob Herring robh@kernel.org
.../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.
But I require less...
It is not this single exceptions that bothers me, it is the many exceptions we will have in a few years from now.
Fair enough, I'll make it a separate file.
Rob
dri-devel@lists.freedesktop.org