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