xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/amlogic/meson-g12.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2019 BayLibre, SAS
4*4882a593Smuzhiyun * Author: Jerome Brunet <jbrunet@baylibre.com>
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "meson-g12-common.dtsi"
8*4882a593Smuzhiyun#include <dt-bindings/clock/axg-audio-clkc.h>
9*4882a593Smuzhiyun#include <dt-bindings/power/meson-g12a-power.h>
10*4882a593Smuzhiyun#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
11*4882a593Smuzhiyun#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	tdmif_a: audio-controller-0 {
15*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
16*4882a593Smuzhiyun		#sound-dai-cells = <0>;
17*4882a593Smuzhiyun		sound-name-prefix = "TDM_A";
18*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
19*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
20*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
21*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
22*4882a593Smuzhiyun		status = "disabled";
23*4882a593Smuzhiyun	};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	tdmif_b: audio-controller-1 {
26*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
27*4882a593Smuzhiyun		#sound-dai-cells = <0>;
28*4882a593Smuzhiyun		sound-name-prefix = "TDM_B";
29*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
30*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_B_SCLK>,
31*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
32*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
33*4882a593Smuzhiyun		status = "disabled";
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	tdmif_c: audio-controller-2 {
37*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
38*4882a593Smuzhiyun		#sound-dai-cells = <0>;
39*4882a593Smuzhiyun		sound-name-prefix = "TDM_C";
40*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
41*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_C_SCLK>,
42*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
43*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
44*4882a593Smuzhiyun		status = "disabled";
45*4882a593Smuzhiyun	};
46*4882a593Smuzhiyun};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun&apb {
49*4882a593Smuzhiyun	pdm: audio-controller@40000 {
50*4882a593Smuzhiyun		compatible = "amlogic,g12a-pdm",
51*4882a593Smuzhiyun			     "amlogic,axg-pdm";
52*4882a593Smuzhiyun		reg = <0x0 0x40000 0x0 0x34>;
53*4882a593Smuzhiyun		#sound-dai-cells = <0>;
54*4882a593Smuzhiyun		sound-name-prefix = "PDM";
55*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_PDM>,
56*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
57*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
58*4882a593Smuzhiyun		clock-names = "pclk", "dclk", "sysclk";
59*4882a593Smuzhiyun		resets = <&clkc_audio AUD_RESET_PDM>;
60*4882a593Smuzhiyun		status = "disabled";
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	audio: bus@42000 {
64*4882a593Smuzhiyun		compatible = "simple-bus";
65*4882a593Smuzhiyun		reg = <0x0 0x42000 0x0 0x2000>;
66*4882a593Smuzhiyun		#address-cells = <2>;
67*4882a593Smuzhiyun		#size-cells = <2>;
68*4882a593Smuzhiyun		ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		clkc_audio: clock-controller@0 {
71*4882a593Smuzhiyun			status = "disabled";
72*4882a593Smuzhiyun			compatible = "amlogic,g12a-audio-clkc";
73*4882a593Smuzhiyun			reg = <0x0 0x0 0x0 0xb4>;
74*4882a593Smuzhiyun			#clock-cells = <1>;
75*4882a593Smuzhiyun			#reset-cells = <1>;
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun			clocks = <&clkc CLKID_AUDIO>,
78*4882a593Smuzhiyun				 <&clkc CLKID_MPLL0>,
79*4882a593Smuzhiyun				 <&clkc CLKID_MPLL1>,
80*4882a593Smuzhiyun				 <&clkc CLKID_MPLL2>,
81*4882a593Smuzhiyun				 <&clkc CLKID_MPLL3>,
82*4882a593Smuzhiyun				 <&clkc CLKID_HIFI_PLL>,
83*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV3>,
84*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV4>,
85*4882a593Smuzhiyun				 <&clkc CLKID_GP0_PLL>;
86*4882a593Smuzhiyun			clock-names = "pclk",
87*4882a593Smuzhiyun				      "mst_in0",
88*4882a593Smuzhiyun				      "mst_in1",
89*4882a593Smuzhiyun				      "mst_in2",
90*4882a593Smuzhiyun				      "mst_in3",
91*4882a593Smuzhiyun				      "mst_in4",
92*4882a593Smuzhiyun				      "mst_in5",
93*4882a593Smuzhiyun				      "mst_in6",
94*4882a593Smuzhiyun				      "mst_in7";
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun			resets = <&reset RESET_AUDIO>;
97*4882a593Smuzhiyun		};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun		toddr_a: audio-controller@100 {
100*4882a593Smuzhiyun			compatible = "amlogic,g12a-toddr",
101*4882a593Smuzhiyun				     "amlogic,axg-toddr";
102*4882a593Smuzhiyun			reg = <0x0 0x100 0x0 0x2c>;
103*4882a593Smuzhiyun			#sound-dai-cells = <0>;
104*4882a593Smuzhiyun			sound-name-prefix = "TODDR_A";
105*4882a593Smuzhiyun			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
106*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
107*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_A>,
108*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_A>;
109*4882a593Smuzhiyun			reset-names = "arb", "rst";
110*4882a593Smuzhiyun			amlogic,fifo-depth = <512>;
111*4882a593Smuzhiyun			status = "disabled";
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		toddr_b: audio-controller@140 {
115*4882a593Smuzhiyun			compatible = "amlogic,g12a-toddr",
116*4882a593Smuzhiyun				     "amlogic,axg-toddr";
117*4882a593Smuzhiyun			reg = <0x0 0x140 0x0 0x2c>;
118*4882a593Smuzhiyun			#sound-dai-cells = <0>;
119*4882a593Smuzhiyun			sound-name-prefix = "TODDR_B";
120*4882a593Smuzhiyun			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
121*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
122*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_B>,
123*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_B>;
124*4882a593Smuzhiyun			reset-names = "arb", "rst";
125*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
126*4882a593Smuzhiyun			status = "disabled";
127*4882a593Smuzhiyun		};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun		toddr_c: audio-controller@180 {
130*4882a593Smuzhiyun			compatible = "amlogic,g12a-toddr",
131*4882a593Smuzhiyun				     "amlogic,axg-toddr";
132*4882a593Smuzhiyun			reg = <0x0 0x180 0x0 0x2c>;
133*4882a593Smuzhiyun			#sound-dai-cells = <0>;
134*4882a593Smuzhiyun			sound-name-prefix = "TODDR_C";
135*4882a593Smuzhiyun			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
136*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
137*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_C>,
138*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_C>;
139*4882a593Smuzhiyun			reset-names = "arb", "rst";
140*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
141*4882a593Smuzhiyun			status = "disabled";
142*4882a593Smuzhiyun		};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun		frddr_a: audio-controller@1c0 {
145*4882a593Smuzhiyun			compatible = "amlogic,g12a-frddr",
146*4882a593Smuzhiyun				     "amlogic,axg-frddr";
147*4882a593Smuzhiyun			reg = <0x0 0x1c0 0x0 0x2c>;
148*4882a593Smuzhiyun			#sound-dai-cells = <0>;
149*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_A";
150*4882a593Smuzhiyun			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
151*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
152*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_A>,
153*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_A>;
154*4882a593Smuzhiyun			reset-names = "arb", "rst";
155*4882a593Smuzhiyun			amlogic,fifo-depth = <512>;
156*4882a593Smuzhiyun			status = "disabled";
157*4882a593Smuzhiyun		};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun		frddr_b: audio-controller@200 {
160*4882a593Smuzhiyun			compatible = "amlogic,g12a-frddr",
161*4882a593Smuzhiyun				     "amlogic,axg-frddr";
162*4882a593Smuzhiyun			reg = <0x0 0x200 0x0 0x2c>;
163*4882a593Smuzhiyun			#sound-dai-cells = <0>;
164*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_B";
165*4882a593Smuzhiyun			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
166*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
167*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_B>,
168*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_B>;
169*4882a593Smuzhiyun			reset-names = "arb", "rst";
170*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
171*4882a593Smuzhiyun			status = "disabled";
172*4882a593Smuzhiyun		};
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun		frddr_c: audio-controller@240 {
175*4882a593Smuzhiyun			compatible = "amlogic,g12a-frddr",
176*4882a593Smuzhiyun				     "amlogic,axg-frddr";
177*4882a593Smuzhiyun			reg = <0x0 0x240 0x0 0x2c>;
178*4882a593Smuzhiyun			#sound-dai-cells = <0>;
179*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_C";
180*4882a593Smuzhiyun			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
181*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
182*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_C>,
183*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_C>;
184*4882a593Smuzhiyun			reset-names = "arb", "rst";
185*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
186*4882a593Smuzhiyun			status = "disabled";
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun		arb: reset-controller@280 {
190*4882a593Smuzhiyun			status = "disabled";
191*4882a593Smuzhiyun			compatible = "amlogic,meson-axg-audio-arb";
192*4882a593Smuzhiyun			reg = <0x0 0x280 0x0 0x4>;
193*4882a593Smuzhiyun			#reset-cells = <1>;
194*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
195*4882a593Smuzhiyun		};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun		tdmin_a: audio-controller@300 {
198*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmin",
199*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
200*4882a593Smuzhiyun			reg = <0x0 0x300 0x0 0x40>;
201*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_A";
202*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
203*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
204*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
205*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
206*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
207*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
208*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
209*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
210*4882a593Smuzhiyun			status = "disabled";
211*4882a593Smuzhiyun		};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun		tdmin_b: audio-controller@340 {
214*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmin",
215*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
216*4882a593Smuzhiyun			reg = <0x0 0x340 0x0 0x40>;
217*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_B";
218*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
219*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
220*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
221*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
222*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
223*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
224*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
225*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
226*4882a593Smuzhiyun			status = "disabled";
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		tdmin_c: audio-controller@380 {
230*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmin",
231*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
232*4882a593Smuzhiyun			reg = <0x0 0x380 0x0 0x40>;
233*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_C";
234*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
235*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
236*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
237*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
238*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
239*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
240*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
241*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
242*4882a593Smuzhiyun			status = "disabled";
243*4882a593Smuzhiyun		};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		tdmin_lb: audio-controller@3c0 {
246*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmin",
247*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
248*4882a593Smuzhiyun			reg = <0x0 0x3c0 0x0 0x40>;
249*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_LB";
250*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
251*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
252*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
253*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
254*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
255*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
256*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
257*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
258*4882a593Smuzhiyun			status = "disabled";
259*4882a593Smuzhiyun		};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun		spdifin: audio-controller@400 {
262*4882a593Smuzhiyun			compatible = "amlogic,g12a-spdifin",
263*4882a593Smuzhiyun				     "amlogic,axg-spdifin";
264*4882a593Smuzhiyun			reg = <0x0 0x400 0x0 0x30>;
265*4882a593Smuzhiyun			#sound-dai-cells = <0>;
266*4882a593Smuzhiyun			sound-name-prefix = "SPDIFIN";
267*4882a593Smuzhiyun			interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
268*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
269*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
270*4882a593Smuzhiyun			clock-names = "pclk", "refclk";
271*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_SPDIFIN>;
272*4882a593Smuzhiyun			status = "disabled";
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun		spdifout: audio-controller@480 {
276*4882a593Smuzhiyun			compatible = "amlogic,g12a-spdifout",
277*4882a593Smuzhiyun				     "amlogic,axg-spdifout";
278*4882a593Smuzhiyun			reg = <0x0 0x480 0x0 0x50>;
279*4882a593Smuzhiyun			#sound-dai-cells = <0>;
280*4882a593Smuzhiyun			sound-name-prefix = "SPDIFOUT";
281*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
282*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
283*4882a593Smuzhiyun			clock-names = "pclk", "mclk";
284*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
285*4882a593Smuzhiyun			status = "disabled";
286*4882a593Smuzhiyun		};
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun		tdmout_a: audio-controller@500 {
289*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmout";
290*4882a593Smuzhiyun			reg = <0x0 0x500 0x0 0x40>;
291*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_A";
292*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
293*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
294*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
295*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
296*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
297*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
298*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
299*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
300*4882a593Smuzhiyun			status = "disabled";
301*4882a593Smuzhiyun		};
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun		tdmout_b: audio-controller@540 {
304*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmout";
305*4882a593Smuzhiyun			reg = <0x0 0x540 0x0 0x40>;
306*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_B";
307*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
308*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
309*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
310*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
311*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
312*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
313*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
314*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
315*4882a593Smuzhiyun			status = "disabled";
316*4882a593Smuzhiyun		};
317*4882a593Smuzhiyun
318*4882a593Smuzhiyun		tdmout_c: audio-controller@580 {
319*4882a593Smuzhiyun			compatible = "amlogic,g12a-tdmout";
320*4882a593Smuzhiyun			reg = <0x0 0x580 0x0 0x40>;
321*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_C";
322*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
323*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
324*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
325*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
326*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
327*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
328*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
329*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
330*4882a593Smuzhiyun			status = "disabled";
331*4882a593Smuzhiyun		};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun		spdifout_b: audio-controller@680 {
334*4882a593Smuzhiyun			compatible = "amlogic,g12a-spdifout",
335*4882a593Smuzhiyun				     "amlogic,axg-spdifout";
336*4882a593Smuzhiyun			reg = <0x0 0x680 0x0 0x50>;
337*4882a593Smuzhiyun			#sound-dai-cells = <0>;
338*4882a593Smuzhiyun			sound-name-prefix = "SPDIFOUT_B";
339*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
340*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
341*4882a593Smuzhiyun			clock-names = "pclk", "mclk";
342*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_SPDIFOUT_B>;
343*4882a593Smuzhiyun			status = "disabled";
344*4882a593Smuzhiyun		};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun		toacodec: audio-controller@740 {
347*4882a593Smuzhiyun			compatible = "amlogic,g12a-toacodec";
348*4882a593Smuzhiyun			reg = <0x0 0x740 0x0 0x4>;
349*4882a593Smuzhiyun			#sound-dai-cells = <1>;
350*4882a593Smuzhiyun			sound-name-prefix = "TOACODEC";
351*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TOACODEC>;
352*4882a593Smuzhiyun			status = "disabled";
353*4882a593Smuzhiyun		};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun		tohdmitx: audio-controller@744 {
356*4882a593Smuzhiyun			compatible = "amlogic,g12a-tohdmitx";
357*4882a593Smuzhiyun			reg = <0x0 0x744 0x0 0x4>;
358*4882a593Smuzhiyun			#sound-dai-cells = <1>;
359*4882a593Smuzhiyun			sound-name-prefix = "TOHDMITX";
360*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
361*4882a593Smuzhiyun			status = "disabled";
362*4882a593Smuzhiyun		};
363*4882a593Smuzhiyun	};
364*4882a593Smuzhiyun};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun&ethmac {
367*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_G12A_ETH_ID>;
368*4882a593Smuzhiyun};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun&vpu {
371*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_G12A_VPU_ID>;
372*4882a593Smuzhiyun};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun&sd_emmc_a {
375*4882a593Smuzhiyun	amlogic,dram-access-quirk;
376*4882a593Smuzhiyun};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun&simplefb_cvbs {
379*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_G12A_VPU_ID>;
380*4882a593Smuzhiyun};
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun&simplefb_hdmi {
383*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_G12A_VPU_ID>;
384*4882a593Smuzhiyun};
385*4882a593Smuzhiyun
386