xref: /linux/Documentation/devicetree/bindings/sound/amlogic,aiu.yaml (revision 06b72824386795bf6f0a6ac0f0cfef6b7f0165c1)
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