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