On Mon, Feb 24, 2025 at 06:25:47PM +0000, Vincenzo Frascino wrote: > Convert the Xilinx SPDIF 2.0 device tree binding documentation to > json-schema. > > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> > --- > .../devicetree/bindings/sound/xlnx,spdif.txt | 28 ------ > .../devicetree/bindings/sound/xlnx,spdif.yaml | 85 +++++++++++++++++++ > 2 files changed, 85 insertions(+), 28 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.txt > create mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.yaml > > diff --git a/Documentation/devicetree/bindings/sound/xlnx,spdif.txt b/Documentation/devicetree/bindings/sound/xlnx,spdif.txt > deleted file mode 100644 > index 15c2d64d247c..000000000000 > --- a/Documentation/devicetree/bindings/sound/xlnx,spdif.txt > +++ /dev/null > @@ -1,28 +0,0 @@ > -Device-Tree bindings for Xilinx SPDIF IP > - > -The IP supports playback and capture of SPDIF audio > - > -Required properties: > - - compatible: "xlnx,spdif-2.0" > - - clock-names: List of input clocks. > - Required elements: "s_axi_aclk", "aud_clk_i" > - - clocks: Input clock specifier. Refer to common clock bindings. > - - reg: Base address and address length of the IP core instance. > - - interrupts-parent: Phandle for interrupt controller. > - - interrupts: List of Interrupt numbers. > - - xlnx,spdif-mode: 0 :- receiver mode > - 1 :- transmitter mode > - - xlnx,aud_clk_i: input audio clock value. > - > -Example: > - spdif_0: spdif@80010000 { > - clock-names = "aud_clk_i", "s_axi_aclk"; > - clocks = <&misc_clk_0>, <&clk 71>; > - compatible = "xlnx,spdif-2.0"; > - interrupt-names = "spdif_interrupt"; > - interrupt-parent = <&gic>; > - interrupts = <0 91 4>; > - reg = <0x0 0x80010000 0x0 0x10000>; > - xlnx,spdif-mode = <1>; > - xlnx,aud_clk_i = <49152913>; > - }; > diff --git a/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml b/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml > new file mode 100644 > index 000000000000..ad0b40a12c2b > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml > @@ -0,0 +1,85 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/xlnx,spdif.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Xilinx SPDIF IP > + > +description: > + The IP supports playback and capture of SPDIF audio. > + > +maintainers: > + - Vincenzo Frascino <vincenzo.frascino@xxxxxxx> > + > +allOf: > + - $ref: dai-common.yaml# > + > +properties: > + compatible: > + enum: > + - xlnx,spdif-2.0 > + > + reg: > + maxItems: 1 > + > + interrupt-names: > + items: > + - const: spdif_interrupt > + > + interrupts: > + maxItems: 1 > + description: | > + List of Interrupt numbers. Drop description. > + > + clock-names: > + items: > + - const: aud_clk_i > + - const: s_axi_aclk > + description: | > + List of input clocks. Drop > + > + clocks: > + maxItems: 2 > + description: | > + Input clock specifier. Refer to common clock bindings. Drop > + > + xlnx,spdif-mode: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: > + - 0 > + - 1 > + description: | > + 0 - receiver > + 1 - transmitter > + > + xlnx,aud_clk_i: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | Drop '|' > + Input audio clock value. Is value the frequency? If you know more detail, please add it. > + > +required: > + - compatible > + - reg > + - interrupt-names > + - interrupts > + - clock-names > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + spdif_0: spdif@80010000 { Drop unused labels. > + clock-names = "aud_clk_i", "s_axi_aclk"; > + clocks = <&misc_clk_0>, <&clk 71>; > + compatible = "xlnx,spdif-2.0"; 'compatible' goes first. Then reg. See Documentation/devicetree/bindings/dts-coding-style.rst for more details. > + interrupt-names = "spdif_interrupt"; > + interrupt-parent = <&gic>; > + interrupts = <0 91 4>; > + reg = <0x80010000 0x10000>; > + xlnx,spdif-mode = <1>; > + xlnx,aud_clk_i = <49152913>; > + }; > + > +... > -- > 2.43.0 >