1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/amlogic,aiu.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Amlogic AIU audio output controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Jerome Brunet <jbrunet@baylibre.com> 11c66ec88fSEmmanuel Vadot 12e67e8565SEmmanuel VadotallOf: 13*8bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 14e67e8565SEmmanuel Vadot 15c66ec88fSEmmanuel Vadotproperties: 16c66ec88fSEmmanuel Vadot $nodename: 17c66ec88fSEmmanuel Vadot pattern: "^audio-controller@.*" 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot "#sound-dai-cells": 20c66ec88fSEmmanuel Vadot const: 2 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot compatible: 23c66ec88fSEmmanuel Vadot items: 24c66ec88fSEmmanuel Vadot - enum: 25c66ec88fSEmmanuel Vadot - amlogic,aiu-gxbb 26c66ec88fSEmmanuel Vadot - amlogic,aiu-gxl 27c66ec88fSEmmanuel Vadot - amlogic,aiu-meson8 28c66ec88fSEmmanuel Vadot - amlogic,aiu-meson8b 29c66ec88fSEmmanuel Vadot - const: amlogic,aiu 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot clocks: 32c66ec88fSEmmanuel Vadot items: 33c66ec88fSEmmanuel Vadot - description: AIU peripheral clock 34c66ec88fSEmmanuel Vadot - description: I2S peripheral clock 35c66ec88fSEmmanuel Vadot - description: I2S output clock 36c66ec88fSEmmanuel Vadot - description: I2S master clock 37c66ec88fSEmmanuel Vadot - description: I2S mixer clock 38c66ec88fSEmmanuel Vadot - description: SPDIF peripheral clock 39c66ec88fSEmmanuel Vadot - description: SPDIF output clock 40c66ec88fSEmmanuel Vadot - description: SPDIF master clock 41c66ec88fSEmmanuel Vadot - description: SPDIF master clock multiplexer 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot clock-names: 44c66ec88fSEmmanuel Vadot items: 45c66ec88fSEmmanuel Vadot - const: pclk 46c66ec88fSEmmanuel Vadot - const: i2s_pclk 47c66ec88fSEmmanuel Vadot - const: i2s_aoclk 48c66ec88fSEmmanuel Vadot - const: i2s_mclk 49c66ec88fSEmmanuel Vadot - const: i2s_mixer 50c66ec88fSEmmanuel Vadot - const: spdif_pclk 51c66ec88fSEmmanuel Vadot - const: spdif_aoclk 52c66ec88fSEmmanuel Vadot - const: spdif_mclk 53c66ec88fSEmmanuel Vadot - const: spdif_mclk_sel 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot interrupts: 56c66ec88fSEmmanuel Vadot items: 57c66ec88fSEmmanuel Vadot - description: I2S interrupt line 58c66ec88fSEmmanuel Vadot - description: SPDIF interrupt line 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot interrupt-names: 61c66ec88fSEmmanuel Vadot items: 62c66ec88fSEmmanuel Vadot - const: i2s 63c66ec88fSEmmanuel Vadot - const: spdif 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot reg: 66c66ec88fSEmmanuel Vadot maxItems: 1 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot resets: 69c66ec88fSEmmanuel Vadot maxItems: 1 70c66ec88fSEmmanuel Vadot 71e67e8565SEmmanuel Vadot sound-name-prefix: true 72e67e8565SEmmanuel Vadot 73c66ec88fSEmmanuel Vadotrequired: 74c66ec88fSEmmanuel Vadot - "#sound-dai-cells" 75c66ec88fSEmmanuel Vadot - compatible 76c66ec88fSEmmanuel Vadot - clocks 77c66ec88fSEmmanuel Vadot - clock-names 78c66ec88fSEmmanuel Vadot - interrupts 79c66ec88fSEmmanuel Vadot - interrupt-names 80c66ec88fSEmmanuel Vadot - reg 81c66ec88fSEmmanuel Vadot - resets 82c66ec88fSEmmanuel Vadot 836be33864SEmmanuel VadotadditionalProperties: false 846be33864SEmmanuel Vadot 85c66ec88fSEmmanuel Vadotexamples: 86c66ec88fSEmmanuel Vadot - | 87c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/gxbb-clkc.h> 88c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 89c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 90c66ec88fSEmmanuel Vadot #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot aiu: audio-controller@5400 { 93c66ec88fSEmmanuel Vadot compatible = "amlogic,aiu-gxl", "amlogic,aiu"; 94c66ec88fSEmmanuel Vadot #sound-dai-cells = <2>; 95c66ec88fSEmmanuel Vadot reg = <0x5400 0x2ac>; 96c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>, 97c66ec88fSEmmanuel Vadot <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 98c66ec88fSEmmanuel Vadot interrupt-names = "i2s", "spdif"; 99c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_AIU_GLUE>, 100c66ec88fSEmmanuel Vadot <&clkc CLKID_I2S_OUT>, 101c66ec88fSEmmanuel Vadot <&clkc CLKID_AOCLK_GATE>, 102c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_AMCLK>, 103c66ec88fSEmmanuel Vadot <&clkc CLKID_MIXER_IFACE>, 104c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958>, 105c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958_GATE>, 106c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_MCLK_I958>, 107c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_I958>; 108c66ec88fSEmmanuel Vadot clock-names = "pclk", 109c66ec88fSEmmanuel Vadot "i2s_pclk", 110c66ec88fSEmmanuel Vadot "i2s_aoclk", 111c66ec88fSEmmanuel Vadot "i2s_mclk", 112c66ec88fSEmmanuel Vadot "i2s_mixer", 113c66ec88fSEmmanuel Vadot "spdif_pclk", 114c66ec88fSEmmanuel Vadot "spdif_aoclk", 115c66ec88fSEmmanuel Vadot "spdif_mclk", 116c66ec88fSEmmanuel Vadot "spdif_mclk_sel"; 117c66ec88fSEmmanuel Vadot resets = <&reset RESET_AIU>; 118c66ec88fSEmmanuel Vadot }; 119