xref: /freebsd/sys/contrib/device-tree/Bindings/sound/mt2701-afe-pcm.txt (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel VadotMediatek AFE PCM controller for mt2701
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotRequired properties:
4*aa1a8ff2SEmmanuel Vadot- compatible: should be one of the following.
5c66ec88fSEmmanuel Vadot	      - "mediatek,mt2701-audio"
6c66ec88fSEmmanuel Vadot	      - "mediatek,mt7622-audio"
7c66ec88fSEmmanuel Vadot- interrupts: should contain AFE and ASYS interrupts
8c66ec88fSEmmanuel Vadot- interrupt-names: should be "afe" and "asys"
9c66ec88fSEmmanuel Vadot- power-domains: should define the power domain
10c66ec88fSEmmanuel Vadot- clocks: Must contain an entry for each entry in clock-names
11c66ec88fSEmmanuel Vadot  See ../clocks/clock-bindings.txt for details
12c66ec88fSEmmanuel Vadot- clock-names: should have these clock names:
13c66ec88fSEmmanuel Vadot		"infra_sys_audio_clk",
14c66ec88fSEmmanuel Vadot		"top_audio_mux1_sel",
15c66ec88fSEmmanuel Vadot		"top_audio_mux2_sel",
16c66ec88fSEmmanuel Vadot		"top_audio_a1sys_hp",
17c66ec88fSEmmanuel Vadot		"top_audio_a2sys_hp",
18c66ec88fSEmmanuel Vadot		"i2s0_src_sel",
19c66ec88fSEmmanuel Vadot		"i2s1_src_sel",
20c66ec88fSEmmanuel Vadot		"i2s2_src_sel",
21c66ec88fSEmmanuel Vadot		"i2s3_src_sel",
22c66ec88fSEmmanuel Vadot		"i2s0_src_div",
23c66ec88fSEmmanuel Vadot		"i2s1_src_div",
24c66ec88fSEmmanuel Vadot		"i2s2_src_div",
25c66ec88fSEmmanuel Vadot		"i2s3_src_div",
26c66ec88fSEmmanuel Vadot		"i2s0_mclk_en",
27c66ec88fSEmmanuel Vadot		"i2s1_mclk_en",
28c66ec88fSEmmanuel Vadot		"i2s2_mclk_en",
29c66ec88fSEmmanuel Vadot		"i2s3_mclk_en",
30c66ec88fSEmmanuel Vadot		"i2so0_hop_ck",
31c66ec88fSEmmanuel Vadot		"i2so1_hop_ck",
32c66ec88fSEmmanuel Vadot		"i2so2_hop_ck",
33c66ec88fSEmmanuel Vadot		"i2so3_hop_ck",
34c66ec88fSEmmanuel Vadot		"i2si0_hop_ck",
35c66ec88fSEmmanuel Vadot		"i2si1_hop_ck",
36c66ec88fSEmmanuel Vadot		"i2si2_hop_ck",
37c66ec88fSEmmanuel Vadot		"i2si3_hop_ck",
38c66ec88fSEmmanuel Vadot		"asrc0_out_ck",
39c66ec88fSEmmanuel Vadot		"asrc1_out_ck",
40c66ec88fSEmmanuel Vadot		"asrc2_out_ck",
41c66ec88fSEmmanuel Vadot		"asrc3_out_ck",
42c66ec88fSEmmanuel Vadot		"audio_afe_pd",
43c66ec88fSEmmanuel Vadot		"audio_afe_conn_pd",
44c66ec88fSEmmanuel Vadot		"audio_a1sys_pd",
45c66ec88fSEmmanuel Vadot		"audio_a2sys_pd",
46c66ec88fSEmmanuel Vadot		"audio_mrgif_pd";
47c66ec88fSEmmanuel Vadot- assigned-clocks: list of input clocks and dividers for the audio system.
48c66ec88fSEmmanuel Vadot		   See ../clocks/clock-bindings.txt for details.
49c66ec88fSEmmanuel Vadot- assigned-clocks-parents: parent of input clocks of assigned clocks.
50c66ec88fSEmmanuel Vadot- assigned-clock-rates: list of clock frequencies of assigned clocks.
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel VadotMust be a subnode of MediaTek audsys device tree node.
53c66ec88fSEmmanuel VadotSee ../arm/mediatek/mediatek,audsys.txt for details about the parent node.
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel VadotExample:
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot	audsys: audio-subsystem@11220000 {
58c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt2701-audsys", "syscon";
59c66ec88fSEmmanuel Vadot		...
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot		afe: audio-controller {
62c66ec88fSEmmanuel Vadot			compatible = "mediatek,mt2701-audio";
63c66ec88fSEmmanuel Vadot			interrupts =  <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
64c66ec88fSEmmanuel Vadot				      <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
65c66ec88fSEmmanuel Vadot			interrupt-names	= "afe", "asys";
66c66ec88fSEmmanuel Vadot			power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_AUDIO>,
69c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX1_SEL>,
70c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX2_SEL>,
71c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_48K_TIMING>,
72c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_44K_TIMING>,
73c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
74c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
75c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
76c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
77c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
78c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
79c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
80c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
81c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
82c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
83c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
84c66ec88fSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
85c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO1>,
86c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO2>,
87c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO3>,
88c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO4>,
89c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN1>,
90c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN2>,
91c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN3>,
92c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN4>,
93c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO1>,
94c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO2>,
95c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO3>,
96c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO4>,
97c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_AFE>,
98c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_CONN>,
99c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_A1SYS>,
100c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_A2SYS>,
101c66ec88fSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_MRGIF>;
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot			clock-names = "infra_sys_audio_clk",
104c66ec88fSEmmanuel Vadot				      "top_audio_mux1_sel",
105c66ec88fSEmmanuel Vadot				      "top_audio_mux2_sel",
106c66ec88fSEmmanuel Vadot				      "top_audio_a1sys_hp",
107c66ec88fSEmmanuel Vadot				      "top_audio_a2sys_hp",
108c66ec88fSEmmanuel Vadot				      "i2s0_src_sel",
109c66ec88fSEmmanuel Vadot				      "i2s1_src_sel",
110c66ec88fSEmmanuel Vadot				      "i2s2_src_sel",
111c66ec88fSEmmanuel Vadot				      "i2s3_src_sel",
112c66ec88fSEmmanuel Vadot				      "i2s0_src_div",
113c66ec88fSEmmanuel Vadot				      "i2s1_src_div",
114c66ec88fSEmmanuel Vadot				      "i2s2_src_div",
115c66ec88fSEmmanuel Vadot				      "i2s3_src_div",
116c66ec88fSEmmanuel Vadot				      "i2s0_mclk_en",
117c66ec88fSEmmanuel Vadot				      "i2s1_mclk_en",
118c66ec88fSEmmanuel Vadot				      "i2s2_mclk_en",
119c66ec88fSEmmanuel Vadot				      "i2s3_mclk_en",
120c66ec88fSEmmanuel Vadot				      "i2so0_hop_ck",
121c66ec88fSEmmanuel Vadot				      "i2so1_hop_ck",
122c66ec88fSEmmanuel Vadot				      "i2so2_hop_ck",
123c66ec88fSEmmanuel Vadot				      "i2so3_hop_ck",
124c66ec88fSEmmanuel Vadot				      "i2si0_hop_ck",
125c66ec88fSEmmanuel Vadot				      "i2si1_hop_ck",
126c66ec88fSEmmanuel Vadot				      "i2si2_hop_ck",
127c66ec88fSEmmanuel Vadot				      "i2si3_hop_ck",
128c66ec88fSEmmanuel Vadot				      "asrc0_out_ck",
129c66ec88fSEmmanuel Vadot				      "asrc1_out_ck",
130c66ec88fSEmmanuel Vadot				      "asrc2_out_ck",
131c66ec88fSEmmanuel Vadot				      "asrc3_out_ck",
132c66ec88fSEmmanuel Vadot				      "audio_afe_pd",
133c66ec88fSEmmanuel Vadot				      "audio_afe_conn_pd",
134c66ec88fSEmmanuel Vadot				      "audio_a1sys_pd",
135c66ec88fSEmmanuel Vadot				      "audio_a2sys_pd",
136c66ec88fSEmmanuel Vadot				      "audio_mrgif_pd";
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
139c66ec88fSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_SEL>,
140c66ec88fSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX1_DIV>,
141c66ec88fSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_DIV>;
142c66ec88fSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
143c66ec88fSEmmanuel Vadot						 <&topckgen CLK_TOP_AUD2PLL_90M>;
144c66ec88fSEmmanuel Vadot			assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
145c66ec88fSEmmanuel Vadot		};
146c66ec88fSEmmanuel Vadot	};
147