Re: [PATCH v3 3/6] dt-bindings: display: imx: hdmi: Convert binding to YAML
On Tue, Jan 05, 2021 at 08:08:15AM +0200, Laurent Pinchart wrote: > Convert the i.MX6 HDMI TX text binding to YAML. > > Signed-off-by: Laurent Pinchart > --- > Changes since v1: > > - Only specify maxItems for clocks > - Drop reg and interrupts as they're checked in the base schema > - Rebase on top of OF graph schema, dropped redundant properties > - Fix identation for enum entries > - Drop clock-names items, use maxItems only > --- > .../bindings/display/imx/fsl,imx6-hdmi.yaml | 130 ++ > .../devicetree/bindings/display/imx/hdmi.txt | 65 - > 2 files changed, 130 insertions(+), 65 deletions(-) > create mode 100644 > Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml > delete mode 100644 Documentation/devicetree/bindings/display/imx/hdmi.txt > > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml > b/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml > new file mode 100644 > index ..f9b131bb3339 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml > @@ -0,0 +1,130 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/imx/fsl,imx6-hdmi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale i.MX6 DWC HDMI TX Encoder > + > +maintainers: > + - Philipp Zabel > + > +description: | > + The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP > + with a companion PHY IP. > + > +allOf: > + - $ref: ../bridge/synopsys,dw-hdmi.yaml# > + > +properties: > + compatible: > +enum: > + - fsl,imx6dl-hdmi > + - fsl,imx6q-hdmi > + > + reg-io-width: > +const: 1 > + > + clocks: > +maxItems: 2 > + > + clock-names: > +maxItems: 2 > + > + ddc-i2c-bus: > +$ref: /schemas/types.yaml#/definitions/phandle > +description: > + The HDMI DDC bus can be connected to either a system I2C master or the > + functionally-reduced I2C master contained in the DWC HDMI. When > connected > + to a system I2C master this property contains a phandle to that I2C > + master controller. This should be deprecated as it should be in the connector node. But that's a separate issue. > + > + gpr: > +$ref: /schemas/types.yaml#/definitions/phandle > +description: > + phandle to the iomuxc-gpr region containing the HDMI multiplexer > control > + register. > + > + ports: > +$ref: /schemas/graph.yaml#/properties/ports > +description: | > + This device has four video ports, corresponding to the four inputs of > the > + HDMI multiplexer. Each port shall have a single endpoint. > + > +properties: > + port@0: > +$ref: /schemas/graph.yaml#/$defs/port-base > +unevaluatedProperties: false > +description: First input of the HDMI multiplexer muxing should have been endpoints rather than ports... Anyways, same 'port' issues here. With those fixes: Reviewed-by: Rob Herring > + > + port@1: > +$ref: /schemas/graph.yaml#/$defs/port-base > +unevaluatedProperties: false > +description: Second input of the HDMI multiplexer > + > + port@2: > +$ref: /schemas/graph.yaml#/$defs/port-base > +unevaluatedProperties: false > +description: Third input of the HDMI multiplexer > + > + port@3: > +$ref: /schemas/graph.yaml#/$defs/port-base > +unevaluatedProperties: false > +description: Fourth input of the HDMI multiplexer > + > +anyOf: > + - required: > + - port@0 > + - required: > + - port@1 > + - required: > + - port@2 > + - required: > + - port@3 > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - gpr > + - interrupts > + - ports > + > +additionalProperties: false > + > +examples: > + - | > +#include > + > +hdmi: hdmi@12 { > +reg = <0x0012 0x9000>; > +interrupts = <0 115 0x04>; > +gpr = <>; > +clocks = < IMX6QDL_CLK_HDMI_IAHB>, > + < IMX6QDL_CLK_HDMI_ISFR>; > +clock-names = "iahb", "isfr"; > + > +ports { > +#address-cells = <1>; > +#size-cells = <0>; > + > +port@0 { > +reg = <0>; > + > +hdmi_mux_0: endpoint { > +remote-endpoint = <_di0_hdmi>; > +}; > +}; > + > +port@1 { > +reg = <1>; > + > +hdmi_mux_1: endpoint { > +remote-endpoint = <_di1_hdmi>; > +}; > +}; > +}; > +}; > + > +... > diff --git a/Documentation/devicetree/bindings/display/imx/hdmi.txt > b/Documentation/devicetree/bindings/display/imx/hdmi.txt > deleted file mode 100644 > index 6d021e71c9cf.. > ---
[PATCH v3 3/6] dt-bindings: display: imx: hdmi: Convert binding to YAML
Convert the i.MX6 HDMI TX text binding to YAML. Signed-off-by: Laurent Pinchart --- Changes since v1: - Only specify maxItems for clocks - Drop reg and interrupts as they're checked in the base schema - Rebase on top of OF graph schema, dropped redundant properties - Fix identation for enum entries - Drop clock-names items, use maxItems only --- .../bindings/display/imx/fsl,imx6-hdmi.yaml | 130 ++ .../devicetree/bindings/display/imx/hdmi.txt | 65 - 2 files changed, 130 insertions(+), 65 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml delete mode 100644 Documentation/devicetree/bindings/display/imx/hdmi.txt diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml new file mode 100644 index ..f9b131bb3339 --- /dev/null +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx6-hdmi.yaml @@ -0,0 +1,130 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/imx/fsl,imx6-hdmi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX6 DWC HDMI TX Encoder + +maintainers: + - Philipp Zabel + +description: | + The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP + with a companion PHY IP. + +allOf: + - $ref: ../bridge/synopsys,dw-hdmi.yaml# + +properties: + compatible: +enum: + - fsl,imx6dl-hdmi + - fsl,imx6q-hdmi + + reg-io-width: +const: 1 + + clocks: +maxItems: 2 + + clock-names: +maxItems: 2 + + ddc-i2c-bus: +$ref: /schemas/types.yaml#/definitions/phandle +description: + The HDMI DDC bus can be connected to either a system I2C master or the + functionally-reduced I2C master contained in the DWC HDMI. When connected + to a system I2C master this property contains a phandle to that I2C + master controller. + + gpr: +$ref: /schemas/types.yaml#/definitions/phandle +description: + phandle to the iomuxc-gpr region containing the HDMI multiplexer control + register. + + ports: +$ref: /schemas/graph.yaml#/properties/ports +description: | + This device has four video ports, corresponding to the four inputs of the + HDMI multiplexer. Each port shall have a single endpoint. + +properties: + port@0: +$ref: /schemas/graph.yaml#/$defs/port-base +unevaluatedProperties: false +description: First input of the HDMI multiplexer + + port@1: +$ref: /schemas/graph.yaml#/$defs/port-base +unevaluatedProperties: false +description: Second input of the HDMI multiplexer + + port@2: +$ref: /schemas/graph.yaml#/$defs/port-base +unevaluatedProperties: false +description: Third input of the HDMI multiplexer + + port@3: +$ref: /schemas/graph.yaml#/$defs/port-base +unevaluatedProperties: false +description: Fourth input of the HDMI multiplexer + +anyOf: + - required: + - port@0 + - required: + - port@1 + - required: + - port@2 + - required: + - port@3 + +required: + - compatible + - reg + - clocks + - clock-names + - gpr + - interrupts + - ports + +additionalProperties: false + +examples: + - | +#include + +hdmi: hdmi@12 { +reg = <0x0012 0x9000>; +interrupts = <0 115 0x04>; +gpr = <>; +clocks = < IMX6QDL_CLK_HDMI_IAHB>, + < IMX6QDL_CLK_HDMI_ISFR>; +clock-names = "iahb", "isfr"; + +ports { +#address-cells = <1>; +#size-cells = <0>; + +port@0 { +reg = <0>; + +hdmi_mux_0: endpoint { +remote-endpoint = <_di0_hdmi>; +}; +}; + +port@1 { +reg = <1>; + +hdmi_mux_1: endpoint { +remote-endpoint = <_di1_hdmi>; +}; +}; +}; +}; + +... diff --git a/Documentation/devicetree/bindings/display/imx/hdmi.txt b/Documentation/devicetree/bindings/display/imx/hdmi.txt deleted file mode 100644 index 6d021e71c9cf.. --- a/Documentation/devicetree/bindings/display/imx/hdmi.txt +++ /dev/null @@ -1,65 +0,0 @@ -Freescale i.MX6 DWC HDMI TX Encoder -=== - -The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP -with a companion PHY IP. - -These DT bindings follow the Synopsys DWC HDMI TX bindings defined in -Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt with the -following device-specific properties. - - -Required properties: - -- compatible : Shall be one of "fsl,imx6q-hdmi" or "fsl,imx6dl-hdmi". -- reg: See dw_hdmi.txt. -- interrupts: HDMI interrupt number -- clocks: See dw_hdmi.txt. -- clock-names: Shall contain