[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