All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema
@ 2025-02-24 18:25 Vincenzo Frascino
  2025-02-24 18:25 ` [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: " Vincenzo Frascino
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Vincenzo Frascino @ 2025-02-24 18:25 UTC (permalink / raw)
  To: linux-sound
  Cc: Vincenzo Frascino, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel

This series converts the folling Xilinx device tree binding documentation:
 - xlnx,i2s
 - xlnx,audio-formatter
 - xlnx,spdif
to json-schema.

To simplify the testing a linux tree rebased on 6.13-rc4 is accessible
at [1].

[1] https://codeberg.org/vincenzo/linux/src/branch/xlnx/dt-bindings/v4

Note: These bindings are required for future work on the ARM Morello
Platforms device tree.

Cc: Maruthi Srinivas Bayyavarapu <maruthi.srinivas.bayyavarapu@xilinx.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>

Changes
=======
v4:
  - Address review comments.
v3:
  - Address an issue with the MAINTAINERS file reported by the kernel
    test robot. 
v2:
  - Address review comments.
  - Rebase on 6.14-rc4.

Vincenzo Frascino (4):
  ASoC: dt-bindings: xlnx,i2s: Convert to json-schema
  ASoC: dt-bindings: xlnx,audio-formatter: Convert to json-schema
  ASoC: dt-bindings: xlnx,spdif: Convert to json-schema
  MAINTAINERS: Add Vincenzo Frascino as Xilinx Sound Driver Maintainer

 .../bindings/sound/xlnx,audio-formatter.txt   | 29 -------
 .../bindings/sound/xlnx,audio-formatter.yaml  | 77 +++++++++++++++++
 .../devicetree/bindings/sound/xlnx,i2s.txt    | 28 ------
 .../devicetree/bindings/sound/xlnx,i2s.yaml   | 65 ++++++++++++++
 .../devicetree/bindings/sound/xlnx,spdif.txt  | 28 ------
 .../devicetree/bindings/sound/xlnx,spdif.yaml | 85 +++++++++++++++++++
 MAINTAINERS                                   |  8 ++
 7 files changed, 235 insertions(+), 85 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
 create mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.txt
 create mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.txt
 create mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.yaml

-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: Convert to json-schema
  2025-02-24 18:25 [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema Vincenzo Frascino
@ 2025-02-24 18:25 ` Vincenzo Frascino
  2025-02-24 21:24   ` Rob Herring (Arm)
  2025-02-24 18:25 ` [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: " Vincenzo Frascino
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Vincenzo Frascino @ 2025-02-24 18:25 UTC (permalink / raw)
  To: linux-sound
  Cc: Vincenzo Frascino, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel

Convert the Xilinx I2S device tree binding documentation to json-schema.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
---
 .../devicetree/bindings/sound/xlnx,i2s.txt    | 28 --------
 .../devicetree/bindings/sound/xlnx,i2s.yaml   | 65 +++++++++++++++++++
 2 files changed, 65 insertions(+), 28 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.txt
 create mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.yaml

diff --git a/Documentation/devicetree/bindings/sound/xlnx,i2s.txt b/Documentation/devicetree/bindings/sound/xlnx,i2s.txt
deleted file mode 100644
index 5e7c7d5bb60a..000000000000
--- a/Documentation/devicetree/bindings/sound/xlnx,i2s.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-Device-Tree bindings for Xilinx I2S PL block
-
-The IP supports I2S based playback/capture audio
-
-Required property:
- - compatible: "xlnx,i2s-transmitter-1.0" for playback and
-	       "xlnx,i2s-receiver-1.0" for capture
-
-Required property common to both I2S playback and capture:
- - reg: Base address and size of the IP core instance.
- - xlnx,dwidth: sample data width. Can be any of 16, 24.
- - xlnx,num-channels: Number of I2S streams. Can be any of 1, 2, 3, 4.
-		      supported channels = 2 * xlnx,num-channels
-
-Example:
-
-	i2s_receiver@a0080000 {
-		compatible = "xlnx,i2s-receiver-1.0";
-		reg = <0x0 0xa0080000 0x0 0x10000>;
-		xlnx,dwidth = <0x18>;
-		xlnx,num-channels = <1>;
-	};
-	i2s_transmitter@a0090000 {
-		compatible = "xlnx,i2s-transmitter-1.0";
-		reg = <0x0 0xa0090000 0x0 0x10000>;
-		xlnx,dwidth = <0x18>;
-		xlnx,num-channels = <1>;
-	};
diff --git a/Documentation/devicetree/bindings/sound/xlnx,i2s.yaml b/Documentation/devicetree/bindings/sound/xlnx,i2s.yaml
new file mode 100644
index 000000000000..3c2b0be07c53
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/xlnx,i2s.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/xlnx,i2s.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Xilinx I2S PL block
+
+description:
+  The IP supports I2S based playback/capture audio.
+
+maintainers:
+  - Vincenzo Frascino <vincenzo.frascino@arm.com>
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  compatible:
+    enum:
+      - xlnx,i2s-receiver-1.0
+      - xlnx,i2s-transmitter-1.0
+
+  reg:
+    maxItems: 1
+
+  xlnx,dwidth:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 16
+      - 24
+    description: |
+      Sample data width.
+
+  xlnx,num-channels:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    minimum: 1
+    maximum: 4
+    description: |
+      Number of I2S streams.
+
+required:
+  - compatible
+  - reg
+  - xlnx,dwidth
+  - xlnx,num-channels
+
+additionalProperties: false
+
+examples:
+  - |
+    i2s@a0080000 {
+      compatible = "xlnx,i2s-receiver-1.0";
+      reg = <0xa0080000 0x10000>;
+      xlnx,dwidth = <0x18>;
+      xlnx,num-channels = <1>;
+    };
+    i2s@a0090000 {
+      compatible = "xlnx,i2s-transmitter-1.0";
+      reg = <0xa0090000 0x10000>;
+      xlnx,dwidth = <0x18>;
+      xlnx,num-channels = <1>;
+    };
+
+...
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: Convert to json-schema
  2025-02-24 18:25 [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema Vincenzo Frascino
  2025-02-24 18:25 ` [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: " Vincenzo Frascino
@ 2025-02-24 18:25 ` Vincenzo Frascino
  2025-02-24 21:28   ` Rob Herring
  2025-02-24 18:25 ` [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: " Vincenzo Frascino
  2025-02-24 18:25 ` [PATCH v4 4/4] MAINTAINERS: Add Vincenzo Frascino as Xilinx Sound Driver Maintainer Vincenzo Frascino
  3 siblings, 1 reply; 8+ messages in thread
From: Vincenzo Frascino @ 2025-02-24 18:25 UTC (permalink / raw)
  To: linux-sound
  Cc: Vincenzo Frascino, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel

Convert the Xilinx Audio Formatter 1.0  device tree binding documentation
to json-schema.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
---
 .../bindings/sound/xlnx,audio-formatter.txt   | 29 -------
 .../bindings/sound/xlnx,audio-formatter.yaml  | 77 +++++++++++++++++++
 2 files changed, 77 insertions(+), 29 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
 create mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml

diff --git a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
deleted file mode 100644
index cbc93c8f4963..000000000000
--- a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Device-Tree bindings for Xilinx PL audio formatter
-
-The IP core supports DMA, data formatting(AES<->PCM conversion)
-of audio samples.
-
-Required properties:
- - compatible: "xlnx,audio-formatter-1.0"
- - interrupt-names: Names specified to list of interrupts in same
-		    order mentioned under "interrupts".
-		    List of supported interrupt names are:
-		    "irq_mm2s" : interrupt from MM2S block
-		    "irq_s2mm" : interrupt from S2MM block
- - interrupts-parent: Phandle for interrupt controller.
- - interrupts: List of Interrupt numbers.
- - reg: Base address and size of the IP core instance.
- - clock-names: List of input clocks.
-   Required elements: "s_axi_lite_aclk", "aud_mclk"
- - clocks: Input clock specifier. Refer to common clock bindings.
-
-Example:
-	audio_ss_0_audio_formatter_0: audio_formatter@80010000 {
-		compatible = "xlnx,audio-formatter-1.0";
-		interrupt-names = "irq_mm2s", "irq_s2mm";
-		interrupt-parent = <&gic>;
-		interrupts = <0 104 4>, <0 105 4>;
-		reg = <0x0 0x80010000 0x0 0x1000>;
-		clock-names = "s_axi_lite_aclk", "aud_mclk";
-		clocks = <&clk 71>, <&clk_wiz_1 0>;
-	};
diff --git a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
new file mode 100644
index 000000000000..a83af71401aa
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/xlnx,audio-formatter.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Xilinx PL audio formatter
+
+description: |
+  The IP core supports DMA, data formatting(AES<->PCM conversion)
+  of audio samples.
+
+maintainers:
+  - Vincenzo Frascino <vincenzo.frascino@arm.com>
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  compatible:
+    enum:
+      - xlnx,audio-formatter-1.0
+
+  reg:
+    maxItems: 1
+
+  interrupt-names:
+    minItems: 1
+    items:
+      - const: irq_mm2s
+      - const: irq_s2mm
+    description: |
+      Names specified to list of interrupts in same order mentioned under
+      "interrupts". List of supported interrupt names are:
+      - "irq_mm2s" : interrupt from MM2S block
+      - "irq_s2mm" : interrupt from S2MM block
+
+  interrupts:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: s_axi_lite_aclk
+      - const: aud_mclk
+    description: |
+      List of input clocks.
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+    description: |
+      Input clock specifier. Refer to common clock bindings.
+
+required:
+  - compatible
+  - reg
+  - interrupt-names
+  - interrupts
+  - clock-names
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    audio_ss_0_audio_formatter_0: audio_formatter@80010000 {
+      compatible = "xlnx,audio-formatter-1.0";
+      interrupt-names = "irq_mm2s", "irq_s2mm";
+      interrupt-parent = <&gic>;
+      interrupts = <0 104 4>, <0 105 4>;
+      reg = <0x80010000 0x1000>;
+      clock-names = "s_axi_lite_aclk", "aud_mclk";
+      clocks = <&clk 71>, <&clk_wiz_1 0>;
+    };
+...
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: Convert to json-schema
  2025-02-24 18:25 [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema Vincenzo Frascino
  2025-02-24 18:25 ` [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: " Vincenzo Frascino
  2025-02-24 18:25 ` [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: " Vincenzo Frascino
@ 2025-02-24 18:25 ` Vincenzo Frascino
  2025-02-24 21:33   ` Rob Herring
  2025-02-24 18:25 ` [PATCH v4 4/4] MAINTAINERS: Add Vincenzo Frascino as Xilinx Sound Driver Maintainer Vincenzo Frascino
  3 siblings, 1 reply; 8+ messages in thread
From: Vincenzo Frascino @ 2025-02-24 18:25 UTC (permalink / raw)
  To: linux-sound
  Cc: Vincenzo Frascino, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel

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 | 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@arm.com>
+
+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.
+
+  clock-names:
+    items:
+      - const: aud_clk_i
+      - const: s_axi_aclk
+    description: |
+      List of input clocks.
+
+  clocks:
+    maxItems: 2
+    description: |
+      Input clock specifier. Refer to common clock bindings.
+
+  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 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 = <0x80010000 0x10000>;
+      xlnx,spdif-mode = <1>;
+      xlnx,aud_clk_i = <49152913>;
+    };
+
+...
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 4/4] MAINTAINERS: Add Vincenzo Frascino as Xilinx Sound Driver Maintainer
  2025-02-24 18:25 [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema Vincenzo Frascino
                   ` (2 preceding siblings ...)
  2025-02-24 18:25 ` [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: " Vincenzo Frascino
@ 2025-02-24 18:25 ` Vincenzo Frascino
  3 siblings, 0 replies; 8+ messages in thread
From: Vincenzo Frascino @ 2025-02-24 18:25 UTC (permalink / raw)
  To: linux-sound
  Cc: Vincenzo Frascino, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel

Add Vincenzo Frascino <vincenzo.frascino@arm.com> as Xilinx Sound Driver
Maintainer.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
---
 MAINTAINERS | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4ff26fa94895..ffb3178fd53c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -26012,6 +26012,14 @@ S:	Maintained
 F:	drivers/pwm/pwm-xilinx.c
 F:	include/clocksource/timer-xilinx.h
 
+XILINX SOUND DRIVERS
+M:	Vincenzo Frascino <vincenzo.frascino@arm.com>
+S:	Maintained
+F:	Documentation/devicetree/bindings/sound/xlnx,i2s.yaml
+F:	Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
+F:	Documentation/devicetree/bindings/sound/xlnx,spdif.yaml
+F:	sound/soc/xilinx/*
+
 XILINX SD-FEC IP CORES
 M:	Derek Kiernan <derek.kiernan@amd.com>
 M:	Dragan Cvetic <dragan.cvetic@amd.com>
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: Convert to json-schema
  2025-02-24 18:25 ` [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: " Vincenzo Frascino
@ 2025-02-24 21:24   ` Rob Herring (Arm)
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-02-24 21:24 UTC (permalink / raw)
  To: Vincenzo Frascino
  Cc: Maruthi Srinivas Bayyavarapu, Conor Dooley, devicetree,
	linux-kernel, linux-sound, Krzysztof Kozlowski, Sudeep Holla,
	Mark Brown, Liam Girdwood


On Mon, 24 Feb 2025 18:25:45 +0000, Vincenzo Frascino wrote:
> Convert the Xilinx I2S device tree binding documentation to json-schema.
> 
> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
> ---
>  .../devicetree/bindings/sound/xlnx,i2s.txt    | 28 --------
>  .../devicetree/bindings/sound/xlnx,i2s.yaml   | 65 +++++++++++++++++++
>  2 files changed, 65 insertions(+), 28 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.yaml
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: Convert to json-schema
  2025-02-24 18:25 ` [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: " Vincenzo Frascino
@ 2025-02-24 21:28   ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2025-02-24 21:28 UTC (permalink / raw)
  To: Vincenzo Frascino
  Cc: linux-sound, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-kernel

On Mon, Feb 24, 2025 at 06:25:46PM +0000, Vincenzo Frascino wrote:
> Convert the Xilinx Audio Formatter 1.0  device tree binding documentation
> to json-schema.
> 
> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
> ---
>  .../bindings/sound/xlnx,audio-formatter.txt   | 29 -------
>  .../bindings/sound/xlnx,audio-formatter.yaml  | 77 +++++++++++++++++++
>  2 files changed, 77 insertions(+), 29 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
> deleted file mode 100644
> index cbc93c8f4963..000000000000
> --- a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -Device-Tree bindings for Xilinx PL audio formatter
> -
> -The IP core supports DMA, data formatting(AES<->PCM conversion)
> -of audio samples.
> -
> -Required properties:
> - - compatible: "xlnx,audio-formatter-1.0"
> - - interrupt-names: Names specified to list of interrupts in same
> -		    order mentioned under "interrupts".
> -		    List of supported interrupt names are:
> -		    "irq_mm2s" : interrupt from MM2S block
> -		    "irq_s2mm" : interrupt from S2MM block
> - - interrupts-parent: Phandle for interrupt controller.
> - - interrupts: List of Interrupt numbers.
> - - reg: Base address and size of the IP core instance.
> - - clock-names: List of input clocks.
> -   Required elements: "s_axi_lite_aclk", "aud_mclk"
> - - clocks: Input clock specifier. Refer to common clock bindings.
> -
> -Example:
> -	audio_ss_0_audio_formatter_0: audio_formatter@80010000 {
> -		compatible = "xlnx,audio-formatter-1.0";
> -		interrupt-names = "irq_mm2s", "irq_s2mm";
> -		interrupt-parent = <&gic>;
> -		interrupts = <0 104 4>, <0 105 4>;
> -		reg = <0x0 0x80010000 0x0 0x1000>;
> -		clock-names = "s_axi_lite_aclk", "aud_mclk";
> -		clocks = <&clk 71>, <&clk_wiz_1 0>;
> -	};
> diff --git a/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
> new file mode 100644
> index 000000000000..a83af71401aa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/xlnx,audio-formatter.yaml
> @@ -0,0 +1,77 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/xlnx,audio-formatter.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx PL audio formatter
> +
> +description: |

Don't need '|'

> +  The IP core supports DMA, data formatting(AES<->PCM conversion)
> +  of audio samples.
> +
> +maintainers:
> +  - Vincenzo Frascino <vincenzo.frascino@arm.com>
> +
> +allOf:
> +  - $ref: dai-common.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - xlnx,audio-formatter-1.0
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupt-names:
> +    minItems: 1
> +    items:
> +      - const: irq_mm2s
> +      - const: irq_s2mm
> +    description: |
> +      Names specified to list of interrupts in same order mentioned under
> +      "interrupts". List of supported interrupt names are:
> +      - "irq_mm2s" : interrupt from MM2S block
> +      - "irq_s2mm" : interrupt from S2MM block

Don't repeat constraints in prose and don't describe how common 
properties work. IOW, drop the description completely.

> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 2

If you want to describe each interrupt, then here put:

minItems: 1
items:
  - description: describe 1st interrupt...
  - description: ...

> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: s_axi_lite_aclk
> +      - const: aud_mclk
> +    description: |
> +      List of input clocks.

Drop

> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 2
> +    description: |
> +      Input clock specifier. Refer to common clock bindings.

Drop

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupt-names
> +  - interrupts
> +  - clock-names
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    audio_ss_0_audio_formatter_0: audio_formatter@80010000 {
> +      compatible = "xlnx,audio-formatter-1.0";
> +      interrupt-names = "irq_mm2s", "irq_s2mm";
> +      interrupt-parent = <&gic>;
> +      interrupts = <0 104 4>, <0 105 4>;
> +      reg = <0x80010000 0x1000>;
> +      clock-names = "s_axi_lite_aclk", "aud_mclk";
> +      clocks = <&clk 71>, <&clk_wiz_1 0>;
> +    };
> +...
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: Convert to json-schema
  2025-02-24 18:25 ` [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: " Vincenzo Frascino
@ 2025-02-24 21:33   ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2025-02-24 21:33 UTC (permalink / raw)
  To: Vincenzo Frascino
  Cc: linux-sound, Maruthi Srinivas Bayyavarapu, Sudeep Holla,
	Liam Girdwood, Mark Brown, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-kernel

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@arm.com>
> ---
>  .../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@arm.com>
> +
> +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
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-02-24 21:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-24 18:25 [PATCH v4 0/4] xlnx: dt-bindings: Convert to json-schema Vincenzo Frascino
2025-02-24 18:25 ` [PATCH v4 1/4] ASoC: dt-bindings: xlnx,i2s: " Vincenzo Frascino
2025-02-24 21:24   ` Rob Herring (Arm)
2025-02-24 18:25 ` [PATCH v4 2/4] ASoC: dt-bindings: xlnx,audio-formatter: " Vincenzo Frascino
2025-02-24 21:28   ` Rob Herring
2025-02-24 18:25 ` [PATCH v4 3/4] ASoC: dt-bindings: xlnx,spdif: " Vincenzo Frascino
2025-02-24 21:33   ` Rob Herring
2025-02-24 18:25 ` [PATCH v4 4/4] MAINTAINERS: Add Vincenzo Frascino as Xilinx Sound Driver Maintainer Vincenzo Frascino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.