Convert the Xilinx SPDIF 2.0 device tree binding documentation to
json-schema.
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
---
.../devicetree/bindings/sound/xlnx,spdif.txt | 28 -------
.../devicetree/bindings/sound/xlnx,spdif.yaml | 83 +++++++++++++++++++
2 files changed, 83 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..ea07c0b0d003
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml
@@ -0,0 +1,83 @@
+# 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@arm.com>
+
+allOf:
+ - $ref: dai-common.yaml#
+
+properties:
+ compatible:
+ enum:
+ - xlnx,spdif-2.0
+
+ reg:
+ maxItems: 1
+
+ interrupt-names:
+ items:
+ - const: spdif_interrupt
+
+ interrupts:
+ items:
+ - description: SPDIF audio interrupt
+
+ clock-names:
+ items:
+ - const: aud_clk_i
+ - const: s_axi_aclk
+
+ clocks:
+ minItems: 1
+ items:
+ - description: input audio clock
+ - description: clock for the AXI data stream
+
+ 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:
+ Input audio clock frequency. It affects the sampling rate.
+
+required:
+ - compatible
+ - reg
+ - interrupt-names
+ - interrupts
+ - clock-names
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ spdif@80010000 {
+ compatible = "xlnx,spdif-2.0";
+ reg = <0x80010000 0x10000>;
+ clock-names = "aud_clk_i", "s_axi_aclk";
+ clocks = <&misc_clk_0>, <&clk 71>;
+ interrupt-names = "spdif_interrupt";
+ interrupt-parent = <&gic>;
+ interrupts = <0 91 4>;
+ xlnx,spdif-mode = <1>;
+ xlnx,aud_clk_i = <49152913>;
+ };
+
+...
--
2.43.0
On Tue, Feb 25, 2025 at 07:07:45PM +0000, Vincenzo Frascino wrote:
> Convert the Xilinx SPDIF 2.0 device tree binding documentation to
> json-schema.
>
> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
> ---
> .../devicetree/bindings/sound/xlnx,spdif.txt | 28 -------
> .../devicetree/bindings/sound/xlnx,spdif.yaml | 83 +++++++++++++++++++
> 2 files changed, 83 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..ea07c0b0d003
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml
> @@ -0,0 +1,83 @@
> +# 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@arm.com>
> +
> +allOf:
> + - $ref: dai-common.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - xlnx,spdif-2.0
> +
> + reg:
> + maxItems: 1
> +
> + interrupt-names:
> + items:
> + - const: spdif_interrupt
This was in the example, but otherwise wasn't documented before. And the
Linux driver doesn't need it. So let's drop 'interrupt-names' because it
is pointless here. 'spdif' is redundant because this the the spdif
block. 'interrupt' is redundant because it's only interrupts in this
list.
Don't forget the example.
With that,
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Hi Rob On 25/02/2025 22:19, Rob Herring wrote: > This was in the example, but otherwise wasn't documented before. And the > Linux driver doesn't need it. So let's drop 'interrupt-names' because it > is pointless here. 'spdif' is redundant because this the the spdif > block. 'interrupt' is redundant because it's only interrupts in this > list. > > Don't forget the example. > > With that, > > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Thank you for your help! -- Regards, Vincenzo
© 2016 - 2026 Red Hat, Inc.