[PATCH 1/6] dt-bindings: sound: amlogic: add schemas for audin components

Valerio Setti vsetti at baylibre.com
Fri Sep 11 15:14:31 PDT 2026


Add schemas for "amlogic,meson-gx-audin" and "amlogic,meson-gx-audin-fifo".
They provide I2S audio input support to the Meson GX platforms (GXBB/GXL).

Signed-off-by: Valerio Setti <vsetti at baylibre.com>
---
 .../sound/amlogic,meson-gx-audin-fifo.yaml         | 52 ++++++++++++
 .../bindings/sound/amlogic,meson-gx-audin.yaml     | 96 ++++++++++++++++++++++
 2 files changed, 148 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin-fifo.yaml b/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin-fifo.yaml
new file mode 100644
index 000000000000..a01fe22b9786
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin-fifo.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/amlogic,meson-gx-audin-fifo.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic GX AUDIN FIFO controller
+
+maintainers:
+  - Valerio Setti <vsetti at baylibre.com>
+
+description: |-
+  AUDIN FIFO receives audio data from backend interfaces (ex: I2S, SPDIF),
+  stores them into a FIFO in a configurable way and then bulk copies all the
+  data in RAM when the FIFO is full.
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  $nodename:
+    pattern: "^audio-controller@[0-9a-f]+$"
+
+  compatible:
+    items:
+      - enum:
+          - amlogic,meson-gxbb-audin-fifo
+          - amlogic,meson-gxl-audin-fifo
+      - const: amlogic,meson-gx-audin-fifo
+
+  reg:
+    maxItems: 1
+
+  "#sound-dai-cells":
+    const: 0
+
+required:
+  - compatible
+  - reg
+  - "#sound-dai-cells"
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    audio-controller at 80 {
+      compatible = "amlogic,meson-gxbb-audin-fifo",
+                   "amlogic,meson-gx-audin-fifo";
+      reg = <0x80 0x1c>;
+      #sound-dai-cells = <0>;
+      sound-name-prefix = "AUDIN FIFO0";
+    };
diff --git a/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin.yaml b/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin.yaml
new file mode 100644
index 000000000000..d8dceaf28957
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/amlogic,meson-gx-audin.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/amlogic,meson-gx-audin.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic GX AUDIN
+
+maintainers:
+  - Valerio Setti <vsetti at baylibre.com>
+
+description: |-
+  AUDIN provides audio input support for the Amlogic GX based platforms
+  (GXBB/GXL). DT-wise it acts as parent node for FIFO child nodes, whereas
+  from sound subsystem point of view it is a component providing data
+  formatting widgets.
+  Supported audio formats are: I2S, SPDIF and PCM.
+
+allOf:
+  - $ref: component-common.yaml#
+
+properties:
+  $nodename:
+    pattern: "^audio-controller@[0-9a-f]+$"
+
+  compatible:
+    items:
+      - enum:
+          - amlogic,meson-gxbb-audin
+          - amlogic,meson-gxl-audin
+      - const: amlogic,meson-gx-audin
+
+  reg:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges: true
+
+  resets:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: AUDIN peripheral clock
+
+patternProperties:
+  "^audio-controller@[0-9a-f]+$":
+    type: object
+    $ref: amlogic,meson-gx-audin-fifo.yaml#
+
+required:
+  - compatible
+  - reg
+  - "#address-cells"
+  - "#size-cells"
+  - resets
+  - interrupts
+  - ranges
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/gxbb-clkc.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
+
+    audio-controller at a000 {
+      compatible = "amlogic,meson-gxbb-audin", "amlogic,meson-gx-audin";
+      reg = <0xa000 0x308>;
+      #address-cells = <1>;
+      #size-cells = <1>;
+      ranges = <0x0 0xa000 0x308>;
+      resets = <&reset RESET_AUDIN>;
+      interrupts = <GIC_SPI 7 IRQ_TYPE_EDGE_RISING>;
+      sound-name-prefix = "AUDIN";
+      clocks = <&clkc CLKID_I2S_SPDIF>;
+
+      audio-controller at 80 {
+        compatible = "amlogic,meson-gxbb-audin-fifo",
+                     "amlogic,meson-gx-audin-fifo";
+        reg = <0x80 0x1c>;
+        #sound-dai-cells = <0>;
+        sound-name-prefix = "AUDIN FIFO0";
+      };
+    };

-- 
2.47.3




More information about the linux-amlogic mailing list