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 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot $nodename: 14c66ec88fSEmmanuel Vadot pattern: "^audio-controller@.*" 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot "#sound-dai-cells": 17c66ec88fSEmmanuel Vadot const: 2 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot compatible: 20c66ec88fSEmmanuel Vadot items: 21c66ec88fSEmmanuel Vadot - enum: 22c66ec88fSEmmanuel Vadot - amlogic,aiu-gxbb 23c66ec88fSEmmanuel Vadot - amlogic,aiu-gxl 24c66ec88fSEmmanuel Vadot - amlogic,aiu-meson8 25c66ec88fSEmmanuel Vadot - amlogic,aiu-meson8b 26c66ec88fSEmmanuel Vadot - const: amlogic,aiu 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot clocks: 29c66ec88fSEmmanuel Vadot items: 30c66ec88fSEmmanuel Vadot - description: AIU peripheral clock 31c66ec88fSEmmanuel Vadot - description: I2S peripheral clock 32c66ec88fSEmmanuel Vadot - description: I2S output clock 33c66ec88fSEmmanuel Vadot - description: I2S master clock 34c66ec88fSEmmanuel Vadot - description: I2S mixer clock 35c66ec88fSEmmanuel Vadot - description: SPDIF peripheral clock 36c66ec88fSEmmanuel Vadot - description: SPDIF output clock 37c66ec88fSEmmanuel Vadot - description: SPDIF master clock 38c66ec88fSEmmanuel Vadot - description: SPDIF master clock multiplexer 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot clock-names: 41c66ec88fSEmmanuel Vadot items: 42c66ec88fSEmmanuel Vadot - const: pclk 43c66ec88fSEmmanuel Vadot - const: i2s_pclk 44c66ec88fSEmmanuel Vadot - const: i2s_aoclk 45c66ec88fSEmmanuel Vadot - const: i2s_mclk 46c66ec88fSEmmanuel Vadot - const: i2s_mixer 47c66ec88fSEmmanuel Vadot - const: spdif_pclk 48c66ec88fSEmmanuel Vadot - const: spdif_aoclk 49c66ec88fSEmmanuel Vadot - const: spdif_mclk 50c66ec88fSEmmanuel Vadot - const: spdif_mclk_sel 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot interrupts: 53c66ec88fSEmmanuel Vadot items: 54c66ec88fSEmmanuel Vadot - description: I2S interrupt line 55c66ec88fSEmmanuel Vadot - description: SPDIF interrupt line 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot interrupt-names: 58c66ec88fSEmmanuel Vadot items: 59c66ec88fSEmmanuel Vadot - const: i2s 60c66ec88fSEmmanuel Vadot - const: spdif 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot reg: 63c66ec88fSEmmanuel Vadot maxItems: 1 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot resets: 66c66ec88fSEmmanuel Vadot maxItems: 1 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadotrequired: 69c66ec88fSEmmanuel Vadot - "#sound-dai-cells" 70c66ec88fSEmmanuel Vadot - compatible 71c66ec88fSEmmanuel Vadot - clocks 72c66ec88fSEmmanuel Vadot - clock-names 73c66ec88fSEmmanuel Vadot - interrupts 74c66ec88fSEmmanuel Vadot - interrupt-names 75c66ec88fSEmmanuel Vadot - reg 76c66ec88fSEmmanuel Vadot - resets 77c66ec88fSEmmanuel Vadot 78*6be33864SEmmanuel VadotadditionalProperties: false 79*6be33864SEmmanuel Vadot 80c66ec88fSEmmanuel Vadotexamples: 81c66ec88fSEmmanuel Vadot - | 82c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/gxbb-clkc.h> 83c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 84c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 85c66ec88fSEmmanuel Vadot #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot aiu: audio-controller@5400 { 88c66ec88fSEmmanuel Vadot compatible = "amlogic,aiu-gxl", "amlogic,aiu"; 89c66ec88fSEmmanuel Vadot #sound-dai-cells = <2>; 90c66ec88fSEmmanuel Vadot reg = <0x5400 0x2ac>; 91c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>, 92c66ec88fSEmmanuel Vadot <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 93c66ec88fSEmmanuel Vadot interrupt-names = "i2s", "spdif"; 94c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_AIU_GLUE>, 95c66ec88fSEmmanuel Vadot <&clkc CLKID_I2S_OUT>, 96c66ec88fSEmmanuel Vadot <&clkc CLKID_AOCLK_GATE>, 97c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_AMCLK>, 98c66ec88fSEmmanuel Vadot <&clkc CLKID_MIXER_IFACE>, 99c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958>, 100c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958_GATE>, 101c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_MCLK_I958>, 102c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_I958>; 103c66ec88fSEmmanuel Vadot clock-names = "pclk", 104c66ec88fSEmmanuel Vadot "i2s_pclk", 105c66ec88fSEmmanuel Vadot "i2s_aoclk", 106c66ec88fSEmmanuel Vadot "i2s_mclk", 107c66ec88fSEmmanuel Vadot "i2s_mixer", 108c66ec88fSEmmanuel Vadot "spdif_pclk", 109c66ec88fSEmmanuel Vadot "spdif_aoclk", 110c66ec88fSEmmanuel Vadot "spdif_mclk", 111c66ec88fSEmmanuel Vadot "spdif_mclk_sel"; 112c66ec88fSEmmanuel Vadot resets = <&reset RESET_AIU>; 113c66ec88fSEmmanuel Vadot }; 114