ASoC: dt-bindings: atmel-classd: Convert to json-schema
authorRyan Wanner <Ryan.Wanner@microchip.com>
Fri, 15 Jul 2022 16:29:21 +0000 (09:29 -0700)
committerMark Brown <broonie@kernel.org>
Wed, 20 Jul 2022 13:03:43 +0000 (14:03 +0100)
Convert atmel CLASSD devicetree binding to json-schema.
Change file name to match json-scheme naming.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220715162922.660859-2-Ryan.Wanner@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/sound/atmel-classd.txt [deleted file]

diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml
new file mode 100644 (file)
index 0000000..43d0470
--- /dev/null
@@ -0,0 +1,100 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/atmel,sama5d2-classd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel ClassD Amplifier
+
+maintainers:
+  - Nicolas Ferre <nicolas.ferre@microchip.com>
+  - Alexandre Belloni <alexandre.belloni@bootlin.com>
+  - Claudiu Beznea <claudiu.beznea@microchip.com>
+
+description:
+  The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width
+  Modulated (PWM) output stereo Class D amplifier.
+
+properties:
+  compatible:
+    const: atmel,sama5d2-classd
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    const: tx
+
+  clocks:
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: pclk
+      - const: gclk
+
+  atmel,model:
+    $ref: /schemas/types.yaml#/definitions/string
+    default: CLASSD
+    description: The user-visible name of this sound complex.
+
+  atmel,pwm-type:
+    $ref: /schemas/types.yaml#/definitions/string
+    enum:
+      - single
+      - diff
+    default: single
+    description: PWM modulation type.
+
+  atmel,non-overlap-time:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 5
+      - 10
+      - 15
+      - 20
+    default: 10
+    description:
+      Set non-overlapping time, the unit is nanosecond(ns).
+      Non-overlapping will be disabled if not specified.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - dmas
+  - dma-names
+  - clock-names
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/dma/at91.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    classd: sound@fc048000 {
+        compatible = "atmel,sama5d2-classd";
+        reg = <0xfc048000 0x100>;
+        interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
+        dmas = <&dma0
+            (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
+            | AT91_XDMAC_DT_PERID(47))>;
+        dma-names = "tx";
+        clocks = <&classd_clk>, <&classd_gclk>;
+        clock-names = "pclk", "gclk";
+        assigned-clocks = <&classd_gclk>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_classd_default>;
+        atmel,model = "classd @ SAMA5D2-Xplained";
+        atmel,pwm-type = "diff";
+        atmel,non-overlap-time = <10>;
+    };
diff --git a/Documentation/devicetree/bindings/sound/atmel-classd.txt b/Documentation/devicetree/bindings/sound/atmel-classd.txt
deleted file mode 100644 (file)
index 8985510..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-* Atmel ClassD driver under ALSA SoC architecture
-
-Required properties:
-- compatible
-       Should be "atmel,sama5d2-classd".
-- reg
-       Should contain ClassD registers location and length.
-- interrupts
-       Should contain the IRQ line for the ClassD.
-- dmas
-       One DMA specifiers as described in atmel-dma.txt and dma.txt files.
-- dma-names
-       Must be "tx".
-- clock-names
-       Tuple listing input clock names.
-       Required elements: "pclk" and "gclk".
-- clocks
-       Please refer to clock-bindings.txt.
-- assigned-clocks
-       Should be <&classd_gclk>.
-
-Optional properties:
-- pinctrl-names, pinctrl-0
-       Please refer to pinctrl-bindings.txt.
-- atmel,model
-       The user-visible name of this sound complex.
-       The default value is "CLASSD".
-- atmel,pwm-type
-       PWM modulation type, "single" or "diff".
-       The default value is "single".
-- atmel,non-overlap-time
-       Set non-overlapping time, the unit is nanosecond(ns).
-       There are four values,
-       <5>, <10>, <15>, <20>, the default value is <10>.
-       Non-overlapping will be disabled if not specified.
-
-Example:
-classd: classd@fc048000 {
-               compatible = "atmel,sama5d2-classd";
-               reg = <0xfc048000 0x100>;
-               interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
-               dmas = <&dma0
-                       (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
-                       | AT91_XDMAC_DT_PERID(47))>;
-               dma-names = "tx";
-               clocks = <&classd_clk>, <&classd_gclk>;
-               clock-names = "pclk", "gclk";
-               assigned-clocks = <&classd_gclk>;
-
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_classd_default>;
-               atmel,model = "classd @ SAMA5D2-Xplained";
-               atmel,pwm-type = "diff";
-               atmel,non-overlap-time = <10>;
-};