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