Message ID | 3b2619682694050696e5c85269ccc4f864590e66.1638540704.git.geert+renesas@glider.be (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [PATCH/RFC,v2] dt-bindings: display: bridge: sil, sii9022: Convert to json-schema | expand |
On Fri, Dec 03, 2021 at 03:14:07PM +0100, Geert Uytterhoeven wrote: > Convert the Silicon Image sii902x HDMI bridge Device Tree binding > documentation to json-schema. > > Add missing sil,sii9022-cpi and sil,sii9022-tpi compatible values. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > RFC as I do not know the meaning of the various ports subnodes. Is that too hard to figure out? There's no examples in the tree? > > v2: > - Rework sil,i2s-data-lanes, > - Add schema reference to ports. > --- > .../bindings/display/bridge/sii902x.txt | 78 ---------- > .../bindings/display/bridge/sil,sii9022.yaml | 133 ++++++++++++++++++ > 2 files changed, 133 insertions(+), 78 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/display/bridge/sii902x.txt > create mode 100644 Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/sii902x.txt b/Documentation/devicetree/bindings/display/bridge/sii902x.txt > deleted file mode 100644 > index 3bc760cc31cbbeee..0000000000000000 > --- a/Documentation/devicetree/bindings/display/bridge/sii902x.txt > +++ /dev/null > @@ -1,78 +0,0 @@ > -sii902x HDMI bridge bindings > - > -Required properties: > - - compatible: "sil,sii9022" > - - reg: i2c address of the bridge > - > -Optional properties: > - - interrupts: describe the interrupt line used to inform the host > - about hotplug events. > - - reset-gpios: OF device-tree gpio specification for RST_N pin. > - - iovcc-supply: I/O Supply Voltage (1.8V or 3.3V) > - - cvcc12-supply: Digital Core Supply Voltage (1.2V) > - > - HDMI audio properties: > - - #sound-dai-cells: <0> or <1>. <0> if only i2s or spdif pin > - is wired, <1> if the both are wired. HDMI audio is > - configured only if this property is found. > - - sil,i2s-data-lanes: Array of up to 4 integers with values of 0-3 > - Each integer indicates which i2s pin is connected to which > - audio fifo. The first integer selects i2s audio pin for the > - first audio fifo#0 (HDMI channels 1&2), second for fifo#1 > - (HDMI channels 3&4), and so on. There is 4 fifos and 4 i2s > - pins (SD0 - SD3). Any i2s pin can be connected to any fifo, > - but there can be no gaps. E.g. an i2s pin must be mapped to > - fifo#0 and fifo#1 before mapping a channel to fifo#2. Default > - value is <0>, describing SD0 pin beiging routed to hdmi audio > - fifo #0. > - - clocks: phandle and clock specifier for each clock listed in > - the clock-names property > - - clock-names: "mclk" > - Describes SII902x MCLK input. MCLK can be used to produce > - HDMI audio CTS values. This property follows > - Documentation/devicetree/bindings/clock/clock-bindings.txt > - consumer binding. > - > - If HDMI audio is configured the sii902x device becomes an I2S > - and/or spdif audio codec component (e.g a digital audio sink), > - that can be used in configuring a full audio devices with > - simple-card or audio-graph-card binding. See their binding > - documents on how to describe the way the sii902x device is > - connected to the rest of the audio system: > - Documentation/devicetree/bindings/sound/simple-card.yaml > - Documentation/devicetree/bindings/sound/audio-graph-card.yaml > - Note: In case of the audio-graph-card binding the used port > - index should be 3. At least the audio port was defined. > - > -Optional subnodes: > - - video input: this subnode can contain a video input port node > - to connect the bridge to a display controller output (See this > - documentation [1]). > - > -[1]: Documentation/devicetree/bindings/media/video-interfaces.txt > - > -Example: > - hdmi-bridge@39 { > - compatible = "sil,sii9022"; > - reg = <0x39>; > - reset-gpios = <&pioA 1 0>; > - iovcc-supply = <&v3v3_hdmi>; > - cvcc12-supply = <&v1v2_hdmi>; > - > - #sound-dai-cells = <0>; > - sil,i2s-data-lanes = < 0 1 2 >; > - clocks = <&mclk>; > - clock-names = "mclk"; > - > - ports { > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - reg = <0>; > - bridge_in: endpoint { > - remote-endpoint = <&dc_out>; > - }; > - }; > - }; > - }; > diff --git a/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml b/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml > new file mode 100644 > index 0000000000000000..b39537f4fe8694ef > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml > @@ -0,0 +1,133 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/sil,sii9022.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Silicon Image sii902x HDMI bridge > + > +maintainers: > + - Boris Brezillon <bbrezillon@kernel.org> > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - sil,sii9022-cpi > + - sil,sii9022-tpi > + - const: sil,sii9022 > + - const: sil,sii9022 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + description: Interrupt line used to inform the host about hotplug events. > + > + reset-gpios: > + maxItems: 1 > + > + iovcc-supply: > + description: I/O Supply Voltage (1.8V or 3.3V) > + > + cvcc12-supply: > + description: Digital Core Supply Voltage (1.2V) > + > + '#sound-dai-cells': > + enum: [ 0, 1 ] > + description: | > + <0> if only i2s or spdif pin is wired, > + <1> if both are wired. > + HDMI audio is configured only if this property is found. > + If HDMI audio is configured the sii902x device becomes an I2S and/or > + spdif audio codec component (e.g. a digital audio sink), that can be used > + in configuring a full audio devices with simple-card or audio-graph-card > + binding. See their binding documents on how to describe the way the > + sii902x device is connected to the rest of the audio system: > + Documentation/devicetree/bindings/sound/simple-card.yaml > + Documentation/devicetree/bindings/sound/audio-graph-card.yaml > + Note: In case of the audio-graph-card binding the used port index should > + be 3. > + > + sil,i2s-data-lanes: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 4 > + uniqueItems: true > + items: > + enum: [ 0, 1, 2, 3 ] > + description: > + Each integer indicates which i2s pin is connected to which audio fifo. > + The first integer selects i2s audio pin for the first audio fifo#0 (HDMI > + channels 1&2), second for fifo#1 (HDMI channels 3&4), and so on. There > + are 4 fifos and 4 i2s pins (SD0 - SD3). Any i2s pin can be connected to > + any fifo, but there can be no gaps. E.g. an i2s pin must be mapped to > + fifo#0 and fifo#1 before mapping a channel to fifo#2. Default value is > + <0>, describing SD0 pin being routed to hdmi audio fifo #0. > + > + clocks: > + maxItems: 1 > + description: MCLK input. MCLK can be used to produce HDMI audio CTS values. > + > + clock-names: > + const: mclk > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + type: object $ref: /schemas/graph.yaml#/properties/port > + description: FIXME > + > + port@1: > + type: object $ref: /schemas/graph.yaml#/properties/port > + description: FIXME > + > + port@2: > + type: object > + description: FIXME > + > + port@3: > + type: object > + description: FIXME > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + hdmi-bridge@39 { > + compatible = "sil,sii9022"; > + reg = <0x39>; > + reset-gpios = <&pioA 1 0>; > + iovcc-supply = <&v3v3_hdmi>; > + cvcc12-supply = <&v1v2_hdmi>; > + > + #sound-dai-cells = <0>; > + sil,i2s-data-lanes = < 0 1 2 >; > + clocks = <&mclk>; > + clock-names = "mclk"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + bridge_in: endpoint { > + remote-endpoint = <&dc_out>; > + }; > + }; > + }; > + }; > + }; > -- > 2.25.1 > >
diff --git a/Documentation/devicetree/bindings/display/bridge/sii902x.txt b/Documentation/devicetree/bindings/display/bridge/sii902x.txt deleted file mode 100644 index 3bc760cc31cbbeee..0000000000000000 --- a/Documentation/devicetree/bindings/display/bridge/sii902x.txt +++ /dev/null @@ -1,78 +0,0 @@ -sii902x HDMI bridge bindings - -Required properties: - - compatible: "sil,sii9022" - - reg: i2c address of the bridge - -Optional properties: - - interrupts: describe the interrupt line used to inform the host - about hotplug events. - - reset-gpios: OF device-tree gpio specification for RST_N pin. - - iovcc-supply: I/O Supply Voltage (1.8V or 3.3V) - - cvcc12-supply: Digital Core Supply Voltage (1.2V) - - HDMI audio properties: - - #sound-dai-cells: <0> or <1>. <0> if only i2s or spdif pin - is wired, <1> if the both are wired. HDMI audio is - configured only if this property is found. - - sil,i2s-data-lanes: Array of up to 4 integers with values of 0-3 - Each integer indicates which i2s pin is connected to which - audio fifo. The first integer selects i2s audio pin for the - first audio fifo#0 (HDMI channels 1&2), second for fifo#1 - (HDMI channels 3&4), and so on. There is 4 fifos and 4 i2s - pins (SD0 - SD3). Any i2s pin can be connected to any fifo, - but there can be no gaps. E.g. an i2s pin must be mapped to - fifo#0 and fifo#1 before mapping a channel to fifo#2. Default - value is <0>, describing SD0 pin beiging routed to hdmi audio - fifo #0. - - clocks: phandle and clock specifier for each clock listed in - the clock-names property - - clock-names: "mclk" - Describes SII902x MCLK input. MCLK can be used to produce - HDMI audio CTS values. This property follows - Documentation/devicetree/bindings/clock/clock-bindings.txt - consumer binding. - - If HDMI audio is configured the sii902x device becomes an I2S - and/or spdif audio codec component (e.g a digital audio sink), - that can be used in configuring a full audio devices with - simple-card or audio-graph-card binding. See their binding - documents on how to describe the way the sii902x device is - connected to the rest of the audio system: - Documentation/devicetree/bindings/sound/simple-card.yaml - Documentation/devicetree/bindings/sound/audio-graph-card.yaml - Note: In case of the audio-graph-card binding the used port - index should be 3. - -Optional subnodes: - - video input: this subnode can contain a video input port node - to connect the bridge to a display controller output (See this - documentation [1]). - -[1]: Documentation/devicetree/bindings/media/video-interfaces.txt - -Example: - hdmi-bridge@39 { - compatible = "sil,sii9022"; - reg = <0x39>; - reset-gpios = <&pioA 1 0>; - iovcc-supply = <&v3v3_hdmi>; - cvcc12-supply = <&v1v2_hdmi>; - - #sound-dai-cells = <0>; - sil,i2s-data-lanes = < 0 1 2 >; - clocks = <&mclk>; - clock-names = "mclk"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - bridge_in: endpoint { - remote-endpoint = <&dc_out>; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml b/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml new file mode 100644 index 0000000000000000..b39537f4fe8694ef --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml @@ -0,0 +1,133 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/sil,sii9022.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Silicon Image sii902x HDMI bridge + +maintainers: + - Boris Brezillon <bbrezillon@kernel.org> + +properties: + compatible: + oneOf: + - items: + - enum: + - sil,sii9022-cpi + - sil,sii9022-tpi + - const: sil,sii9022 + - const: sil,sii9022 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + description: Interrupt line used to inform the host about hotplug events. + + reset-gpios: + maxItems: 1 + + iovcc-supply: + description: I/O Supply Voltage (1.8V or 3.3V) + + cvcc12-supply: + description: Digital Core Supply Voltage (1.2V) + + '#sound-dai-cells': + enum: [ 0, 1 ] + description: | + <0> if only i2s or spdif pin is wired, + <1> if both are wired. + HDMI audio is configured only if this property is found. + If HDMI audio is configured the sii902x device becomes an I2S and/or + spdif audio codec component (e.g. a digital audio sink), that can be used + in configuring a full audio devices with simple-card or audio-graph-card + binding. See their binding documents on how to describe the way the + sii902x device is connected to the rest of the audio system: + Documentation/devicetree/bindings/sound/simple-card.yaml + Documentation/devicetree/bindings/sound/audio-graph-card.yaml + Note: In case of the audio-graph-card binding the used port index should + be 3. + + sil,i2s-data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 4 + uniqueItems: true + items: + enum: [ 0, 1, 2, 3 ] + description: + Each integer indicates which i2s pin is connected to which audio fifo. + The first integer selects i2s audio pin for the first audio fifo#0 (HDMI + channels 1&2), second for fifo#1 (HDMI channels 3&4), and so on. There + are 4 fifos and 4 i2s pins (SD0 - SD3). Any i2s pin can be connected to + any fifo, but there can be no gaps. E.g. an i2s pin must be mapped to + fifo#0 and fifo#1 before mapping a channel to fifo#2. Default value is + <0>, describing SD0 pin being routed to hdmi audio fifo #0. + + clocks: + maxItems: 1 + description: MCLK input. MCLK can be used to produce HDMI audio CTS values. + + clock-names: + const: mclk + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + type: object + description: FIXME + + port@1: + type: object + description: FIXME + + port@2: + type: object + description: FIXME + + port@3: + type: object + description: FIXME + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + hdmi-bridge@39 { + compatible = "sil,sii9022"; + reg = <0x39>; + reset-gpios = <&pioA 1 0>; + iovcc-supply = <&v3v3_hdmi>; + cvcc12-supply = <&v1v2_hdmi>; + + #sound-dai-cells = <0>; + sil,i2s-data-lanes = < 0 1 2 >; + clocks = <&mclk>; + clock-names = "mclk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + bridge_in: endpoint { + remote-endpoint = <&dc_out>; + }; + }; + }; + }; + };
Convert the Silicon Image sii902x HDMI bridge Device Tree binding documentation to json-schema. Add missing sil,sii9022-cpi and sil,sii9022-tpi compatible values. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- RFC as I do not know the meaning of the various ports subnodes. v2: - Rework sil,i2s-data-lanes, - Add schema reference to ports. --- .../bindings/display/bridge/sii902x.txt | 78 ---------- .../bindings/display/bridge/sil,sii9022.yaml | 133 ++++++++++++++++++ 2 files changed, 133 insertions(+), 78 deletions(-) delete mode 100644 Documentation/devicetree/bindings/display/bridge/sii902x.txt create mode 100644 Documentation/devicetree/bindings/display/bridge/sil,sii9022.yaml