Hi PAul. On Sat, May 16, 2020 at 11:50:46PM +0200, Paul Cercueil wrote: > Convert the ingenic,lcd.txt to a new ingenic,lcd.yaml file. > > In the process, the new ingenic,jz4780-lcd compatible string has been > added. > > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Looks good. Had to read the minItems/maxItems thing twice to get it, so I also played a little with the examples, and it worked as expected. Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > --- > > Notes: > This patch comes from a different patchset so it's effectively a V2. > > Changes were: > - lcd_pclk and lcd clocks are in the correct order now, > - Add 'port' and 'ports' properties, and document the valid ports. > > .../bindings/display/ingenic,lcd.txt | 45 ------- > .../bindings/display/ingenic,lcd.yaml | 126 ++++++++++++++++++ > 2 files changed, 126 insertions(+), 45 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.txt > create mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.yaml > > diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.txt b/Documentation/devicetree/bindings/display/ingenic,lcd.txt > deleted file mode 100644 > index 01e3261defb6..000000000000 > --- a/Documentation/devicetree/bindings/display/ingenic,lcd.txt > +++ /dev/null > @@ -1,45 +0,0 @@ > -Ingenic JZ47xx LCD driver > - > -Required properties: > -- compatible: one of: > - * ingenic,jz4740-lcd > - * ingenic,jz4725b-lcd > - * ingenic,jz4770-lcd > -- reg: LCD registers location and length > -- clocks: LCD pixclock and device clock specifiers. > - The device clock is only required on the JZ4740. > -- clock-names: "lcd_pclk" and "lcd" > -- interrupts: Specifies the interrupt line the LCD controller is connected to. > - > -Example: > - > -panel { > - compatible = "sharp,ls020b1dd01d"; > - > - backlight = <&backlight>; > - power-supply = <&vcc>; > - > - port { > - panel_input: endpoint { > - remote-endpoint = <&panel_output>; > - }; > - }; > -}; > - > - > -lcd: lcd-controller@13050000 { > - compatible = "ingenic,jz4725b-lcd"; > - reg = <0x13050000 0x1000>; > - > - interrupt-parent = <&intc>; > - interrupts = <31>; > - > - clocks = <&cgu JZ4725B_CLK_LCD>; > - clock-names = "lcd"; > - > - port { > - panel_output: endpoint { > - remote-endpoint = <&panel_input>; > - }; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml > new file mode 100644 > index 000000000000..d56db1802fad > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml > @@ -0,0 +1,126 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/ingenic,lcd.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Ingenic SoCs LCD controller devicetree bindings > + > +maintainers: > + - Paul Cercueil <paul@xxxxxxxxxxxxxxx> > + > +properties: > + $nodename: > + pattern: "^lcd-controller@[0-9a-f]+$" > + > + compatible: > + enum: > + - ingenic,jz4740-lcd > + - ingenic,jz4725b-lcd > + - ingenic,jz4770-lcd > + - ingenic,jz4780-lcd > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: Pixel clock > + - description: Module clock > + minItems: 1 > + > + clock-names: > + items: > + - const: lcd_pclk > + - const: lcd > + minItems: 1 > + > + port: > + description: OF graph bindings (specified in bindings/graph.txt). > + > + ports: > + description: OF graph bindings (specified in bindings/graph.txt). > + type: object > + properties: > + port@0: > + type: object > + description: DPI output, to interface with TFT panels. > + > + port@8: > + type: object > + description: Link to the Image Processing Unit (IPU). > + (See ingenic,ipu.yaml). > + > + required: > + - port@0 > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +if: > + properties: > + compatible: > + contains: > + enum: > + - ingenic,jz4740-lcd > + - ingenic,jz4780-lcd > +then: > + properties: > + clocks: > + minItems: 2 > + clock-names: > + minItems: 2 > +else: > + properties: > + clocks: > + maxItems: 1 > + clock-names: > + maxItems: 1 > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/jz4740-cgu.h> > + lcd-controller@13050000 { > + compatible = "ingenic,jz4740-lcd"; > + reg = <0x13050000 0x1000>; > + > + interrupt-parent = <&intc>; > + interrupts = <30>; > + > + clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>; > + clock-names = "lcd_pclk", "lcd"; > + > + port { > + endpoint { > + remote-endpoint = <&panel_input>; > + }; > + }; > + }; > + > + - | > + #include <dt-bindings/clock/jz4725b-cgu.h> > + lcd-controller@13050000 { > + compatible = "ingenic,jz4725b-lcd"; > + reg = <0x13050000 0x1000>; > + > + interrupt-parent = <&intc>; > + interrupts = <31>; > + > + clocks = <&cgu JZ4725B_CLK_LCD>; > + clock-names = "lcd_pclk"; > + > + port { > + endpoint { > + remote-endpoint = <&panel_input>; > + }; > + }; > + }; > -- > 2.26.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel