Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / amlogic,aiu.yaml
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
7 title: Amlogic AIU audio output controller
8
9 maintainers:
10   - Jerome Brunet <jbrunet@baylibre.com>
11
12 properties:
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
68 required:
69   - "#sound-dai-cells"
70   - compatible
71   - clocks
72   - clock-names
73   - interrupts
74   - interrupt-names
75   - reg
76   - resets
77
78 additionalProperties: false
79
80 examples:
81   - |
82     #include <dt-bindings/clock/gxbb-clkc.h>
83     #include <dt-bindings/interrupt-controller/irq.h>
84     #include <dt-bindings/interrupt-controller/arm-gic.h>
85     #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
86
87     aiu: audio-controller@5400 {
88         compatible = "amlogic,aiu-gxl", "amlogic,aiu";
89         #sound-dai-cells = <2>;
90         reg = <0x5400 0x2ac>;
91         interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
92                      <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
93         interrupt-names = "i2s", "spdif";
94         clocks = <&clkc CLKID_AIU_GLUE>,
95                  <&clkc CLKID_I2S_OUT>,
96                  <&clkc CLKID_AOCLK_GATE>,
97                  <&clkc CLKID_CTS_AMCLK>,
98                  <&clkc CLKID_MIXER_IFACE>,
99                  <&clkc CLKID_IEC958>,
100                  <&clkc CLKID_IEC958_GATE>,
101                  <&clkc CLKID_CTS_MCLK_I958>,
102                  <&clkc CLKID_CTS_I958>;
103         clock-names = "pclk",
104                       "i2s_pclk",
105                       "i2s_aoclk",
106                       "i2s_mclk",
107                       "i2s_mixer",
108                       "spdif_pclk",
109                       "spdif_aoclk",
110                       "spdif_mclk",
111                       "spdif_mclk_sel";
112         resets = <&reset RESET_AIU>;
113     };