Re: [PATCH 8/8] dt-bindings: display: Convert ingenic,lcd.txt to YAML

Rob Herring
2020-05-11T23:05:07Z

On Tue, Apr 28, 2020 at 04:12:21PM +0200, Paul Cercueil wrote:
> This one patch will need a V2, I messed up with the clocks.

Looks fine otherwise.

>
> -Paul
>
>
> Le dim. 26 avril 2020 à 20:58, Paul Cercueil <paul@crapouillou.net> a écrit
> :
> > 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@crapouillou.net>
> > ---
> > .../bindings/display/ingenic,lcd.txt | 45 -------
> > .../bindings/display/ingenic,lcd.yaml | 113 ++++++++++++++++++
> > 2 files changed, 113 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..8e9c851dc7c5
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml
> > @@ -0,0 +1,113 @@
> > +# 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@crapouillou.net>
> > +
> > +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: Module clock
> > + - description: Pixel clock
> > + minItems: 1
> > +
> > + clock-names:
> > + items:
> > + - const: lcd
> > + - const: lcd_pclk
> > + minItems: 1
> > +
> > + port:
> > + type: object
> > + description:
> > + A port node with endpoint definitions as defined in
> > + Documentation/devicetree/bindings/media/video-interfaces.txt
> > +
> > +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>, <&cgu JZ4740_CLK_LCD_PCLK>;
> > + clock-names = "lcd", "lcd_pclk";
> > +
> > + 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";
> > +
> > + port {
> > + endpoint {
> > + remote-endpoint = <&panel_input>;
> > + };
> > + };
> > + };
> > --
> > 2.26.2
> >
>
>