xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/amlogic/meson-sm1.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: Neil Armstrong <narmstrong@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-sm1-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	compatible = "amlogic,sm1";
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	tdmif_a: audio-controller-0 {
17*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
18*4882a593Smuzhiyun		#sound-dai-cells = <0>;
19*4882a593Smuzhiyun		sound-name-prefix = "TDM_A";
20*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
21*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
22*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
23*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
24*4882a593Smuzhiyun		status = "disabled";
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	tdmif_b: audio-controller-1 {
28*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
29*4882a593Smuzhiyun		#sound-dai-cells = <0>;
30*4882a593Smuzhiyun		sound-name-prefix = "TDM_B";
31*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
32*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_B_SCLK>,
33*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
34*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
35*4882a593Smuzhiyun		status = "disabled";
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	tdmif_c: audio-controller-2 {
39*4882a593Smuzhiyun		compatible = "amlogic,axg-tdm-iface";
40*4882a593Smuzhiyun		#sound-dai-cells = <0>;
41*4882a593Smuzhiyun		sound-name-prefix = "TDM_C";
42*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
43*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_C_SCLK>,
44*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
45*4882a593Smuzhiyun		clock-names = "mclk", "sclk", "lrclk";
46*4882a593Smuzhiyun		status = "disabled";
47*4882a593Smuzhiyun	};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun	cpus {
50*4882a593Smuzhiyun		#address-cells = <0x2>;
51*4882a593Smuzhiyun		#size-cells = <0x0>;
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun		cpu0: cpu@0 {
54*4882a593Smuzhiyun			device_type = "cpu";
55*4882a593Smuzhiyun			compatible = "arm,cortex-a55";
56*4882a593Smuzhiyun			reg = <0x0 0x0>;
57*4882a593Smuzhiyun			enable-method = "psci";
58*4882a593Smuzhiyun			next-level-cache = <&l2>;
59*4882a593Smuzhiyun			#cooling-cells = <2>;
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		cpu1: cpu@1 {
63*4882a593Smuzhiyun			device_type = "cpu";
64*4882a593Smuzhiyun			compatible = "arm,cortex-a55";
65*4882a593Smuzhiyun			reg = <0x0 0x1>;
66*4882a593Smuzhiyun			enable-method = "psci";
67*4882a593Smuzhiyun			next-level-cache = <&l2>;
68*4882a593Smuzhiyun			#cooling-cells = <2>;
69*4882a593Smuzhiyun		};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun		cpu2: cpu@2 {
72*4882a593Smuzhiyun			device_type = "cpu";
73*4882a593Smuzhiyun			compatible = "arm,cortex-a55";
74*4882a593Smuzhiyun			reg = <0x0 0x2>;
75*4882a593Smuzhiyun			enable-method = "psci";
76*4882a593Smuzhiyun			next-level-cache = <&l2>;
77*4882a593Smuzhiyun			#cooling-cells = <2>;
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		cpu3: cpu@3 {
81*4882a593Smuzhiyun			device_type = "cpu";
82*4882a593Smuzhiyun			compatible = "arm,cortex-a55";
83*4882a593Smuzhiyun			reg = <0x0 0x3>;
84*4882a593Smuzhiyun			enable-method = "psci";
85*4882a593Smuzhiyun			next-level-cache = <&l2>;
86*4882a593Smuzhiyun			#cooling-cells = <2>;
87*4882a593Smuzhiyun		};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun		l2: l2-cache0 {
90*4882a593Smuzhiyun			compatible = "cache";
91*4882a593Smuzhiyun		};
92*4882a593Smuzhiyun	};
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun	cpu_opp_table: opp-table {
95*4882a593Smuzhiyun		compatible = "operating-points-v2";
96*4882a593Smuzhiyun		opp-shared;
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun		opp-1000000000 {
99*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1000000000>;
100*4882a593Smuzhiyun			opp-microvolt = <770000>;
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		opp-1200000000 {
104*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1200000000>;
105*4882a593Smuzhiyun			opp-microvolt = <780000>;
106*4882a593Smuzhiyun		};
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun		opp-1404000000 {
109*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1404000000>;
110*4882a593Smuzhiyun			opp-microvolt = <790000>;
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun		opp-1500000000 {
114*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1500000000>;
115*4882a593Smuzhiyun			opp-microvolt = <800000>;
116*4882a593Smuzhiyun		};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun		opp-1608000000 {
119*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1608000000>;
120*4882a593Smuzhiyun			opp-microvolt = <810000>;
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun		opp-1704000000 {
124*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1704000000>;
125*4882a593Smuzhiyun			opp-microvolt = <850000>;
126*4882a593Smuzhiyun		};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun		opp-1800000000 {
129*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1800000000>;
130*4882a593Smuzhiyun			opp-microvolt = <900000>;
131*4882a593Smuzhiyun		};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun		opp-1908000000 {
134*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1908000000>;
135*4882a593Smuzhiyun			opp-microvolt = <950000>;
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun	};
138*4882a593Smuzhiyun};
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun&apb {
141*4882a593Smuzhiyun	audio: bus@60000 {
142*4882a593Smuzhiyun		compatible = "simple-bus";
143*4882a593Smuzhiyun		reg = <0x0 0x60000 0x0 0x1000>;
144*4882a593Smuzhiyun		#address-cells = <2>;
145*4882a593Smuzhiyun		#size-cells = <2>;
146*4882a593Smuzhiyun		ranges = <0x0 0x0 0x0 0x60000 0x0 0x1000>;
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun		clkc_audio: clock-controller@0 {
149*4882a593Smuzhiyun			status = "disabled";
150*4882a593Smuzhiyun			compatible = "amlogic,sm1-audio-clkc";
151*4882a593Smuzhiyun			reg = <0x0 0x0 0x0 0xb4>;
152*4882a593Smuzhiyun			#clock-cells = <1>;
153*4882a593Smuzhiyun			#reset-cells = <1>;
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun			clocks = <&clkc CLKID_AUDIO>,
156*4882a593Smuzhiyun				 <&clkc CLKID_MPLL0>,
157*4882a593Smuzhiyun				 <&clkc CLKID_MPLL1>,
158*4882a593Smuzhiyun				 <&clkc CLKID_MPLL2>,
159*4882a593Smuzhiyun				 <&clkc CLKID_MPLL3>,
160*4882a593Smuzhiyun				 <&clkc CLKID_HIFI_PLL>,
161*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV3>,
162*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV4>,
163*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV5>;
164*4882a593Smuzhiyun			clock-names = "pclk",
165*4882a593Smuzhiyun				      "mst_in0",
166*4882a593Smuzhiyun				      "mst_in1",
167*4882a593Smuzhiyun				      "mst_in2",
168*4882a593Smuzhiyun				      "mst_in3",
169*4882a593Smuzhiyun				      "mst_in4",
170*4882a593Smuzhiyun				      "mst_in5",
171*4882a593Smuzhiyun				      "mst_in6",
172*4882a593Smuzhiyun				      "mst_in7";
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun			resets = <&reset RESET_AUDIO>;
175*4882a593Smuzhiyun		};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun		toddr_a: audio-controller@100 {
178*4882a593Smuzhiyun			compatible = "amlogic,sm1-toddr",
179*4882a593Smuzhiyun				     "amlogic,axg-toddr";
180*4882a593Smuzhiyun			reg = <0x0 0x100 0x0 0x2c>;
181*4882a593Smuzhiyun			#sound-dai-cells = <0>;
182*4882a593Smuzhiyun			sound-name-prefix = "TODDR_A";
183*4882a593Smuzhiyun			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
184*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
185*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_A>,
186*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_A>;
187*4882a593Smuzhiyun			reset-names = "arb", "rst";
188*4882a593Smuzhiyun			amlogic,fifo-depth = <8192>;
189*4882a593Smuzhiyun			status = "disabled";
190*4882a593Smuzhiyun		};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun		toddr_b: audio-controller@140 {
193*4882a593Smuzhiyun			compatible = "amlogic,sm1-toddr",
194*4882a593Smuzhiyun				     "amlogic,axg-toddr";
195*4882a593Smuzhiyun			reg = <0x0 0x140 0x0 0x2c>;
196*4882a593Smuzhiyun			#sound-dai-cells = <0>;
197*4882a593Smuzhiyun			sound-name-prefix = "TODDR_B";
198*4882a593Smuzhiyun			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
199*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
200*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_B>,
201*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_B>;
202*4882a593Smuzhiyun			reset-names = "arb", "rst";
203*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
204*4882a593Smuzhiyun			status = "disabled";
205*4882a593Smuzhiyun		};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun		toddr_c: audio-controller@180 {
208*4882a593Smuzhiyun			compatible = "amlogic,sm1-toddr",
209*4882a593Smuzhiyun				     "amlogic,axg-toddr";
210*4882a593Smuzhiyun			reg = <0x0 0x180 0x0 0x2c>;
211*4882a593Smuzhiyun			#sound-dai-cells = <0>;
212*4882a593Smuzhiyun			sound-name-prefix = "TODDR_C";
213*4882a593Smuzhiyun			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
214*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
215*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_C>,
216*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_C>;
217*4882a593Smuzhiyun			reset-names = "arb", "rst";
218*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
219*4882a593Smuzhiyun			status = "disabled";
220*4882a593Smuzhiyun		};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun		frddr_a: audio-controller@1c0 {
223*4882a593Smuzhiyun			compatible = "amlogic,sm1-frddr",
224*4882a593Smuzhiyun				     "amlogic,axg-frddr";
225*4882a593Smuzhiyun			reg = <0x0 0x1c0 0x0 0x2c>;
226*4882a593Smuzhiyun			#sound-dai-cells = <0>;
227*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_A";
228*4882a593Smuzhiyun			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
229*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
230*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_A>,
231*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_A>;
232*4882a593Smuzhiyun			reset-names = "arb", "rst";
233*4882a593Smuzhiyun			amlogic,fifo-depth = <512>;
234*4882a593Smuzhiyun			status = "disabled";
235*4882a593Smuzhiyun		};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun		frddr_b: audio-controller@200 {
238*4882a593Smuzhiyun			compatible = "amlogic,sm1-frddr",
239*4882a593Smuzhiyun				     "amlogic,axg-frddr";
240*4882a593Smuzhiyun			reg = <0x0 0x200 0x0 0x2c>;
241*4882a593Smuzhiyun			#sound-dai-cells = <0>;
242*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_B";
243*4882a593Smuzhiyun			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
244*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
245*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_B>,
246*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_B>;
247*4882a593Smuzhiyun			reset-names = "arb", "rst";
248*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
249*4882a593Smuzhiyun			status = "disabled";
250*4882a593Smuzhiyun		};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun		frddr_c: audio-controller@240 {
253*4882a593Smuzhiyun			compatible = "amlogic,sm1-frddr",
254*4882a593Smuzhiyun				     "amlogic,axg-frddr";
255*4882a593Smuzhiyun			reg = <0x0 0x240 0x0 0x2c>;
256*4882a593Smuzhiyun			#sound-dai-cells = <0>;
257*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_C";
258*4882a593Smuzhiyun			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
259*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
260*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_C>,
261*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_C>;
262*4882a593Smuzhiyun			reset-names = "arb", "rst";
263*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
264*4882a593Smuzhiyun			status = "disabled";
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		arb: reset-controller@280 {
268*4882a593Smuzhiyun			status = "disabled";
269*4882a593Smuzhiyun			compatible = "amlogic,meson-sm1-audio-arb";
270*4882a593Smuzhiyun			reg = <0x0 0x280 0x0 0x4>;
271*4882a593Smuzhiyun			#reset-cells = <1>;
272*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun		tdmin_a: audio-controller@300 {
276*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmin",
277*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
278*4882a593Smuzhiyun			reg = <0x0 0x300 0x0 0x40>;
279*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_A";
280*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
281*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
282*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
283*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
284*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
285*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
286*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
287*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
288*4882a593Smuzhiyun			status = "disabled";
289*4882a593Smuzhiyun		};
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun		tdmin_b: audio-controller@340 {
292*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmin",
293*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
294*4882a593Smuzhiyun			reg = <0x0 0x340 0x0 0x40>;
295*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_B";
296*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
297*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
298*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
299*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
300*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
301*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
302*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
303*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
304*4882a593Smuzhiyun			status = "disabled";
305*4882a593Smuzhiyun		};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun		tdmin_c: audio-controller@380 {
308*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmin",
309*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
310*4882a593Smuzhiyun			reg = <0x0 0x380 0x0 0x40>;
311*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_C";
312*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
313*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
314*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
315*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
316*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
317*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
318*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
319*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
320*4882a593Smuzhiyun			status = "disabled";
321*4882a593Smuzhiyun		};
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun		tdmin_lb: audio-controller@3c0 {
324*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmin",
325*4882a593Smuzhiyun				     "amlogic,axg-tdmin";
326*4882a593Smuzhiyun			reg = <0x0 0x3c0 0x0 0x40>;
327*4882a593Smuzhiyun			sound-name-prefix = "TDMIN_LB";
328*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
329*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
330*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
331*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
332*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
333*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
334*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
335*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
336*4882a593Smuzhiyun			status = "disabled";
337*4882a593Smuzhiyun		};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun		tdmout_a: audio-controller@500 {
340*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmout";
341*4882a593Smuzhiyun			reg = <0x0 0x500 0x0 0x40>;
342*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_A";
343*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
344*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
345*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
346*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
347*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
348*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
349*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
350*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
351*4882a593Smuzhiyun			status = "disabled";
352*4882a593Smuzhiyun		};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun		tdmout_b: audio-controller@540 {
355*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmout";
356*4882a593Smuzhiyun			reg = <0x0 0x540 0x0 0x40>;
357*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_B";
358*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
359*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
360*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
361*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
362*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
363*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
364*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
365*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
366*4882a593Smuzhiyun			status = "disabled";
367*4882a593Smuzhiyun		};
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun		tdmout_c: audio-controller@580 {
370*4882a593Smuzhiyun			compatible = "amlogic,sm1-tdmout";
371*4882a593Smuzhiyun			reg = <0x0 0x580 0x0 0x40>;
372*4882a593Smuzhiyun			sound-name-prefix = "TDMOUT_C";
373*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
374*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
375*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
376*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
377*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
378*4882a593Smuzhiyun				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
379*4882a593Smuzhiyun			clock-names = "pclk", "sclk", "sclk_sel",
380*4882a593Smuzhiyun				      "lrclk", "lrclk_sel";
381*4882a593Smuzhiyun			status = "disabled";
382*4882a593Smuzhiyun		};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun		tohdmitx: audio-controller@744 {
385*4882a593Smuzhiyun			compatible = "amlogic,sm1-tohdmitx",
386*4882a593Smuzhiyun				     "amlogic,g12a-tohdmitx";
387*4882a593Smuzhiyun			reg = <0x0 0x744 0x0 0x4>;
388*4882a593Smuzhiyun			#sound-dai-cells = <1>;
389*4882a593Smuzhiyun			sound-name-prefix = "TOHDMITX";
390*4882a593Smuzhiyun			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
391*4882a593Smuzhiyun			status = "disabled";
392*4882a593Smuzhiyun		};
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun		toddr_d: audio-controller@840 {
395*4882a593Smuzhiyun			compatible = "amlogic,sm1-toddr",
396*4882a593Smuzhiyun				     "amlogic,axg-toddr";
397*4882a593Smuzhiyun			reg = <0x0 0x840 0x0 0x2c>;
398*4882a593Smuzhiyun			#sound-dai-cells = <0>;
399*4882a593Smuzhiyun			sound-name-prefix = "TODDR_D";
400*4882a593Smuzhiyun			interrupts = <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
401*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_TODDR_D>;
402*4882a593Smuzhiyun			resets = <&arb AXG_ARB_TODDR_D>,
403*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_TODDR_D>;
404*4882a593Smuzhiyun			reset-names = "arb", "rst";
405*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
406*4882a593Smuzhiyun			status = "disabled";
407*4882a593Smuzhiyun		};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun		frddr_d: audio-controller@880 {
410*4882a593Smuzhiyun			 compatible = "amlogic,sm1-frddr",
411*4882a593Smuzhiyun				      "amlogic,axg-frddr";
412*4882a593Smuzhiyun			reg = <0x0 0x880 0x0 0x2c>;
413*4882a593Smuzhiyun			#sound-dai-cells = <0>;
414*4882a593Smuzhiyun			sound-name-prefix = "FRDDR_D";
415*4882a593Smuzhiyun			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
416*4882a593Smuzhiyun			clocks = <&clkc_audio AUD_CLKID_FRDDR_D>;
417*4882a593Smuzhiyun			resets = <&arb AXG_ARB_FRDDR_D>,
418*4882a593Smuzhiyun				 <&clkc_audio AUD_RESET_FRDDR_D>;
419*4882a593Smuzhiyun			reset-names = "arb", "rst";
420*4882a593Smuzhiyun			amlogic,fifo-depth = <256>;
421*4882a593Smuzhiyun			status = "disabled";
422*4882a593Smuzhiyun		};
423*4882a593Smuzhiyun	};
424*4882a593Smuzhiyun
425*4882a593Smuzhiyun	pdm: audio-controller@61000 {
426*4882a593Smuzhiyun		compatible = "amlogic,sm1-pdm",
427*4882a593Smuzhiyun			     "amlogic,axg-pdm";
428*4882a593Smuzhiyun		reg = <0x0 0x61000 0x0 0x34>;
429*4882a593Smuzhiyun		#sound-dai-cells = <0>;
430*4882a593Smuzhiyun		sound-name-prefix = "PDM";
431*4882a593Smuzhiyun		clocks = <&clkc_audio AUD_CLKID_PDM>,
432*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
433*4882a593Smuzhiyun			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
434*4882a593Smuzhiyun		clock-names = "pclk", "dclk", "sysclk";
435*4882a593Smuzhiyun		resets = <&clkc_audio AUD_RESET_PDM>;
436*4882a593Smuzhiyun		status = "disabled";
437*4882a593Smuzhiyun	};
438*4882a593Smuzhiyun};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun&cecb_AO {
441*4882a593Smuzhiyun	compatible = "amlogic,meson-sm1-ao-cec";
442*4882a593Smuzhiyun};
443*4882a593Smuzhiyun
444*4882a593Smuzhiyun&clk_msr {
445*4882a593Smuzhiyun	compatible = "amlogic,meson-sm1-clk-measure";
446*4882a593Smuzhiyun};
447*4882a593Smuzhiyun
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun&clkc {
450*4882a593Smuzhiyun	compatible = "amlogic,sm1-clkc";
451*4882a593Smuzhiyun};
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun&cpu_thermal {
454*4882a593Smuzhiyun	cooling-maps {
455*4882a593Smuzhiyun		map0 {
456*4882a593Smuzhiyun			trip = <&cpu_passive>;
457*4882a593Smuzhiyun			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
458*4882a593Smuzhiyun					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
459*4882a593Smuzhiyun					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
460*4882a593Smuzhiyun					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
461*4882a593Smuzhiyun		};
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun		map1 {
464*4882a593Smuzhiyun			trip = <&cpu_hot>;
465*4882a593Smuzhiyun			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
466*4882a593Smuzhiyun					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
467*4882a593Smuzhiyun					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
468*4882a593Smuzhiyun					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
469*4882a593Smuzhiyun		};
470*4882a593Smuzhiyun	};
471*4882a593Smuzhiyun};
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun&ethmac {
474*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_ETH_ID>;
475*4882a593Smuzhiyun};
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun&gpio_intc {
478*4882a593Smuzhiyun	compatible = "amlogic,meson-sm1-gpio-intc",
479*4882a593Smuzhiyun		     "amlogic,meson-gpio-intc";
480*4882a593Smuzhiyun};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun&pcie {
483*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
484*4882a593Smuzhiyun};
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun&pwrc {
487*4882a593Smuzhiyun	compatible = "amlogic,meson-sm1-pwrc";
488*4882a593Smuzhiyun};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun&simplefb_cvbs {
491*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
492*4882a593Smuzhiyun};
493*4882a593Smuzhiyun
494*4882a593Smuzhiyun&simplefb_hdmi {
495*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
496*4882a593Smuzhiyun};
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun&vdec {
499*4882a593Smuzhiyun	compatible = "amlogic,sm1-vdec";
500*4882a593Smuzhiyun};
501*4882a593Smuzhiyun
502*4882a593Smuzhiyun&vpu {
503*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
504*4882a593Smuzhiyun};
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun&usb {
507*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_SM1_USB_ID>;
508*4882a593Smuzhiyun};
509