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