Modify the existing (fb-like) binding to support the drm-like binding in
parallel.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
.../bindings/display/imx/fsl,imx-lcdc.yaml | 45 ++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml
index 35a8fff036ca..2a8225b10890 100644
--- a/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml
+++ b/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml
@@ -21,6 +21,9 @@ properties:
- fsl,imx25-fb
- fsl,imx27-fb
- const: fsl,imx21-fb
+ - items:
+ - const: fsl,imx25-lcdc
+ - const: fsl,imx21-lcdc
clocks:
maxItems: 3
@@ -31,6 +34,9 @@ properties:
- const: ahb
- const: per
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+
display:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -59,17 +65,54 @@ properties:
description:
LCDC Sharp Configuration Register value.
+if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - fsl,imx1-lcdc
+ - fsl,imx21-lcdc
+then:
+ properties:
+ display: false
+ fsl,dmacr: false
+ fsl,lpccr: false
+ fsl,lscr1: false
+
+ required:
+ - port
+
+else:
+ properties:
+ port: false
+
+ required:
+ - display
+
required:
- compatible
- clocks
- clock-names
- - display
- interrupts
- reg
additionalProperties: false
examples:
+ - |
+ lcdc@53fbc000 {
+ compatible = "fsl,imx25-lcdc", "fsl,imx21-lcdc";
+ reg = <0x53fbc000 0x4000>;
+ interrupts = <39>;
+ clocks = <&clks 103>, <&clks 66>, <&clks 49>;
+ clock-names = "ipg", "ahb", "per";
+
+ port {
+ parallel_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
- |
imxfb: fb@10021000 {
compatible = "fsl,imx21-fb";
--
2.38.1
On 14/12/2022 12:59, Uwe Kleine-König wrote: > Modify the existing (fb-like) binding to support the drm-like binding in > parallel. Aren't you now adding two compatibles to the same hardware, just for two Linux drivers? One hardware should have one compatible, regardless of Linux display implementation. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > .../bindings/display/imx/fsl,imx-lcdc.yaml | 45 ++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml > index 35a8fff036ca..2a8225b10890 100644 > --- a/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.yaml > @@ -21,6 +21,9 @@ properties: > - fsl,imx25-fb > - fsl,imx27-fb > - const: fsl,imx21-fb > + - items: > + - const: fsl,imx25-lcdc > + - const: fsl,imx21-lcdc > > clocks: > maxItems: 3 > @@ -31,6 +34,9 @@ properties: > - const: ahb > - const: per > > + port: > + $ref: /schemas/graph.yaml#/properties/port > + > display: > $ref: /schemas/types.yaml#/definitions/phandle > > @@ -59,17 +65,54 @@ properties: > description: > LCDC Sharp Configuration Register value. > > +if: Put it under allOf. It grows pretty often so this would avoid future re-indents. > + properties: > + compatible: > + contains: > + enum: > + - fsl,imx1-lcdc > + - fsl,imx21-lcdc > +then: > + properties: > + display: false > + fsl,dmacr: false > + fsl,lpccr: false > + fsl,lscr1: false > + > + required: > + - port > + > +else: > + properties: > + port: false > + > + required: > + - display > + > required: > - compatible > - clocks > - clock-names > - - display > - interrupts > - reg > > additionalProperties: false > > examples: > + - | > + lcdc@53fbc000 { > + compatible = "fsl,imx25-lcdc", "fsl,imx21-lcdc"; > + reg = <0x53fbc000 0x4000>; > + interrupts = <39>; > + clocks = <&clks 103>, <&clks 66>, <&clks 49>; > + clock-names = "ipg", "ahb", "per"; > + > + port { > + parallel_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > - | > imxfb: fb@10021000 { > compatible = "fsl,imx21-fb"; Best regards, Krzysztof
On Fri, Dec 16, 2022 at 11:41:30AM +0100, Krzysztof Kozlowski wrote: > On 14/12/2022 12:59, Uwe Kleine-König wrote: > > Modify the existing (fb-like) binding to support the drm-like binding in > > parallel. > > Aren't you now adding two compatibles to the same hardware, just for two > Linux drivers? One hardware should have one compatible, regardless of > Linux display implementation. The (up to now unopposed) idea was to use the opportunity to pick a better name for the compatible. The hardware component is called LCDC and I guess fsl,imx21-fb was only picked because the linux driver is called imxfb. Unless I understood Rob wrong, he insisted to describe both variants in a single binding document only. > > +if: > > Put it under allOf. It grows pretty often so this would avoid future > re-indents. ok. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
On 16/12/2022 12:38, Uwe Kleine-König wrote: > On Fri, Dec 16, 2022 at 11:41:30AM +0100, Krzysztof Kozlowski wrote: >> On 14/12/2022 12:59, Uwe Kleine-König wrote: >>> Modify the existing (fb-like) binding to support the drm-like binding in >>> parallel. >> >> Aren't you now adding two compatibles to the same hardware, just for two >> Linux drivers? One hardware should have one compatible, regardless of >> Linux display implementation. > > The (up to now unopposed) idea was to use the opportunity to pick a > better name for the compatible. The hardware component is called LCDC > and I guess fsl,imx21-fb was only picked because the linux driver is > called imxfb. Unless I understood Rob wrong, he insisted to describe > both variants in a single binding document only. OK, I'll leave it then to Rob. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.