Message ID | 20210511165448.422987-1-clabbe@baylibre.com |
---|---|
State | New |
Headers | show |
Series | dt-bindings: display: convert faraday,tve200 to YAML | expand |
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@baylibre.com> > --- > .../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@linaro.org> > + > +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 >
On Tue, May 18, 2021 at 8:38 PM LABBE Corentin <clabbe@baylibre.com> wrote: > The only solution is to remove "reg = <0>;" and calling the node "port". > Does it is acceptable ? It's what I've done in the past at least so looks like the right thing to me. It is only used in this device tree: arch/arm/boot/dts/gemini-dlink-dir-685.dts if you send me a patch to change port@0 to just port then I'll merge it pronto. (I can apply this patch to the DRM misc tree as well when Rob thing it's fine.) Yours, Linus Walleij
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@linaro.org> + +properties: + compatible: + oneOf: + - const: faraday,tve200 + - items: + - const: cortina,gemini-tvc + - const: faraday,tve200 + + reg: + minItems: 1 + + 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]+$": + type: object + description: describes LCD panel signals, following the common binding + for video transmitter interfaces; see + Documentation/devicetree/bindings/media/video-interfaces.txt + 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>; + }; + }; + };
Converts display/faraday,tve200.txt to yaml. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> --- .../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