1e9a12e14SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2e9a12e14SNeil Armstrong/*
3e9a12e14SNeil Armstrong * Copyright (c) 2019 BayLibre, SAS
4e9a12e14SNeil Armstrong * Author: Neil Armstrong <narmstrong@baylibre.com>
5e9a12e14SNeil Armstrong */
6e9a12e14SNeil Armstrong
7e9a12e14SNeil Armstrong#include "meson-g12-common.dtsi"
8b3b81691SJerome Brunet#include <dt-bindings/clock/axg-audio-clkc.h>
9f4f1c8d9SNeil Armstrong#include <dt-bindings/power/meson-sm1-power.h>
10b3b81691SJerome Brunet#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
11b3b81691SJerome Brunet#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
12e9a12e14SNeil Armstrong
13e9a12e14SNeil Armstrong/ {
14e9a12e14SNeil Armstrong	compatible = "amlogic,sm1";
15e9a12e14SNeil Armstrong
16b3b81691SJerome Brunet	tdmif_a: audio-controller-0 {
17b3b81691SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
18b3b81691SJerome Brunet		#sound-dai-cells = <0>;
19b3b81691SJerome Brunet		sound-name-prefix = "TDM_A";
20b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
21b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
22b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
23b3b81691SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
24b3b81691SJerome Brunet		status = "disabled";
25b3b81691SJerome Brunet	};
26b3b81691SJerome Brunet
27b3b81691SJerome Brunet	tdmif_b: audio-controller-1 {
28b3b81691SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
29b3b81691SJerome Brunet		#sound-dai-cells = <0>;
30b3b81691SJerome Brunet		sound-name-prefix = "TDM_B";
31b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
32b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_B_SCLK>,
33b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
34b3b81691SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
35b3b81691SJerome Brunet		status = "disabled";
36b3b81691SJerome Brunet	};
37b3b81691SJerome Brunet
38b3b81691SJerome Brunet	tdmif_c: audio-controller-2 {
39b3b81691SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
40b3b81691SJerome Brunet		#sound-dai-cells = <0>;
41b3b81691SJerome Brunet		sound-name-prefix = "TDM_C";
42b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
43b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_C_SCLK>,
44b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
45b3b81691SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
46b3b81691SJerome Brunet		status = "disabled";
47b3b81691SJerome Brunet	};
48b3b81691SJerome Brunet
49e9a12e14SNeil Armstrong	cpus {
50e9a12e14SNeil Armstrong		#address-cells = <0x2>;
51e9a12e14SNeil Armstrong		#size-cells = <0x0>;
52e9a12e14SNeil Armstrong
53e9a12e14SNeil Armstrong		cpu0: cpu@0 {
54e9a12e14SNeil Armstrong			device_type = "cpu";
55e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
56e9a12e14SNeil Armstrong			reg = <0x0 0x0>;
57e9a12e14SNeil Armstrong			enable-method = "psci";
58e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
59c30dd927SNeil Armstrong			#cooling-cells = <2>;
60e9a12e14SNeil Armstrong		};
61e9a12e14SNeil Armstrong
62e9a12e14SNeil Armstrong		cpu1: cpu@1 {
63e9a12e14SNeil Armstrong			device_type = "cpu";
64e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
65e9a12e14SNeil Armstrong			reg = <0x0 0x1>;
66e9a12e14SNeil Armstrong			enable-method = "psci";
67e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
68c30dd927SNeil Armstrong			#cooling-cells = <2>;
69e9a12e14SNeil Armstrong		};
70e9a12e14SNeil Armstrong
71e9a12e14SNeil Armstrong		cpu2: cpu@2 {
72e9a12e14SNeil Armstrong			device_type = "cpu";
73e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
74e9a12e14SNeil Armstrong			reg = <0x0 0x2>;
75e9a12e14SNeil Armstrong			enable-method = "psci";
76e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
77c30dd927SNeil Armstrong			#cooling-cells = <2>;
78e9a12e14SNeil Armstrong		};
79e9a12e14SNeil Armstrong
80e9a12e14SNeil Armstrong		cpu3: cpu@3 {
81e9a12e14SNeil Armstrong			device_type = "cpu";
82e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
83e9a12e14SNeil Armstrong			reg = <0x0 0x3>;
84e9a12e14SNeil Armstrong			enable-method = "psci";
85e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
86c30dd927SNeil Armstrong			#cooling-cells = <2>;
87e9a12e14SNeil Armstrong		};
88e9a12e14SNeil Armstrong
89e9a12e14SNeil Armstrong		l2: l2-cache0 {
90e9a12e14SNeil Armstrong			compatible = "cache";
9149f65e2eSPierre Gondois			cache-level = <2>;
92e9a12e14SNeil Armstrong		};
93e9a12e14SNeil Armstrong	};
943d9e7648SNeil Armstrong
953d9e7648SNeil Armstrong	cpu_opp_table: opp-table {
963d9e7648SNeil Armstrong		compatible = "operating-points-v2";
973d9e7648SNeil Armstrong		opp-shared;
983d9e7648SNeil Armstrong
993d9e7648SNeil Armstrong		opp-1000000000 {
1003d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1000000000>;
1013d9e7648SNeil Armstrong			opp-microvolt = <770000>;
1023d9e7648SNeil Armstrong		};
1033d9e7648SNeil Armstrong
1043d9e7648SNeil Armstrong		opp-1200000000 {
1053d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1200000000>;
1063d9e7648SNeil Armstrong			opp-microvolt = <780000>;
1073d9e7648SNeil Armstrong		};
1083d9e7648SNeil Armstrong
1093d9e7648SNeil Armstrong		opp-1404000000 {
1103d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1404000000>;
1113d9e7648SNeil Armstrong			opp-microvolt = <790000>;
1123d9e7648SNeil Armstrong		};
1133d9e7648SNeil Armstrong
114b6a1c8a1SDongjin Kim		opp-1500000000 {
1153d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1500000000>;
1163d9e7648SNeil Armstrong			opp-microvolt = <800000>;
1173d9e7648SNeil Armstrong		};
1183d9e7648SNeil Armstrong
1193d9e7648SNeil Armstrong		opp-1608000000 {
1203d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1608000000>;
1213d9e7648SNeil Armstrong			opp-microvolt = <810000>;
1223d9e7648SNeil Armstrong		};
1233d9e7648SNeil Armstrong
1243d9e7648SNeil Armstrong		opp-1704000000 {
1253d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1704000000>;
1263d9e7648SNeil Armstrong			opp-microvolt = <850000>;
1273d9e7648SNeil Armstrong		};
1283d9e7648SNeil Armstrong
1293d9e7648SNeil Armstrong		opp-1800000000 {
1303d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1800000000>;
1313d9e7648SNeil Armstrong			opp-microvolt = <900000>;
1323d9e7648SNeil Armstrong		};
1333d9e7648SNeil Armstrong
1343d9e7648SNeil Armstrong		opp-1908000000 {
1353d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1908000000>;
1363d9e7648SNeil Armstrong			opp-microvolt = <950000>;
1373d9e7648SNeil Armstrong		};
1383d9e7648SNeil Armstrong	};
139e9a12e14SNeil Armstrong};
140e9a12e14SNeil Armstrong
141b3b81691SJerome Brunet&apb {
142b3b81691SJerome Brunet	audio: bus@60000 {
143b3b81691SJerome Brunet		compatible = "simple-bus";
144b3b81691SJerome Brunet		reg = <0x0 0x60000 0x0 0x1000>;
145b3b81691SJerome Brunet		#address-cells = <2>;
146b3b81691SJerome Brunet		#size-cells = <2>;
147b3b81691SJerome Brunet		ranges = <0x0 0x0 0x0 0x60000 0x0 0x1000>;
148b3b81691SJerome Brunet
149b3b81691SJerome Brunet		clkc_audio: clock-controller@0 {
150b3b81691SJerome Brunet			status = "disabled";
151b3b81691SJerome Brunet			compatible = "amlogic,sm1-audio-clkc";
152b3b81691SJerome Brunet			reg = <0x0 0x0 0x0 0xb4>;
153b3b81691SJerome Brunet			#clock-cells = <1>;
154b3b81691SJerome Brunet			#reset-cells = <1>;
155b3b81691SJerome Brunet
156b3b81691SJerome Brunet			clocks = <&clkc CLKID_AUDIO>,
157b3b81691SJerome Brunet				 <&clkc CLKID_MPLL0>,
158b3b81691SJerome Brunet				 <&clkc CLKID_MPLL1>,
159b3b81691SJerome Brunet				 <&clkc CLKID_MPLL2>,
160b3b81691SJerome Brunet				 <&clkc CLKID_MPLL3>,
161b3b81691SJerome Brunet				 <&clkc CLKID_HIFI_PLL>,
162b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV3>,
163b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV4>,
164b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV5>;
165b3b81691SJerome Brunet			clock-names = "pclk",
166b3b81691SJerome Brunet				      "mst_in0",
167b3b81691SJerome Brunet				      "mst_in1",
168b3b81691SJerome Brunet				      "mst_in2",
169b3b81691SJerome Brunet				      "mst_in3",
170b3b81691SJerome Brunet				      "mst_in4",
171b3b81691SJerome Brunet				      "mst_in5",
172b3b81691SJerome Brunet				      "mst_in6",
173b3b81691SJerome Brunet				      "mst_in7";
174b3b81691SJerome Brunet
175b3b81691SJerome Brunet			resets = <&reset RESET_AUDIO>;
176b3b81691SJerome Brunet		};
177b3b81691SJerome Brunet
178b3b81691SJerome Brunet		toddr_a: audio-controller@100 {
179b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
180b3b81691SJerome Brunet				     "amlogic,axg-toddr";
181b3b81691SJerome Brunet			reg = <0x0 0x100 0x0 0x2c>;
182b3b81691SJerome Brunet			#sound-dai-cells = <0>;
183b3b81691SJerome Brunet			sound-name-prefix = "TODDR_A";
184b3b81691SJerome Brunet			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
185b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
186b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_A>,
187b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_A>;
188b3b81691SJerome Brunet			reset-names = "arb", "rst";
189be638075SJerome Brunet			amlogic,fifo-depth = <8192>;
190b3b81691SJerome Brunet			status = "disabled";
191b3b81691SJerome Brunet		};
192b3b81691SJerome Brunet
193b3b81691SJerome Brunet		toddr_b: audio-controller@140 {
194b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
195b3b81691SJerome Brunet				     "amlogic,axg-toddr";
196b3b81691SJerome Brunet			reg = <0x0 0x140 0x0 0x2c>;
197b3b81691SJerome Brunet			#sound-dai-cells = <0>;
198b3b81691SJerome Brunet			sound-name-prefix = "TODDR_B";
199b3b81691SJerome Brunet			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
200b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
201b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_B>,
202b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_B>;
203b3b81691SJerome Brunet			reset-names = "arb", "rst";
204be638075SJerome Brunet			amlogic,fifo-depth = <256>;
205b3b81691SJerome Brunet			status = "disabled";
206b3b81691SJerome Brunet		};
207b3b81691SJerome Brunet
208b3b81691SJerome Brunet		toddr_c: audio-controller@180 {
209b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
210b3b81691SJerome Brunet				     "amlogic,axg-toddr";
211b3b81691SJerome Brunet			reg = <0x0 0x180 0x0 0x2c>;
212b3b81691SJerome Brunet			#sound-dai-cells = <0>;
213b3b81691SJerome Brunet			sound-name-prefix = "TODDR_C";
214b3b81691SJerome Brunet			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
215b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
216b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_C>,
217b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_C>;
218b3b81691SJerome Brunet			reset-names = "arb", "rst";
219be638075SJerome Brunet			amlogic,fifo-depth = <256>;
220b3b81691SJerome Brunet			status = "disabled";
221b3b81691SJerome Brunet		};
222b3b81691SJerome Brunet
223b3b81691SJerome Brunet		frddr_a: audio-controller@1c0 {
224b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
225b3b81691SJerome Brunet				     "amlogic,axg-frddr";
226b3b81691SJerome Brunet			reg = <0x0 0x1c0 0x0 0x2c>;
227b3b81691SJerome Brunet			#sound-dai-cells = <0>;
228b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_A";
229b3b81691SJerome Brunet			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
230b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
231b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_A>,
232b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_A>;
233b3b81691SJerome Brunet			reset-names = "arb", "rst";
234be638075SJerome Brunet			amlogic,fifo-depth = <512>;
235b3b81691SJerome Brunet			status = "disabled";
236b3b81691SJerome Brunet		};
237b3b81691SJerome Brunet
238b3b81691SJerome Brunet		frddr_b: audio-controller@200 {
239b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
240b3b81691SJerome Brunet				     "amlogic,axg-frddr";
241b3b81691SJerome Brunet			reg = <0x0 0x200 0x0 0x2c>;
242b3b81691SJerome Brunet			#sound-dai-cells = <0>;
243b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_B";
244b3b81691SJerome Brunet			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
245b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
246b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_B>,
247b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_B>;
248b3b81691SJerome Brunet			reset-names = "arb", "rst";
249be638075SJerome Brunet			amlogic,fifo-depth = <256>;
250b3b81691SJerome Brunet			status = "disabled";
251b3b81691SJerome Brunet		};
252b3b81691SJerome Brunet
253b3b81691SJerome Brunet		frddr_c: audio-controller@240 {
254b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
255b3b81691SJerome Brunet				     "amlogic,axg-frddr";
256b3b81691SJerome Brunet			reg = <0x0 0x240 0x0 0x2c>;
257b3b81691SJerome Brunet			#sound-dai-cells = <0>;
258b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_C";
259b3b81691SJerome Brunet			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
260b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
261b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_C>,
262b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_C>;
263b3b81691SJerome Brunet			reset-names = "arb", "rst";
264be638075SJerome Brunet			amlogic,fifo-depth = <256>;
265b3b81691SJerome Brunet			status = "disabled";
266b3b81691SJerome Brunet		};
267b3b81691SJerome Brunet
268b3b81691SJerome Brunet		arb: reset-controller@280 {
269b3b81691SJerome Brunet			status = "disabled";
270b3b81691SJerome Brunet			compatible = "amlogic,meson-sm1-audio-arb";
271b3b81691SJerome Brunet			reg = <0x0 0x280 0x0 0x4>;
272b3b81691SJerome Brunet			#reset-cells = <1>;
273b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
274b3b81691SJerome Brunet		};
275b3b81691SJerome Brunet
276b3b81691SJerome Brunet		tdmin_a: audio-controller@300 {
277b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
278b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
279b3b81691SJerome Brunet			reg = <0x0 0x300 0x0 0x40>;
280b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_A";
281b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
282b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
283b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
284b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
285b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
286b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
287b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
288b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
289b3b81691SJerome Brunet			status = "disabled";
290b3b81691SJerome Brunet		};
291b3b81691SJerome Brunet
292b3b81691SJerome Brunet		tdmin_b: audio-controller@340 {
293b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
294b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
295b3b81691SJerome Brunet			reg = <0x0 0x340 0x0 0x40>;
296b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_B";
297b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
298b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
299b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
300b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
301b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
302b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
303b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
304b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
305b3b81691SJerome Brunet			status = "disabled";
306b3b81691SJerome Brunet		};
307b3b81691SJerome Brunet
308b3b81691SJerome Brunet		tdmin_c: audio-controller@380 {
309b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
310b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
311b3b81691SJerome Brunet			reg = <0x0 0x380 0x0 0x40>;
312b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_C";
313b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
314b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
315b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
316b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
317b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
318b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
319b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
320b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
321b3b81691SJerome Brunet			status = "disabled";
322b3b81691SJerome Brunet		};
323b3b81691SJerome Brunet
324b3b81691SJerome Brunet		tdmin_lb: audio-controller@3c0 {
325b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
326b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
327b3b81691SJerome Brunet			reg = <0x0 0x3c0 0x0 0x40>;
328b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_LB";
329b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
330b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
331b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
332b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
333b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
334b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
335b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
336b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
337b3b81691SJerome Brunet			status = "disabled";
338b3b81691SJerome Brunet		};
339b3b81691SJerome Brunet
34086f21594SArtem Lapkin		spdifin: audio-controller@400 {
34186f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifin",
34286f21594SArtem Lapkin				     "amlogic,axg-spdifin";
34386f21594SArtem Lapkin			reg = <0x0 0x400 0x0 0x30>;
34486f21594SArtem Lapkin			#sound-dai-cells = <0>;
34586f21594SArtem Lapkin			sound-name-prefix = "SPDIFIN";
34686f21594SArtem Lapkin			interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
34786f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
34886f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
34986f21594SArtem Lapkin			clock-names = "pclk", "refclk";
35086f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFIN>;
35186f21594SArtem Lapkin			status = "disabled";
35286f21594SArtem Lapkin		};
35386f21594SArtem Lapkin
35486f21594SArtem Lapkin		spdifout_a: audio-controller@480 {
35586f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifout",
35686f21594SArtem Lapkin				     "amlogic,axg-spdifout";
35786f21594SArtem Lapkin			reg = <0x0 0x480 0x0 0x50>;
35886f21594SArtem Lapkin			#sound-dai-cells = <0>;
35986f21594SArtem Lapkin			sound-name-prefix = "SPDIFOUT_A";
36086f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
36186f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
36286f21594SArtem Lapkin			clock-names = "pclk", "mclk";
36386f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
36486f21594SArtem Lapkin			status = "disabled";
36586f21594SArtem Lapkin		};
36686f21594SArtem Lapkin
367b3b81691SJerome Brunet		tdmout_a: audio-controller@500 {
368b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
369b3b81691SJerome Brunet			reg = <0x0 0x500 0x0 0x40>;
370b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_A";
371b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
372b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
373b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
374b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
375b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
376b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
377b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
378b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
379b3b81691SJerome Brunet			status = "disabled";
380b3b81691SJerome Brunet		};
381b3b81691SJerome Brunet
382b3b81691SJerome Brunet		tdmout_b: audio-controller@540 {
383b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
384b3b81691SJerome Brunet			reg = <0x0 0x540 0x0 0x40>;
385b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_B";
386b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
387b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
388b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
389b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
390b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
391b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
392b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
393b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
394b3b81691SJerome Brunet			status = "disabled";
395b3b81691SJerome Brunet		};
396b3b81691SJerome Brunet
397b3b81691SJerome Brunet		tdmout_c: audio-controller@580 {
398b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
399b3b81691SJerome Brunet			reg = <0x0 0x580 0x0 0x40>;
400b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_C";
401b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
402b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
403b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
404b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
405b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
406b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
407b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
408b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
409b3b81691SJerome Brunet			status = "disabled";
410b3b81691SJerome Brunet		};
411b3b81691SJerome Brunet
412ddbdaa4dSNeil Armstrong		toacodec: audio-controller@740 {
413ddbdaa4dSNeil Armstrong			compatible = "amlogic,sm1-toacodec",
414ddbdaa4dSNeil Armstrong				     "amlogic,g12a-toacodec";
415ddbdaa4dSNeil Armstrong			reg = <0x0 0x740 0x0 0x4>;
416ddbdaa4dSNeil Armstrong			#sound-dai-cells = <1>;
417ddbdaa4dSNeil Armstrong			sound-name-prefix = "TOACODEC";
418ddbdaa4dSNeil Armstrong			resets = <&clkc_audio AUD_RESET_TOACODEC>;
419ddbdaa4dSNeil Armstrong			status = "disabled";
420ddbdaa4dSNeil Armstrong		};
421ddbdaa4dSNeil Armstrong
422b3b81691SJerome Brunet		tohdmitx: audio-controller@744 {
423b3b81691SJerome Brunet			compatible = "amlogic,sm1-tohdmitx",
424b3b81691SJerome Brunet				     "amlogic,g12a-tohdmitx";
425b3b81691SJerome Brunet			reg = <0x0 0x744 0x0 0x4>;
426b3b81691SJerome Brunet			#sound-dai-cells = <1>;
427b3b81691SJerome Brunet			sound-name-prefix = "TOHDMITX";
428b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
429b3b81691SJerome Brunet			status = "disabled";
430b3b81691SJerome Brunet		};
431b3b81691SJerome Brunet
432b3b81691SJerome Brunet		toddr_d: audio-controller@840 {
433b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
434b3b81691SJerome Brunet				     "amlogic,axg-toddr";
435b3b81691SJerome Brunet			reg = <0x0 0x840 0x0 0x2c>;
436b3b81691SJerome Brunet			#sound-dai-cells = <0>;
437b3b81691SJerome Brunet			sound-name-prefix = "TODDR_D";
438b3b81691SJerome Brunet			interrupts = <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
439b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_D>;
440b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_D>,
441b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_D>;
442b3b81691SJerome Brunet			reset-names = "arb", "rst";
443be638075SJerome Brunet			amlogic,fifo-depth = <256>;
444b3b81691SJerome Brunet			status = "disabled";
445b3b81691SJerome Brunet		};
446b3b81691SJerome Brunet
447b3b81691SJerome Brunet		frddr_d: audio-controller@880 {
448b3b81691SJerome Brunet			 compatible = "amlogic,sm1-frddr",
449b3b81691SJerome Brunet				      "amlogic,axg-frddr";
450b3b81691SJerome Brunet			reg = <0x0 0x880 0x0 0x2c>;
451b3b81691SJerome Brunet			#sound-dai-cells = <0>;
452b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_D";
453b3b81691SJerome Brunet			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
454b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_D>;
455b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_D>,
456b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_D>;
457b3b81691SJerome Brunet			reset-names = "arb", "rst";
458be638075SJerome Brunet			amlogic,fifo-depth = <256>;
459b3b81691SJerome Brunet			status = "disabled";
460b3b81691SJerome Brunet		};
461b3b81691SJerome Brunet	};
462b3b81691SJerome Brunet
463b3b81691SJerome Brunet	pdm: audio-controller@61000 {
464b3b81691SJerome Brunet		compatible = "amlogic,sm1-pdm",
465b3b81691SJerome Brunet			     "amlogic,axg-pdm";
466b3b81691SJerome Brunet		reg = <0x0 0x61000 0x0 0x34>;
467b3b81691SJerome Brunet		#sound-dai-cells = <0>;
468b3b81691SJerome Brunet		sound-name-prefix = "PDM";
469b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_PDM>,
470b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
471b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
472b3b81691SJerome Brunet		clock-names = "pclk", "dclk", "sysclk";
473ae5eed59SJerome Brunet		resets = <&clkc_audio AUD_RESET_PDM>;
474b3b81691SJerome Brunet		status = "disabled";
475b3b81691SJerome Brunet	};
476b3b81691SJerome Brunet};
477b3b81691SJerome Brunet
478e9a12e14SNeil Armstrong&cecb_AO {
479e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-ao-cec";
480e9a12e14SNeil Armstrong};
481e9a12e14SNeil Armstrong
482e9a12e14SNeil Armstrong&clk_msr {
483e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-clk-measure";
484e9a12e14SNeil Armstrong};
485e9a12e14SNeil Armstrong
486f4f1c8d9SNeil Armstrong
4873d9e7648SNeil Armstrong&clkc {
4883d9e7648SNeil Armstrong	compatible = "amlogic,sm1-clkc";
4893d9e7648SNeil Armstrong};
4903d9e7648SNeil Armstrong
491c30dd927SNeil Armstrong&cpu_thermal {
492c30dd927SNeil Armstrong	cooling-maps {
493c30dd927SNeil Armstrong		map0 {
494c30dd927SNeil Armstrong			trip = <&cpu_passive>;
495c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
496c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
497c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
498c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
499c30dd927SNeil Armstrong		};
500c30dd927SNeil Armstrong
501c30dd927SNeil Armstrong		map1 {
502c30dd927SNeil Armstrong			trip = <&cpu_hot>;
503c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
504c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
505c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
506c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
507c30dd927SNeil Armstrong		};
508c30dd927SNeil Armstrong	};
509c30dd927SNeil Armstrong};
510c30dd927SNeil Armstrong
511f4f1c8d9SNeil Armstrong&ethmac {
512f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_ETH_ID>;
513f4f1c8d9SNeil Armstrong};
514f4f1c8d9SNeil Armstrong
515e6b6d9d3SJerome Brunet&gpio_intc {
516e6b6d9d3SJerome Brunet	compatible = "amlogic,meson-sm1-gpio-intc",
517e6b6d9d3SJerome Brunet		     "amlogic,meson-gpio-intc";
518e6b6d9d3SJerome Brunet};
519e6b6d9d3SJerome Brunet
5201f8607d5SNeil Armstrong&pcie {
5211f8607d5SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
5221f8607d5SNeil Armstrong};
5231f8607d5SNeil Armstrong
524*90cf8e21SJiucheng Xu&pmu {
525*90cf8e21SJiucheng Xu	compatible = "amlogic,sm1-ddr-pmu";
526*90cf8e21SJiucheng Xu};
527*90cf8e21SJiucheng Xu
528f4f1c8d9SNeil Armstrong&pwrc {
529f4f1c8d9SNeil Armstrong	compatible = "amlogic,meson-sm1-pwrc";
530e9a12e14SNeil Armstrong};
531e9a12e14SNeil Armstrong
53215767cfdSNeil Armstrong&simplefb_cvbs {
53315767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
53415767cfdSNeil Armstrong};
53515767cfdSNeil Armstrong
53615767cfdSNeil Armstrong&simplefb_hdmi {
53715767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
53815767cfdSNeil Armstrong};
53915767cfdSNeil Armstrong
540302d95c6SNeil Armstrong&vdec {
541302d95c6SNeil Armstrong	compatible = "amlogic,sm1-vdec";
542302d95c6SNeil Armstrong};
543302d95c6SNeil Armstrong
544e9a12e14SNeil Armstrong&vpu {
545f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
546f4f1c8d9SNeil Armstrong};
547f4f1c8d9SNeil Armstrong
548f4f1c8d9SNeil Armstrong&usb {
549f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_USB_ID>;
550e9a12e14SNeil Armstrong};
551