# 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 AXG Audio FIFO controllers maintainers: - Jerome Brunet <jbrunet@baylibre.com> properties: compatible: oneOf: - enum: - amlogic,axg-toddr - amlogic,axg-frddr - items: - enum: - amlogic,g12a-toddr - amlogic,sm1-toddr - const: amlogic,axg-toddr - items: - enum: - amlogic,g12a-frddr - amlogic,sm1-frddr - const: amlogic,axg-frddr reg: maxItems: 1 "#sound-dai-cells": const: 0 clocks: items: - description: Peripheral clock interrupts: maxItems: 1 resets: minItems: 1 maxItems: 2 reset-names: minItems: 1 maxItems: 2 amlogic,fifo-depth: $ref: /schemas/types.yaml#/definitions/uint32 description: Size of the controller's fifo in bytes required: - compatible - reg - "#sound-dai-cells" - clocks - interrupts - resets - amlogic,fifo-depth allOf: - $ref: dai-common.yaml# - if: properties: compatible: contains: enum: - amlogic,g12a-toddr - amlogic,sm1-toddr - amlogic,g12a-frddr - amlogic,sm1-frddr then: properties: resets: minItems: 2 reset-names: items: - const: arb - const: rst required: - reset-names else: properties: resets: maxItems: 1 reset-names: const: arb unevaluatedProperties: false examples: - | #include <dt-bindings/clock/axg-audio-clkc.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h> audio-controller@1c0 { compatible = "amlogic,g12a-frddr", "amlogic,axg-frddr"; reg = <0x1c0 0x1c>; #sound-dai-cells = <0>; clocks = <&clkc_audio AUD_CLKID_FRDDR_A>; interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>; resets = <&arb>, <&clkc_audio AUD_RESET_FRDDR_A>; reset-names = "arb", "rst"; amlogic,fifo-depth = <512>; };