On Tue, May 11, 2021 at 04:54:48PM +0000, Corentin Labbe wrote: > Converts display/faraday,tve200.txt to yaml. > > Signed-off-by: Corentin Labbe <clabbe@xxxxxxxxxxxx> > --- > .../bindings/display/faraday,tve200.txt | 54 ----------- > .../bindings/display/faraday,tve200.yaml | 92 +++++++++++++++++++ > 2 files changed, 92 insertions(+), 54 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.txt > create mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.yaml > > diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.txt b/Documentation/devicetree/bindings/display/faraday,tve200.txt > deleted file mode 100644 > index 82e3bc0b7485..000000000000 > --- a/Documentation/devicetree/bindings/display/faraday,tve200.txt > +++ /dev/null > @@ -1,54 +0,0 @@ > -* Faraday TV Encoder TVE200 > - > -Required properties: > - > -- compatible: must be one of: > - "faraday,tve200" > - "cortina,gemini-tvc", "faraday,tve200" > - > -- reg: base address and size of the control registers block > - > -- interrupts: contains an interrupt specifier for the interrupt > - line from the TVE200 > - > -- clock-names: should contain "PCLK" for the clock line clocking the > - silicon and "TVE" for the 27MHz clock to the video driver > - > -- clocks: contains phandle and clock specifier pairs for the entries > - in the clock-names property. See > - Documentation/devicetree/bindings/clock/clock-bindings.txt > - > -Optional properties: > - > -- resets: contains the reset line phandle for the block > - > -Required sub-nodes: > - > -- port: describes LCD panel signals, following the common binding > - for video transmitter interfaces; see > - Documentation/devicetree/bindings/media/video-interfaces.txt > - This port should have the properties: > - reg = <0>; > - It should have one endpoint connected to a remote endpoint where > - the display is connected. > - > -Example: > - > -display-controller@6a000000 { > - #address-cells = <1>; > - #size-cells = <0>; > - compatible = "faraday,tve200"; > - reg = <0x6a000000 0x1000>; > - interrupts = <13 IRQ_TYPE_EDGE_RISING>; > - resets = <&syscon GEMINI_RESET_TVC>; > - clocks = <&syscon GEMINI_CLK_GATE_TVC>, > - <&syscon GEMINI_CLK_TVC>; > - clock-names = "PCLK", "TVE"; > - > - port@0 { > - reg = <0>; > - display_out: endpoint { > - remote-endpoint = <&panel_in>; > - }; > - }; > -}; > diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.yaml b/Documentation/devicetree/bindings/display/faraday,tve200.yaml > new file mode 100644 > index 000000000000..3ab51e7e72af > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/faraday,tve200.yaml > @@ -0,0 +1,92 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/faraday,tve200.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Faraday TV Encoder TVE200 > + > +maintainers: > + - Linus Walleij <linus.walleij@xxxxxxxxxx> > + > +properties: > + compatible: > + oneOf: > + - const: faraday,tve200 > + - items: > + - const: cortina,gemini-tvc > + - const: faraday,tve200 > + > + reg: > + minItems: 1 maxItems: 1 They evaluate the same, but maxItems seems a bit more logical. > + > + interrupts: > + minItems: 1 > + > + clock-names: > + items: > + - const: PCLK > + - const: TVE > + > + clocks: > + minItems: 2 > + > + resets: > + minItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^port@[0-9]+$": Should be just 'port' or 'port@0', but really the former is preferred when only 1. Use the graph binding: $ref: /schemas/graph.yaml#/properties/port > + type: object > + description: describes LCD panel signals, following the common binding But this is not an LCD panel... > + for video transmitter interfaces; see > + Documentation/devicetree/bindings/media/video-interfaces.txt Drop this reference. It's now a schema, but this isn't using anything from it. > + It should have one endpoint connected to a remote endpoint where > + the display is connected. > + > + properties: > + reg: > + const: 0 > + > + required: > + - reg > + > +required: > + - compatible > + - reg > + - interrupts > + - clock-names > + - clocks > + - "#address-cells" > + - "#size-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/cortina,gemini-clock.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/reset/cortina,gemini-reset.h> > + display-controller@6a000000 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "faraday,tve200"; > + reg = <0x6a000000 0x1000>; > + interrupts = <13 IRQ_TYPE_EDGE_RISING>; > + resets = <&syscon GEMINI_RESET_TVC>; > + clocks = <&syscon GEMINI_CLK_GATE_TVC>, > + <&syscon GEMINI_CLK_TVC>; > + clock-names = "PCLK", "TVE"; > + > + port@0 { > + reg = <0>; > + display_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > -- > 2.26.3 >