xref: /linux/Documentation/devicetree/bindings/sound/mediatek,mt8189-afe-pcm.yaml (revision 2aa680df68062e4e0c356ec2aa7100c13654907b)
1*22e9bd51SCyril Chao# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*22e9bd51SCyril Chao%YAML 1.2
3*22e9bd51SCyril Chao---
4*22e9bd51SCyril Chao$id: http://devicetree.org/schemas/sound/mediatek,mt8189-afe-pcm.yaml#
5*22e9bd51SCyril Chao$schema: http://devicetree.org/meta-schemas/core.yaml#
6*22e9bd51SCyril Chao
7*22e9bd51SCyril Chaotitle: MediaTek Audio Front End PCM controller for MT8189
8*22e9bd51SCyril Chao
9*22e9bd51SCyril Chaomaintainers:
10*22e9bd51SCyril Chao  - Darren Ye <darren.ye@mediatek.com>
11*22e9bd51SCyril Chao  - Cyril Chao <cyril.chao@mediatek.com>
12*22e9bd51SCyril Chao
13*22e9bd51SCyril Chaoproperties:
14*22e9bd51SCyril Chao  compatible:
15*22e9bd51SCyril Chao    const: mediatek,mt8189-afe-pcm
16*22e9bd51SCyril Chao
17*22e9bd51SCyril Chao  reg:
18*22e9bd51SCyril Chao    maxItems: 1
19*22e9bd51SCyril Chao
20*22e9bd51SCyril Chao  interrupts:
21*22e9bd51SCyril Chao    maxItems: 1
22*22e9bd51SCyril Chao
23*22e9bd51SCyril Chao  memory-region:
24*22e9bd51SCyril Chao    maxItems: 1
25*22e9bd51SCyril Chao
26*22e9bd51SCyril Chao  mediatek,apmixedsys:
27*22e9bd51SCyril Chao    $ref: /schemas/types.yaml#/definitions/phandle
28*22e9bd51SCyril Chao    description: To set up the apll12 tuner
29*22e9bd51SCyril Chao
30*22e9bd51SCyril Chao  power-domains:
31*22e9bd51SCyril Chao    maxItems: 1
32*22e9bd51SCyril Chao
33*22e9bd51SCyril Chao  clocks:
34*22e9bd51SCyril Chao    items:
35*22e9bd51SCyril Chao      - description: mux for audio intbus
36*22e9bd51SCyril Chao      - description: mux for audio engen1
37*22e9bd51SCyril Chao      - description: mux for audio engen2
38*22e9bd51SCyril Chao      - description: mux for audio h
39*22e9bd51SCyril Chao      - description: audio apll1 clock
40*22e9bd51SCyril Chao      - description: audio apll2 clock
41*22e9bd51SCyril Chao      - description: audio apll1 divide4
42*22e9bd51SCyril Chao      - description: audio apll2 divide4
43*22e9bd51SCyril Chao      - description: audio apll12 divide for i2sin0
44*22e9bd51SCyril Chao      - description: audio apll12 divide for i2sin1
45*22e9bd51SCyril Chao      - description: audio apll12 divide for i2sout0
46*22e9bd51SCyril Chao      - description: audio apll12 divide for i2sout1
47*22e9bd51SCyril Chao      - description: audio apll12 divide for fmi2s
48*22e9bd51SCyril Chao      - description: audio apll12 divide for tdmout mck
49*22e9bd51SCyril Chao      - description: audio apll12 divide for tdmout bck
50*22e9bd51SCyril Chao      - description: mux for audio apll1
51*22e9bd51SCyril Chao      - description: mux for audio apll2
52*22e9bd51SCyril Chao      - description: mux for i2sin0 mck
53*22e9bd51SCyril Chao      - description: mux for i2sin1 mck
54*22e9bd51SCyril Chao      - description: mux for i2sout0 mck
55*22e9bd51SCyril Chao      - description: mux for i2sout1 mck
56*22e9bd51SCyril Chao      - description: mux for fmi2s mck
57*22e9bd51SCyril Chao      - description: mux for tdmout mck
58*22e9bd51SCyril Chao      - description: 26m clock
59*22e9bd51SCyril Chao      - description: audio slv clock
60*22e9bd51SCyril Chao      - description: audio mst clock
61*22e9bd51SCyril Chao      - description: audio intbus clock
62*22e9bd51SCyril Chao
63*22e9bd51SCyril Chao  clock-names:
64*22e9bd51SCyril Chao    items:
65*22e9bd51SCyril Chao      - const: top_aud_intbus
66*22e9bd51SCyril Chao      - const: top_aud_eng1
67*22e9bd51SCyril Chao      - const: top_aud_eng2
68*22e9bd51SCyril Chao      - const: top_aud_h
69*22e9bd51SCyril Chao      - const: apll1
70*22e9bd51SCyril Chao      - const: apll2
71*22e9bd51SCyril Chao      - const: apll1_d4
72*22e9bd51SCyril Chao      - const: apll2_d4
73*22e9bd51SCyril Chao      - const: apll12_div_i2sin0
74*22e9bd51SCyril Chao      - const: apll12_div_i2sin1
75*22e9bd51SCyril Chao      - const: apll12_div_i2sout0
76*22e9bd51SCyril Chao      - const: apll12_div_i2sout1
77*22e9bd51SCyril Chao      - const: apll12_div_fmi2s
78*22e9bd51SCyril Chao      - const: apll12_div_tdmout_m
79*22e9bd51SCyril Chao      - const: apll12_div_tdmout_b
80*22e9bd51SCyril Chao      - const: top_apll1
81*22e9bd51SCyril Chao      - const: top_apll2
82*22e9bd51SCyril Chao      - const: top_i2sin0
83*22e9bd51SCyril Chao      - const: top_i2sin1
84*22e9bd51SCyril Chao      - const: top_i2sout0
85*22e9bd51SCyril Chao      - const: top_i2sout1
86*22e9bd51SCyril Chao      - const: top_fmi2s
87*22e9bd51SCyril Chao      - const: top_dptx
88*22e9bd51SCyril Chao      - const: clk26m
89*22e9bd51SCyril Chao      - const: aud_slv_ck_peri
90*22e9bd51SCyril Chao      - const: aud_mst_ck_peri
91*22e9bd51SCyril Chao      - const: aud_intbus_ck_peri
92*22e9bd51SCyril Chao
93*22e9bd51SCyril Chaorequired:
94*22e9bd51SCyril Chao  - compatible
95*22e9bd51SCyril Chao  - reg
96*22e9bd51SCyril Chao  - interrupts
97*22e9bd51SCyril Chao  - memory-region
98*22e9bd51SCyril Chao  - power-domains
99*22e9bd51SCyril Chao  - clocks
100*22e9bd51SCyril Chao  - clock-names
101*22e9bd51SCyril Chao
102*22e9bd51SCyril ChaoadditionalProperties: false
103*22e9bd51SCyril Chao
104*22e9bd51SCyril Chaoexamples:
105*22e9bd51SCyril Chao  - |
106*22e9bd51SCyril Chao    #include <dt-bindings/interrupt-controller/arm-gic.h>
107*22e9bd51SCyril Chao    #include <dt-bindings/interrupt-controller/irq.h>
108*22e9bd51SCyril Chao
109*22e9bd51SCyril Chao    soc {
110*22e9bd51SCyril Chao        #address-cells = <2>;
111*22e9bd51SCyril Chao        #size-cells = <2>;
112*22e9bd51SCyril Chao
113*22e9bd51SCyril Chao        afe@11050000 {
114*22e9bd51SCyril Chao            compatible = "mediatek,mt8189-afe-pcm";
115*22e9bd51SCyril Chao            reg = <0 0x11050000 0 0x10000>;
116*22e9bd51SCyril Chao            interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
117*22e9bd51SCyril Chao            memory-region = <&afe_dma_mem_reserved>;
118*22e9bd51SCyril Chao            pinctrl-names = "default";
119*22e9bd51SCyril Chao            pinctrl-0 = <&aud_pins_default>;
120*22e9bd51SCyril Chao            power-domains = <&scpsys 1>; //MT8189_POWER_DOMAIN_AUDIO
121*22e9bd51SCyril Chao            clocks = <&topckgen_clk 23>, //CLK_TOP_AUD_INTBUS_SEL
122*22e9bd51SCyril Chao                     <&topckgen_clk 39>, //CLK_TOP_AUD_ENGEN1_SEL
123*22e9bd51SCyril Chao                     <&topckgen_clk 40>, //CLK_TOP_AUD_ENGEN2_SEL
124*22e9bd51SCyril Chao                     <&topckgen_clk 49>, //CLK_TOP_AUDIO_H_SEL
125*22e9bd51SCyril Chao                     <&topckgen_clk 146>, //CLK_TOP_APLL1
126*22e9bd51SCyril Chao                     <&topckgen_clk 151>, //CLK_TOP_APLL2
127*22e9bd51SCyril Chao                     <&topckgen_clk 148>, //CLK_TOP_APLL1_D4
128*22e9bd51SCyril Chao                     <&topckgen_clk 153>, //CLK_TOP_APLL2_D4
129*22e9bd51SCyril Chao                     <&topckgen_clk 93>, //CLK_TOP_APLL12_CK_DIV_I2SIN0
130*22e9bd51SCyril Chao                     <&topckgen_clk 94>, //CLK_TOP_APLL12_CK_DIV_I2SIN1
131*22e9bd51SCyril Chao                     <&topckgen_clk 95>, //CLK_TOP_APLL12_CK_DIV_I2SOUT0
132*22e9bd51SCyril Chao                     <&topckgen_clk 96>, //CLK_TOP_APLL12_CK_DIV_I2SOUT1
133*22e9bd51SCyril Chao                     <&topckgen_clk 97>, //CLK_TOP_APLL12_CK_DIV_FMI2S
134*22e9bd51SCyril Chao                     <&topckgen_clk 98>, //CLK_TOP_APLL12_CK_DIV_TDMOUT_M
135*22e9bd51SCyril Chao                     <&topckgen_clk 99>, //CLK_TOP_APLL12_CK_DIV_TDMOUT_B
136*22e9bd51SCyril Chao                     <&topckgen_clk 44>, //CLK_TOP_AUD_1_SEL
137*22e9bd51SCyril Chao                     <&topckgen_clk 45>, //CLK_TOP_AUD_2_SEL
138*22e9bd51SCyril Chao                     <&topckgen_clk 78>, //CLK_TOP_APLL_I2SIN0_MCK_SEL
139*22e9bd51SCyril Chao                     <&topckgen_clk 79>, //CLK_TOP_APLL_I2SIN1_MCK_SEL
140*22e9bd51SCyril Chao                     <&topckgen_clk 84>, //CLK_TOP_APLL_I2SOUT0_MCK_SEL
141*22e9bd51SCyril Chao                     <&topckgen_clk 85>, //CLK_TOP_APLL_I2SOUT1_MCK_SEL
142*22e9bd51SCyril Chao                     <&topckgen_clk 90>, //CLK_TOP_APLL_FMI2S_MCK_SEL
143*22e9bd51SCyril Chao                     <&topckgen_clk 91>, //CLK_TOP_APLL_TDMOUT_MCK_SEL
144*22e9bd51SCyril Chao                     <&topckgen_clk 191>, //CLK_TOP_TCK_26M_MX9
145*22e9bd51SCyril Chao                     <&pericfg_ao_clk 77>, //CLK_PERAO_AUDIO0
146*22e9bd51SCyril Chao                     <&pericfg_ao_clk 78>, //CLK_PERAO_AUDIO1
147*22e9bd51SCyril Chao                     <&pericfg_ao_clk 79>; //CLK_PERAO_AUDIO2
148*22e9bd51SCyril Chao            clock-names = "top_aud_intbus",
149*22e9bd51SCyril Chao                          "top_aud_eng1",
150*22e9bd51SCyril Chao                          "top_aud_eng2",
151*22e9bd51SCyril Chao                          "top_aud_h",
152*22e9bd51SCyril Chao                          "apll1",
153*22e9bd51SCyril Chao                          "apll2",
154*22e9bd51SCyril Chao                          "apll1_d4",
155*22e9bd51SCyril Chao                          "apll2_d4",
156*22e9bd51SCyril Chao                          "apll12_div_i2sin0",
157*22e9bd51SCyril Chao                          "apll12_div_i2sin1",
158*22e9bd51SCyril Chao                          "apll12_div_i2sout0",
159*22e9bd51SCyril Chao                          "apll12_div_i2sout1",
160*22e9bd51SCyril Chao                          "apll12_div_fmi2s",
161*22e9bd51SCyril Chao                          "apll12_div_tdmout_m",
162*22e9bd51SCyril Chao                          "apll12_div_tdmout_b",
163*22e9bd51SCyril Chao                          "top_apll1",
164*22e9bd51SCyril Chao                          "top_apll2",
165*22e9bd51SCyril Chao                          "top_i2sin0",
166*22e9bd51SCyril Chao                          "top_i2sin1",
167*22e9bd51SCyril Chao                          "top_i2sout0",
168*22e9bd51SCyril Chao                          "top_i2sout1",
169*22e9bd51SCyril Chao                          "top_fmi2s",
170*22e9bd51SCyril Chao                          "top_dptx",
171*22e9bd51SCyril Chao                          "clk26m",
172*22e9bd51SCyril Chao                          "aud_slv_ck_peri",
173*22e9bd51SCyril Chao                          "aud_mst_ck_peri",
174*22e9bd51SCyril Chao                          "aud_intbus_ck_peri";
175*22e9bd51SCyril Chao        };
176*22e9bd51SCyril Chao    };
177*22e9bd51SCyril Chao
178*22e9bd51SCyril Chao...
179