[PATCH 2/2] ASoC: meson: axg-fifo: convert Amlogic FIFO controller to yaml
Alexander Stein
alexander.stein at mailbox.org
Sat Jan 15 01:35:57 PST 2022
Convert Amlogic FIFO controller documentation to yaml format.
Signed-off-by: Alexander Stein <alexander.stein at mailbox.org>
---
Things to note:
First of, Jerome, sorry for adding you as maintainer, but
1) it's mandatory
2) your are the (only) author of amlogic,axg-fifo.txt
Please add your Signed-off-by if that is okay with you.
License is mandated by checkpath, not my choice.
I'm not so sure about the compatible check. Essentially it is either
* 'amlogic,axg-frddr' OR
* 'amlogic,g12a-frddr' + 'amlogic,axg-frddr'
(or 'sm1' instead of 'g12a')
Same goes for *-toddr. Is this schema correct in that regard? At least I
got no warnings on existing device trees.
.../bindings/sound/amlogic,axg-fifo.txt | 34 -------
.../bindings/sound/amlogic,axg-fifo.yaml | 97 +++++++++++++++++++
2 files changed, 97 insertions(+), 34 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
deleted file mode 100644
index fa4545ed81ca..000000000000
--- a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-* Amlogic Audio FIFO controllers
-
-Required properties:
-- compatible: 'amlogic,axg-toddr' or
- 'amlogic,axg-toddr' or
- 'amlogic,g12a-frddr' or
- 'amlogic,g12a-toddr' or
- 'amlogic,sm1-frddr' or
- 'amlogic,sm1-toddr'
-- reg: physical base address of the controller and length of memory
- mapped region.
-- interrupts: interrupt specifier for the fifo.
-- clocks: phandle to the fifo peripheral clock provided by the audio
- clock controller.
-- resets: list of reset phandle, one for each entry reset-names.
-- reset-names: should contain the following:
- * "arb" : memory ARB line (required)
- * "rst" : dedicated device reset line (optional)
-- #sound-dai-cells: must be 0.
-- amlogic,fifo-depth: The size of the controller's fifo in bytes. This
- is useful for determining certain configuration such
- as the flush threshold of the fifo
-
-Example of FRDDR A on the A113 SoC:
-
-frddr_a: audio-controller at 1c0 {
- compatible = "amlogic,axg-frddr";
- reg = <0x0 0x1c0 0x0 0x1c>;
- #sound-dai-cells = <0>;
- interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
- clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
- resets = <&arb AXG_ARB_FRDDR_A>;
- fifo-depth = <512>;
-};
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
new file mode 100644
index 000000000000..54bc073591f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
@@ -0,0 +1,97 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic Audio FIFO controllers
+
+maintainers:
+ - Jerome Brunet <jbrunet at baylibre.com>
+
+allOf:
+ - $ref: name-prefix.yaml#
+
+properties:
+ $nodename:
+ pattern: "^audio-controller at .*"
+
+ "#sound-dai-cells":
+ const: 0
+
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - amlogic,g12a-frddr
+ - amlogic,sm1-frddr
+ - const: amlogic,axg-frddr
+ - const: amlogic,axg-frddr
+ - items:
+ - enum:
+ - amlogic,g12a-toddr
+ - amlogic,sm1-toddr
+ - const: amlogic,axg-toddr
+ - const: amlogic,axg-toddr
+
+ reg:
+ items:
+ - description: physical base address of the controller
+
+ interrupts:
+ items:
+ - description: FIFO interrupt
+
+ clocks:
+ items:
+ - description: FIFO peripheral clock provided by the audio clock controller
+
+ resets:
+ minItems: 1
+ items:
+ - description: memory ARB line
+ - description: optional device reset line
+
+ reset-names:
+ minItems: 1
+ items:
+ - const: arb
+ - const: rst
+
+ amlogic,fifo-depth:
+ description: >
+ The size of the controller's fifo in bytes. This
+ is useful for determining certain configuration such
+ as the flush threshold of the fifo
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ sound-name-prefix: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - resets
+ - reset-names
+ - '#sound-dai-cells'
+ - amlogic,fifo-depth
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/axg-audio-clkc.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
+
+ frddr_a: audio-controller at 1c0 {
+ compatible = "amlogic,axg-frddr";
+ reg = <0x1c0 0x1c>;
+ #sound-dai-cells = <0>;
+ interrupts = <88 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
+ resets = <&arb AXG_ARB_FRDDR_A>;
+ reset-names = "arb";
+ amlogic,fifo-depth = <512>;
+ };
--
2.34.1
More information about the linux-amlogic
mailing list