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 | 100 ++++++++++++++++++
2 files changed, 100 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..5f585157c0d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml
@@ -0,0 +1,100 @@
+# 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: Device-Tree bindings for Xilinx SPDIF IP
+
+description: |
+ The IP supports playback and capture of SPDIF audio.
+
+maintainers:
+ - Vincenzo Frascino <vincenzo.frascino@arm.com>
+ - Maruthi Srinivas Bayyavarapu <maruthi.srinivas.bayyavarapu@xilinx.com>
+
+allOf:
+ - $ref: dai-common.yaml#
+
+properties:
+ compatible:
+ const: xlnx,spdif-2.0
+
+ reg:
+ maxItems: 1
+ description: |
+ Base address and size of the IP core instance.
+
+ "#sound-dai-cells":
+ const: 0
+
+ interrupt-names:
+ minItems: 1
+ maxItems: 3
+ description: |
+ Names specified to list of interrupts in same order mentioned under
+ "interrupts".
+
+ interrupts-parent:
+ $ref: /schemas/types.yaml#/definitions/string
+ maxItems: 1
+ description: |
+ Phandle for interrupt controller.
+
+ interrupts:
+ minItems: 1
+ maxItems: 3
+ description: |
+ List of Interrupt numbers.
+
+ clock-names:
+ minItems: 2
+ maxItems: 3
+ description: |
+ List of input clocks.
+
+ clocks:
+ minItems: 2
+ maxItems: 3
+ description: |
+ Input clock specifier. Refer to common clock bindings.
+
+ xlnx,spdif-mode:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maxItems: 1
+ minimum: 0
+ maximum: 1
+ description: |
+ 0 - receiver
+ 1 - transmitter
+
+ xlnx,aud_clk_i:
+ maxItems: 1
+ description: |
+ Input audio clock value.
+
+required:
+ - compatible
+ - reg
+ - interrupt-names
+ - interrupts
+ - clock-names
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ 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>;
+ };
+
+...
--
2.43.0
On Fri, 13 Dec 2024 16:52:40 +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 | 100 ++++++++++++++++++
> 2 files changed, 100 insertions(+), 28 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.txt
> create mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml: xlnx,aud_clk_i: missing type definition
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml: properties:xlnx,spdif-mode: 'minimum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']}
hint: Scalar and array keywords cannot be mixed
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml: properties:xlnx,spdif-mode: 'maximum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']}
hint: Scalar and array keywords cannot be mixed
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml: properties:xlnx,spdif-mode:maxItems: False schema does not allow 1
hint: Scalar properties should not have array keywords
from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.yaml: title: 'Device-Tree bindings for Xilinx SPDIF IP' should not be valid under {'pattern': '([Bb]inding| [Ss]chema)'}
hint: Everything is a binding/schema, no need to say it. Describe what hardware the binding is for.
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/xlnx,spdif.example.dtb: spdif@80010000: reg: [[0, 2147549184], [0, 65536]] is too long
from schema $id: http://devicetree.org/schemas/sound/xlnx,spdif.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241213165240.3652961-4-vincenzo.frascino@arm.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2026 Red Hat, Inc.