xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8qm-ss-audio.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright 2024 NXP
4*0e8011faSEmmanuel Vadot *	Dong Aisheng <aisheng.dong@nxp.com>
5*0e8011faSEmmanuel Vadot */
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadot/delete-node/ &acm;
8*0e8011faSEmmanuel Vadot/delete-node/ &sai4;
9*0e8011faSEmmanuel Vadot/delete-node/ &sai5;
10*0e8011faSEmmanuel Vadot/delete-node/ &sai4_lpcg;
11*0e8011faSEmmanuel Vadot/delete-node/ &sai5_lpcg;
12*0e8011faSEmmanuel Vadot
13*0e8011faSEmmanuel Vadot&amix {
14*0e8011faSEmmanuel Vadot	dais = <&sai6>, <&sai7>;
15*0e8011faSEmmanuel Vadot};
16*0e8011faSEmmanuel Vadot
17*0e8011faSEmmanuel Vadot&asrc0 {
18*0e8011faSEmmanuel Vadot	clocks = <&asrc0_lpcg IMX_LPCG_CLK_0>,
19*0e8011faSEmmanuel Vadot		 <&asrc0_lpcg IMX_LPCG_CLK_2>,
20*0e8011faSEmmanuel Vadot		 <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>,
21*0e8011faSEmmanuel Vadot		 <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>,
22*0e8011faSEmmanuel Vadot		 <&acm IMX_ADMA_ACM_AUD_CLK0_SEL>,
23*0e8011faSEmmanuel Vadot		 <&acm IMX_ADMA_ACM_AUD_CLK1_SEL>,
24*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
25*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
26*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
27*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
28*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
29*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
30*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
31*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
32*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
33*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
34*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
35*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
36*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
37*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_ASRC_0>;
38*0e8011faSEmmanuel Vadot};
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel Vadot&asrc0_lpcg {
41*0e8011faSEmmanuel Vadot	clocks = <&audio_ipg_clk>,
42*0e8011faSEmmanuel Vadot		 <&audio_ipg_clk>;
43*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_2>;
44*0e8011faSEmmanuel Vadot	clock-output-names = "asrc0_lpcg_ipg_clk", "asrc0_lpcg_mem_clk";
45*0e8011faSEmmanuel Vadot};
46*0e8011faSEmmanuel Vadot
47*0e8011faSEmmanuel Vadot&asrc1 {
48*0e8011faSEmmanuel Vadot	clocks = <&asrc1_lpcg IMX_LPCG_CLK_0>,
49*0e8011faSEmmanuel Vadot		 <&asrc1_lpcg IMX_LPCG_CLK_2>,
50*0e8011faSEmmanuel Vadot		 <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>,
51*0e8011faSEmmanuel Vadot		 <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>,
52*0e8011faSEmmanuel Vadot		 <&acm IMX_ADMA_ACM_AUD_CLK0_SEL>,
53*0e8011faSEmmanuel Vadot		 <&acm IMX_ADMA_ACM_AUD_CLK1_SEL>,
54*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
55*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
56*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
57*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
58*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
59*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
60*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
61*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
62*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
63*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
64*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
65*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
66*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
67*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_ASRC_1>;
68*0e8011faSEmmanuel Vadot};
69*0e8011faSEmmanuel Vadot
70*0e8011faSEmmanuel Vadot&asrc1_lpcg {
71*0e8011faSEmmanuel Vadot	clocks = <&audio_ipg_clk>, <&audio_ipg_clk>;
72*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_2>;
73*0e8011faSEmmanuel Vadot	clock-output-names = "asrc1_lpcg_ipg_clk", "asrc1_lpcg_mem_clk";
74*0e8011faSEmmanuel Vadot};
75*0e8011faSEmmanuel Vadot
76*0e8011faSEmmanuel Vadot&audio_subsys {
77*0e8011faSEmmanuel Vadot
78*0e8011faSEmmanuel Vadot	sai4: sai@59080000 {
79*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-sai";
80*0e8011faSEmmanuel Vadot		reg = <0x59080000 0x10000>;
81*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>;
82*0e8011faSEmmanuel Vadot		clocks = <&sai4_lpcg IMX_LPCG_CLK_0>,
83*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
84*0e8011faSEmmanuel Vadot			 <&sai4_lpcg IMX_LPCG_CLK_4>,
85*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
86*0e8011faSEmmanuel Vadot			 <&clk_dummy>;
87*0e8011faSEmmanuel Vadot		clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
88*0e8011faSEmmanuel Vadot		dma-names = "rx";
89*0e8011faSEmmanuel Vadot		dmas = <&edma0 18 0 1>;
90*0e8011faSEmmanuel Vadot		fsl,dataline = <0 0xf 0x0>;
91*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_4>;
92*0e8011faSEmmanuel Vadot		status = "disabled";
93*0e8011faSEmmanuel Vadot	};
94*0e8011faSEmmanuel Vadot
95*0e8011faSEmmanuel Vadot	sai5: sai@59090000 {
96*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-sai";
97*0e8011faSEmmanuel Vadot		reg = <0x59090000 0x10000>;
98*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
99*0e8011faSEmmanuel Vadot		clocks = <&sai5_lpcg IMX_LPCG_CLK_0>,
100*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
101*0e8011faSEmmanuel Vadot			 <&sai5_lpcg IMX_LPCG_CLK_4>,
102*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
103*0e8011faSEmmanuel Vadot			 <&clk_dummy>;
104*0e8011faSEmmanuel Vadot		clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
105*0e8011faSEmmanuel Vadot		dma-names = "tx";
106*0e8011faSEmmanuel Vadot		dmas = <&edma0 19 0 0>;
107*0e8011faSEmmanuel Vadot		fsl,dataline = <0 0x0 0xf>;
108*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_5>;
109*0e8011faSEmmanuel Vadot		status = "disabled";
110*0e8011faSEmmanuel Vadot	};
111*0e8011faSEmmanuel Vadot
112*0e8011faSEmmanuel Vadot	sai4_lpcg: clock-controller@59480000 {
113*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
114*0e8011faSEmmanuel Vadot		reg = <0x59480000 0x10000>;
115*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
116*0e8011faSEmmanuel Vadot		clocks = <&acm IMX_ADMA_ACM_SAI4_MCLK_SEL>,
117*0e8011faSEmmanuel Vadot			 <&audio_ipg_clk>;
118*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
119*0e8011faSEmmanuel Vadot		clock-output-names = "sai4_lpcg_mclk", "sai4_lpcg_ipg_clk";
120*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_4>;
121*0e8011faSEmmanuel Vadot		status = "disabled";
122*0e8011faSEmmanuel Vadot	};
123*0e8011faSEmmanuel Vadot
124*0e8011faSEmmanuel Vadot	sai5_lpcg: clock-controller@59490000 {
125*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
126*0e8011faSEmmanuel Vadot		reg = <0x59490000 0x10000>;
127*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
128*0e8011faSEmmanuel Vadot		clocks = <&acm IMX_ADMA_ACM_SAI5_MCLK_SEL>,
129*0e8011faSEmmanuel Vadot			 <&audio_ipg_clk>;
130*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
131*0e8011faSEmmanuel Vadot		clock-output-names = "sai5_lpcg_mclk", "sai5_lpcg_ipg_clk";
132*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_5>;
133*0e8011faSEmmanuel Vadot		status = "disabled";
134*0e8011faSEmmanuel Vadot	};
135*0e8011faSEmmanuel Vadot
136*0e8011faSEmmanuel Vadot	esai1: esai@59810000 {
137*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-esai";
138*0e8011faSEmmanuel Vadot		reg = <0x59810000 0x10000>;
139*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>;
140*0e8011faSEmmanuel Vadot		clocks = <&esai1_lpcg IMX_LPCG_CLK_0>,
141*0e8011faSEmmanuel Vadot			 <&esai1_lpcg IMX_LPCG_CLK_4>,
142*0e8011faSEmmanuel Vadot			 <&esai1_lpcg IMX_LPCG_CLK_0>,
143*0e8011faSEmmanuel Vadot			 <&clk_dummy>;
144*0e8011faSEmmanuel Vadot		clock-names = "core", "extal", "fsys", "spba";
145*0e8011faSEmmanuel Vadot		dmas = <&edma1 6 0 1>, <&edma1 7 0 0>;
146*0e8011faSEmmanuel Vadot		dma-names = "rx", "tx";
147*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_ESAI_1>;
148*0e8011faSEmmanuel Vadot		status = "disabled";
149*0e8011faSEmmanuel Vadot	};
150*0e8011faSEmmanuel Vadot
151*0e8011faSEmmanuel Vadot	sai6: sai@59820000 {
152*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-sai";
153*0e8011faSEmmanuel Vadot		reg = <0x59820000 0x10000>;
154*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
155*0e8011faSEmmanuel Vadot		clocks = <&sai6_lpcg IMX_LPCG_CLK_0>,
156*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
157*0e8011faSEmmanuel Vadot			 <&sai6_lpcg IMX_LPCG_CLK_4>,
158*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
159*0e8011faSEmmanuel Vadot			 <&clk_dummy>;
160*0e8011faSEmmanuel Vadot		clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
161*0e8011faSEmmanuel Vadot		dma-names = "rx", "tx";
162*0e8011faSEmmanuel Vadot		dmas = <&edma1 8 0 1>, <&edma1 9 0 0>;
163*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_6>;
164*0e8011faSEmmanuel Vadot		status = "disabled";
165*0e8011faSEmmanuel Vadot	};
166*0e8011faSEmmanuel Vadot
167*0e8011faSEmmanuel Vadot	sai7: sai@59830000 {
168*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-sai";
169*0e8011faSEmmanuel Vadot		reg = <0x59830000 0x10000>;
170*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
171*0e8011faSEmmanuel Vadot		clocks = <&sai7_lpcg IMX_LPCG_CLK_0>,
172*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
173*0e8011faSEmmanuel Vadot			 <&sai7_lpcg IMX_LPCG_CLK_4>,
174*0e8011faSEmmanuel Vadot			 <&clk_dummy>,
175*0e8011faSEmmanuel Vadot			 <&clk_dummy>;
176*0e8011faSEmmanuel Vadot		clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
177*0e8011faSEmmanuel Vadot		dma-names = "tx";
178*0e8011faSEmmanuel Vadot		dmas = <&edma1 10 0 0>;
179*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_7>;
180*0e8011faSEmmanuel Vadot		status = "disabled";
181*0e8011faSEmmanuel Vadot	};
182*0e8011faSEmmanuel Vadot
183*0e8011faSEmmanuel Vadot	esai1_lpcg: clock-controller@59c10000 {
184*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
185*0e8011faSEmmanuel Vadot		reg = <0x59c10000 0x10000>;
186*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
187*0e8011faSEmmanuel Vadot		clocks = <&acm IMX_ADMA_ACM_ESAI1_MCLK_SEL>,
188*0e8011faSEmmanuel Vadot			 <&audio_ipg_clk>;
189*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
190*0e8011faSEmmanuel Vadot		clock-output-names = "esai1_lpcg_extal_clk", "esai1_lpcg_ipg_clk";
191*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_ESAI_1>;
192*0e8011faSEmmanuel Vadot	};
193*0e8011faSEmmanuel Vadot
194*0e8011faSEmmanuel Vadot	sai6_lpcg: clock-controller@59c20000 {
195*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
196*0e8011faSEmmanuel Vadot		reg = <0x59c20000 0x10000>;
197*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
198*0e8011faSEmmanuel Vadot		clocks = <&acm IMX_ADMA_ACM_SAI6_MCLK_SEL>,
199*0e8011faSEmmanuel Vadot			 <&audio_ipg_clk>;
200*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
201*0e8011faSEmmanuel Vadot		clock-output-names = "sai6_lpcg_mclk", "sai6_lpcg_ipg_clk";
202*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_6>;
203*0e8011faSEmmanuel Vadot	};
204*0e8011faSEmmanuel Vadot
205*0e8011faSEmmanuel Vadot	sai7_lpcg: clock-controller@59c30000 {
206*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
207*0e8011faSEmmanuel Vadot		reg = <0x59c30000 0x10000>;
208*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
209*0e8011faSEmmanuel Vadot		clocks = <&acm IMX_ADMA_ACM_SAI7_MCLK_SEL>,
210*0e8011faSEmmanuel Vadot			 <&audio_ipg_clk>;
211*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
212*0e8011faSEmmanuel Vadot		clock-output-names = "sai7_lpcg_mclk", "sai7_lpcg_ipg_clk";
213*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_SAI_7>;
214*0e8011faSEmmanuel Vadot	};
215*0e8011faSEmmanuel Vadot
216*0e8011faSEmmanuel Vadot	acm: acm@59e00000 {
217*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qm-acm";
218*0e8011faSEmmanuel Vadot		reg = <0x59e00000 0x1d0000>;
219*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
220*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_AUDIO_CLK_0>,
221*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_AUDIO_CLK_1>,
222*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_MCLK_OUT_0>,
223*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_MCLK_OUT_1>,
224*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_AUDIO_PLL_0>,
225*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_AUDIO_PLL_1>,
226*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_ASRC_0>,
227*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_ASRC_1>,
228*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_ESAI_0>,
229*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_ESAI_1>,
230*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_0>,
231*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_1>,
232*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_2>,
233*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_3>,
234*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_4>,
235*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_5>,
236*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_6>,
237*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SAI_7>,
238*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SPDIF_0>,
239*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_SPDIF_1>,
240*0e8011faSEmmanuel Vadot				<&pd IMX_SC_R_MQS_0>;
241*0e8011faSEmmanuel Vadot		clocks = <&aud_rec0_lpcg IMX_LPCG_CLK_0>,
242*0e8011faSEmmanuel Vadot			 <&aud_rec1_lpcg IMX_LPCG_CLK_0>,
243*0e8011faSEmmanuel Vadot			 <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>,
244*0e8011faSEmmanuel Vadot			 <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>,
245*0e8011faSEmmanuel Vadot			 <&clk_mlb_clk>,
246*0e8011faSEmmanuel Vadot			 <&clk_hdmi_rx_mclk>,
247*0e8011faSEmmanuel Vadot			 <&clk_ext_aud_mclk0>,
248*0e8011faSEmmanuel Vadot			 <&clk_ext_aud_mclk1>,
249*0e8011faSEmmanuel Vadot			 <&clk_esai0_rx_clk>,
250*0e8011faSEmmanuel Vadot			 <&clk_esai0_rx_hf_clk>,
251*0e8011faSEmmanuel Vadot			 <&clk_esai0_tx_clk>,
252*0e8011faSEmmanuel Vadot			 <&clk_esai0_tx_hf_clk>,
253*0e8011faSEmmanuel Vadot			 <&clk_esai1_rx_clk>,
254*0e8011faSEmmanuel Vadot			 <&clk_esai1_rx_hf_clk>,
255*0e8011faSEmmanuel Vadot			 <&clk_esai1_tx_clk>,
256*0e8011faSEmmanuel Vadot			 <&clk_esai1_tx_hf_clk>,
257*0e8011faSEmmanuel Vadot			 <&clk_spdif0_rx>,
258*0e8011faSEmmanuel Vadot			 <&clk_spdif0_rx>,
259*0e8011faSEmmanuel Vadot			 <&clk_sai0_rx_bclk>,
260*0e8011faSEmmanuel Vadot			 <&clk_sai0_tx_bclk>,
261*0e8011faSEmmanuel Vadot			 <&clk_sai1_rx_bclk>,
262*0e8011faSEmmanuel Vadot			 <&clk_sai1_tx_bclk>,
263*0e8011faSEmmanuel Vadot			 <&clk_sai2_rx_bclk>,
264*0e8011faSEmmanuel Vadot			 <&clk_sai3_rx_bclk>,
265*0e8011faSEmmanuel Vadot			 <&clk_sai4_rx_bclk>,
266*0e8011faSEmmanuel Vadot			 <&clk_sai5_rx_bclk>,
267*0e8011faSEmmanuel Vadot			 <&clk_sai6_rx_bclk>;
268*0e8011faSEmmanuel Vadot		clock-names = "aud_rec_clk0_lpcg_clk",
269*0e8011faSEmmanuel Vadot			      "aud_rec_clk1_lpcg_clk",
270*0e8011faSEmmanuel Vadot			      "aud_pll_div_clk0_lpcg_clk",
271*0e8011faSEmmanuel Vadot			      "aud_pll_div_clk1_lpcg_clk",
272*0e8011faSEmmanuel Vadot			      "mlb_clk",
273*0e8011faSEmmanuel Vadot			      "hdmi_rx_mclk",
274*0e8011faSEmmanuel Vadot			      "ext_aud_mclk0",
275*0e8011faSEmmanuel Vadot			      "ext_aud_mclk1",
276*0e8011faSEmmanuel Vadot			      "esai0_rx_clk",
277*0e8011faSEmmanuel Vadot			      "esai0_rx_hf_clk",
278*0e8011faSEmmanuel Vadot			      "esai0_tx_clk",
279*0e8011faSEmmanuel Vadot			      "esai0_tx_hf_clk",
280*0e8011faSEmmanuel Vadot			      "esai1_rx_clk",
281*0e8011faSEmmanuel Vadot			      "esai1_rx_hf_clk",
282*0e8011faSEmmanuel Vadot			      "esai1_tx_clk",
283*0e8011faSEmmanuel Vadot			      "esai1_tx_hf_clk",
284*0e8011faSEmmanuel Vadot			      "spdif0_rx",
285*0e8011faSEmmanuel Vadot			      "spdif1_rx",
286*0e8011faSEmmanuel Vadot			      "sai0_rx_bclk",
287*0e8011faSEmmanuel Vadot			      "sai0_tx_bclk",
288*0e8011faSEmmanuel Vadot			      "sai1_rx_bclk",
289*0e8011faSEmmanuel Vadot			      "sai1_tx_bclk",
290*0e8011faSEmmanuel Vadot			      "sai2_rx_bclk",
291*0e8011faSEmmanuel Vadot			      "sai3_rx_bclk",
292*0e8011faSEmmanuel Vadot			      "sai4_rx_bclk",
293*0e8011faSEmmanuel Vadot			      "sai5_tx_bclk",
294*0e8011faSEmmanuel Vadot			      "sai6_rx_bclk";
295*0e8011faSEmmanuel Vadot	};
296*0e8011faSEmmanuel Vadot};
297*0e8011faSEmmanuel Vadot
298*0e8011faSEmmanuel Vadot&dsp_lpcg {
299*0e8011faSEmmanuel Vadot	status = "disabled";
300*0e8011faSEmmanuel Vadot};
301*0e8011faSEmmanuel Vadot
302*0e8011faSEmmanuel Vadot&dsp_ram_lpcg {
303*0e8011faSEmmanuel Vadot	status = "disabled";
304*0e8011faSEmmanuel Vadot};
305*0e8011faSEmmanuel Vadot
306*0e8011faSEmmanuel Vadot/* edma2 called in imx8qm RM with the same address in edma0 of imx8qxp */
307*0e8011faSEmmanuel Vadot&edma0{
308*0e8011faSEmmanuel Vadot	reg = <0x591f0000 0x150000>;
309*0e8011faSEmmanuel Vadot	dma-channels = <20>;
310*0e8011faSEmmanuel Vadot	dma-channel-mask = <0>;
311*0e8011faSEmmanuel Vadot	interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>, /* asrc0 */
312*0e8011faSEmmanuel Vadot		     <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>,
313*0e8011faSEmmanuel Vadot		     <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>,
314*0e8011faSEmmanuel Vadot		     <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>,
315*0e8011faSEmmanuel Vadot		     <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>,
316*0e8011faSEmmanuel Vadot		     <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
317*0e8011faSEmmanuel Vadot		     <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, /* esai0 */
318*0e8011faSEmmanuel Vadot		     <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
319*0e8011faSEmmanuel Vadot		     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, /* spdif0 */
320*0e8011faSEmmanuel Vadot		     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
321*0e8011faSEmmanuel Vadot		     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>, /* spdif1 */
322*0e8011faSEmmanuel Vadot		     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
323*0e8011faSEmmanuel Vadot		     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, /* sai0 */
324*0e8011faSEmmanuel Vadot		     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
325*0e8011faSEmmanuel Vadot		     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, /* sai1 */
326*0e8011faSEmmanuel Vadot		     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
327*0e8011faSEmmanuel Vadot		     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, /* sai2 */
328*0e8011faSEmmanuel Vadot		     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, /* sai3 */
329*0e8011faSEmmanuel Vadot		     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, /* sai4 */
330*0e8011faSEmmanuel Vadot		     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; /* sai5 */
331*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_DMA_2_CH0>,
332*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH1>,
333*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH2>,
334*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH3>,
335*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH4>,
336*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH5>,
337*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH6>,
338*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH7>,
339*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH8>,
340*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH9>,
341*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH10>,
342*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH11>,
343*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH12>,
344*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH13>,
345*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH14>,
346*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH15>,
347*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH16>,
348*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH17>,
349*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH18>,
350*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_2_CH19>;
351*0e8011faSEmmanuel Vadot};
352*0e8011faSEmmanuel Vadot
353*0e8011faSEmmanuel Vadot/* edma3 called in imx8qm RM with the same address in edma1 of imx8qxp */
354*0e8011faSEmmanuel Vadot&edma1{
355*0e8011faSEmmanuel Vadot	reg = <0x599f0000 0xc0000>;
356*0e8011faSEmmanuel Vadot	dma-channels = <11>;
357*0e8011faSEmmanuel Vadot	dma-channel-mask = <0xc0>;
358*0e8011faSEmmanuel Vadot	interrupts = <GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>, /* asrc1 */
359*0e8011faSEmmanuel Vadot		     <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>,
360*0e8011faSEmmanuel Vadot		     <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
361*0e8011faSEmmanuel Vadot		     <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
362*0e8011faSEmmanuel Vadot		     <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
363*0e8011faSEmmanuel Vadot		     <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>,
364*0e8011faSEmmanuel Vadot		     <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* no used */
365*0e8011faSEmmanuel Vadot		     <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* no used */
366*0e8011faSEmmanuel Vadot		     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, /* sai6 */
367*0e8011faSEmmanuel Vadot		     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
368*0e8011faSEmmanuel Vadot		     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>; /* sai7 */
369*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_DMA_3_CH0>,
370*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH1>,
371*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH2>,
372*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH3>,
373*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH4>,
374*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH5>,
375*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH6>,
376*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH7>,
377*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH8>,
378*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH9>,
379*0e8011faSEmmanuel Vadot			<&pd IMX_SC_R_DMA_3_CH10>;
380*0e8011faSEmmanuel Vadot};
381*0e8011faSEmmanuel Vadot
382*0e8011faSEmmanuel Vadot&esai0 {
383*0e8011faSEmmanuel Vadot	clocks = <&esai0_lpcg IMX_LPCG_CLK_0>,
384*0e8011faSEmmanuel Vadot		 <&esai0_lpcg IMX_LPCG_CLK_4>,
385*0e8011faSEmmanuel Vadot		 <&esai0_lpcg IMX_LPCG_CLK_0>,
386*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
387*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_ESAI_0>;
388*0e8011faSEmmanuel Vadot};
389*0e8011faSEmmanuel Vadot
390*0e8011faSEmmanuel Vadot&esai0_lpcg {
391*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
392*0e8011faSEmmanuel Vadot	clock-output-names = "esai0_lpcg_extal_clk", "esai0_lpcg_ipg_clk";
393*0e8011faSEmmanuel Vadot};
394*0e8011faSEmmanuel Vadot
395*0e8011faSEmmanuel Vadot&mqs0_lpcg {
396*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
397*0e8011faSEmmanuel Vadot	clock-output-names = "mqs0_lpcg_mclk", "mqs0_lpcg_ipg_clk";
398*0e8011faSEmmanuel Vadot};
399*0e8011faSEmmanuel Vadot
400*0e8011faSEmmanuel Vadot&sai0 {
401*0e8011faSEmmanuel Vadot	clocks = <&sai0_lpcg IMX_LPCG_CLK_0>,
402*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
403*0e8011faSEmmanuel Vadot		 <&sai0_lpcg IMX_LPCG_CLK_4>,
404*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
405*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
406*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_SAI_0>;
407*0e8011faSEmmanuel Vadot};
408*0e8011faSEmmanuel Vadot
409*0e8011faSEmmanuel Vadot&sai0_lpcg {
410*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
411*0e8011faSEmmanuel Vadot	clock-output-names = "sai0_lpcg_mclk", "sai0_lpcg_ipg_clk";
412*0e8011faSEmmanuel Vadot};
413*0e8011faSEmmanuel Vadot
414*0e8011faSEmmanuel Vadot&sai1 {
415*0e8011faSEmmanuel Vadot	clocks = <&sai1_lpcg IMX_LPCG_CLK_0>,
416*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
417*0e8011faSEmmanuel Vadot		 <&sai1_lpcg IMX_LPCG_CLK_4>,
418*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
419*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
420*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_SAI_1>;
421*0e8011faSEmmanuel Vadot};
422*0e8011faSEmmanuel Vadot
423*0e8011faSEmmanuel Vadot&sai1_lpcg {
424*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
425*0e8011faSEmmanuel Vadot	clock-output-names = "sai1_lpcg_mclk", "sai1_lpcg_ipg_clk";
426*0e8011faSEmmanuel Vadot};
427*0e8011faSEmmanuel Vadot
428*0e8011faSEmmanuel Vadot&sai2 {
429*0e8011faSEmmanuel Vadot	clocks = <&sai2_lpcg IMX_LPCG_CLK_0>,
430*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
431*0e8011faSEmmanuel Vadot		 <&sai2_lpcg IMX_LPCG_CLK_4>,
432*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
433*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
434*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_SAI_2>;
435*0e8011faSEmmanuel Vadot};
436*0e8011faSEmmanuel Vadot
437*0e8011faSEmmanuel Vadot&sai2_lpcg {
438*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
439*0e8011faSEmmanuel Vadot	clock-output-names = "sai2_lpcg_mclk", "sai2_lpcg_ipg_clk";
440*0e8011faSEmmanuel Vadot};
441*0e8011faSEmmanuel Vadot
442*0e8011faSEmmanuel Vadot&sai3 {
443*0e8011faSEmmanuel Vadot	clocks = <&sai3_lpcg IMX_LPCG_CLK_0>,
444*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
445*0e8011faSEmmanuel Vadot		 <&sai3_lpcg IMX_LPCG_CLK_4>,
446*0e8011faSEmmanuel Vadot		 <&clk_dummy>,
447*0e8011faSEmmanuel Vadot		 <&clk_dummy>;
448*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_SAI_3>;
449*0e8011faSEmmanuel Vadot};
450*0e8011faSEmmanuel Vadot
451*0e8011faSEmmanuel Vadot&sai3_lpcg {
452*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_0>;
453*0e8011faSEmmanuel Vadot	clock-output-names = "sai3_lpcg_mclk", "sai3_lpcg_ipg_clk";
454*0e8011faSEmmanuel Vadot};
455*0e8011faSEmmanuel Vadot
456*0e8011faSEmmanuel Vadot&spdif0 {
457*0e8011faSEmmanuel Vadot	clocks = <&spdif0_lpcg IMX_LPCG_CLK_4>,	/* core */
458*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx0 */
459*0e8011faSEmmanuel Vadot		 <&spdif0_lpcg IMX_LPCG_CLK_5>,	/* rxtx1 */
460*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx2 */
461*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx3 */
462*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx4 */
463*0e8011faSEmmanuel Vadot		 <&audio_ipg_clk>,		/* rxtx5 */
464*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx6 */
465*0e8011faSEmmanuel Vadot		 <&clk_dummy>,			/* rxtx7 */
466*0e8011faSEmmanuel Vadot		 <&clk_dummy>;			/* spba */
467*0e8011faSEmmanuel Vadot	power-domains = <&pd IMX_SC_R_SPDIF_0>;
468*0e8011faSEmmanuel Vadot};
469*0e8011faSEmmanuel Vadot
470*0e8011faSEmmanuel Vadot&spdif0_lpcg {
471*0e8011faSEmmanuel Vadot	clock-indices = <IMX_LPCG_CLK_5>, <IMX_LPCG_CLK_4>;
472*0e8011faSEmmanuel Vadot	clock-output-names = "spdif0_lpcg_tx_clk", "spdif0_lpcg_gclkw";
473*0e8011faSEmmanuel Vadot};
474