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";
91e9a12e14SNeil Armstrong		};
92e9a12e14SNeil Armstrong	};
933d9e7648SNeil Armstrong
943d9e7648SNeil Armstrong	cpu_opp_table: opp-table {
953d9e7648SNeil Armstrong		compatible = "operating-points-v2";
963d9e7648SNeil Armstrong		opp-shared;
973d9e7648SNeil Armstrong
983d9e7648SNeil Armstrong		opp-100000000 {
993d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <100000000>;
1003d9e7648SNeil Armstrong			opp-microvolt = <730000>;
1013d9e7648SNeil Armstrong		};
1023d9e7648SNeil Armstrong
1033d9e7648SNeil Armstrong		opp-250000000 {
1043d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <250000000>;
1053d9e7648SNeil Armstrong			opp-microvolt = <730000>;
1063d9e7648SNeil Armstrong		};
1073d9e7648SNeil Armstrong
1083d9e7648SNeil Armstrong		opp-500000000 {
1093d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <500000000>;
1103d9e7648SNeil Armstrong			opp-microvolt = <730000>;
1113d9e7648SNeil Armstrong		};
1123d9e7648SNeil Armstrong
1133d9e7648SNeil Armstrong		opp-667000000 {
1143d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <666666666>;
1153d9e7648SNeil Armstrong			opp-microvolt = <750000>;
1163d9e7648SNeil Armstrong		};
1173d9e7648SNeil Armstrong
1183d9e7648SNeil Armstrong		opp-1000000000 {
1193d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1000000000>;
1203d9e7648SNeil Armstrong			opp-microvolt = <770000>;
1213d9e7648SNeil Armstrong		};
1223d9e7648SNeil Armstrong
1233d9e7648SNeil Armstrong		opp-1200000000 {
1243d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1200000000>;
1253d9e7648SNeil Armstrong			opp-microvolt = <780000>;
1263d9e7648SNeil Armstrong		};
1273d9e7648SNeil Armstrong
1283d9e7648SNeil Armstrong		opp-1404000000 {
1293d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1404000000>;
1303d9e7648SNeil Armstrong			opp-microvolt = <790000>;
1313d9e7648SNeil Armstrong		};
1323d9e7648SNeil Armstrong
133b6a1c8a1SDongjin Kim		opp-1500000000 {
1343d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1500000000>;
1353d9e7648SNeil Armstrong			opp-microvolt = <800000>;
1363d9e7648SNeil Armstrong		};
1373d9e7648SNeil Armstrong
1383d9e7648SNeil Armstrong		opp-1608000000 {
1393d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1608000000>;
1403d9e7648SNeil Armstrong			opp-microvolt = <810000>;
1413d9e7648SNeil Armstrong		};
1423d9e7648SNeil Armstrong
1433d9e7648SNeil Armstrong		opp-1704000000 {
1443d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1704000000>;
1453d9e7648SNeil Armstrong			opp-microvolt = <850000>;
1463d9e7648SNeil Armstrong		};
1473d9e7648SNeil Armstrong
1483d9e7648SNeil Armstrong		opp-1800000000 {
1493d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1800000000>;
1503d9e7648SNeil Armstrong			opp-microvolt = <900000>;
1513d9e7648SNeil Armstrong		};
1523d9e7648SNeil Armstrong
1533d9e7648SNeil Armstrong		opp-1908000000 {
1543d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1908000000>;
1553d9e7648SNeil Armstrong			opp-microvolt = <950000>;
1563d9e7648SNeil Armstrong		};
1573d9e7648SNeil Armstrong	};
158e9a12e14SNeil Armstrong};
159e9a12e14SNeil Armstrong
160b3b81691SJerome Brunet&apb {
161b3b81691SJerome Brunet	audio: bus@60000 {
162b3b81691SJerome Brunet		compatible = "simple-bus";
163b3b81691SJerome Brunet		reg = <0x0 0x60000 0x0 0x1000>;
164b3b81691SJerome Brunet		#address-cells = <2>;
165b3b81691SJerome Brunet		#size-cells = <2>;
166b3b81691SJerome Brunet		ranges = <0x0 0x0 0x0 0x60000 0x0 0x1000>;
167b3b81691SJerome Brunet
168b3b81691SJerome Brunet		clkc_audio: clock-controller@0 {
169b3b81691SJerome Brunet			status = "disabled";
170b3b81691SJerome Brunet			compatible = "amlogic,sm1-audio-clkc";
171b3b81691SJerome Brunet			reg = <0x0 0x0 0x0 0xb4>;
172b3b81691SJerome Brunet			#clock-cells = <1>;
173b3b81691SJerome Brunet			#reset-cells = <1>;
174b3b81691SJerome Brunet
175b3b81691SJerome Brunet			clocks = <&clkc CLKID_AUDIO>,
176b3b81691SJerome Brunet				 <&clkc CLKID_MPLL0>,
177b3b81691SJerome Brunet				 <&clkc CLKID_MPLL1>,
178b3b81691SJerome Brunet				 <&clkc CLKID_MPLL2>,
179b3b81691SJerome Brunet				 <&clkc CLKID_MPLL3>,
180b3b81691SJerome Brunet				 <&clkc CLKID_HIFI_PLL>,
181b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV3>,
182b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV4>,
183b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV5>;
184b3b81691SJerome Brunet			clock-names = "pclk",
185b3b81691SJerome Brunet				      "mst_in0",
186b3b81691SJerome Brunet				      "mst_in1",
187b3b81691SJerome Brunet				      "mst_in2",
188b3b81691SJerome Brunet				      "mst_in3",
189b3b81691SJerome Brunet				      "mst_in4",
190b3b81691SJerome Brunet				      "mst_in5",
191b3b81691SJerome Brunet				      "mst_in6",
192b3b81691SJerome Brunet				      "mst_in7";
193b3b81691SJerome Brunet
194b3b81691SJerome Brunet			resets = <&reset RESET_AUDIO>;
195b3b81691SJerome Brunet		};
196b3b81691SJerome Brunet
197b3b81691SJerome Brunet		toddr_a: audio-controller@100 {
198b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
199b3b81691SJerome Brunet				     "amlogic,axg-toddr";
200b3b81691SJerome Brunet			reg = <0x0 0x100 0x0 0x2c>;
201b3b81691SJerome Brunet			#sound-dai-cells = <0>;
202b3b81691SJerome Brunet			sound-name-prefix = "TODDR_A";
203b3b81691SJerome Brunet			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
204b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
205b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_A>,
206b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_A>;
207b3b81691SJerome Brunet			reset-names = "arb", "rst";
208be638075SJerome Brunet			amlogic,fifo-depth = <8192>;
209b3b81691SJerome Brunet			status = "disabled";
210b3b81691SJerome Brunet		};
211b3b81691SJerome Brunet
212b3b81691SJerome Brunet		toddr_b: audio-controller@140 {
213b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
214b3b81691SJerome Brunet				     "amlogic,axg-toddr";
215b3b81691SJerome Brunet			reg = <0x0 0x140 0x0 0x2c>;
216b3b81691SJerome Brunet			#sound-dai-cells = <0>;
217b3b81691SJerome Brunet			sound-name-prefix = "TODDR_B";
218b3b81691SJerome Brunet			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
219b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
220b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_B>,
221b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_B>;
222b3b81691SJerome Brunet			reset-names = "arb", "rst";
223be638075SJerome Brunet			amlogic,fifo-depth = <256>;
224b3b81691SJerome Brunet			status = "disabled";
225b3b81691SJerome Brunet		};
226b3b81691SJerome Brunet
227b3b81691SJerome Brunet		toddr_c: audio-controller@180 {
228b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
229b3b81691SJerome Brunet				     "amlogic,axg-toddr";
230b3b81691SJerome Brunet			reg = <0x0 0x180 0x0 0x2c>;
231b3b81691SJerome Brunet			#sound-dai-cells = <0>;
232b3b81691SJerome Brunet			sound-name-prefix = "TODDR_C";
233b3b81691SJerome Brunet			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
234b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
235b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_C>,
236b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_C>;
237b3b81691SJerome Brunet			reset-names = "arb", "rst";
238be638075SJerome Brunet			amlogic,fifo-depth = <256>;
239b3b81691SJerome Brunet			status = "disabled";
240b3b81691SJerome Brunet		};
241b3b81691SJerome Brunet
242b3b81691SJerome Brunet		frddr_a: audio-controller@1c0 {
243b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
244b3b81691SJerome Brunet				     "amlogic,axg-frddr";
245b3b81691SJerome Brunet			reg = <0x0 0x1c0 0x0 0x2c>;
246b3b81691SJerome Brunet			#sound-dai-cells = <0>;
247b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_A";
248b3b81691SJerome Brunet			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
249b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
250b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_A>,
251b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_A>;
252b3b81691SJerome Brunet			reset-names = "arb", "rst";
253be638075SJerome Brunet			amlogic,fifo-depth = <512>;
254b3b81691SJerome Brunet			status = "disabled";
255b3b81691SJerome Brunet		};
256b3b81691SJerome Brunet
257b3b81691SJerome Brunet		frddr_b: audio-controller@200 {
258b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
259b3b81691SJerome Brunet				     "amlogic,axg-frddr";
260b3b81691SJerome Brunet			reg = <0x0 0x200 0x0 0x2c>;
261b3b81691SJerome Brunet			#sound-dai-cells = <0>;
262b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_B";
263b3b81691SJerome Brunet			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
264b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
265b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_B>,
266b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_B>;
267b3b81691SJerome Brunet			reset-names = "arb", "rst";
268be638075SJerome Brunet			amlogic,fifo-depth = <256>;
269b3b81691SJerome Brunet			status = "disabled";
270b3b81691SJerome Brunet		};
271b3b81691SJerome Brunet
272b3b81691SJerome Brunet		frddr_c: audio-controller@240 {
273b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
274b3b81691SJerome Brunet				     "amlogic,axg-frddr";
275b3b81691SJerome Brunet			reg = <0x0 0x240 0x0 0x2c>;
276b3b81691SJerome Brunet			#sound-dai-cells = <0>;
277b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_C";
278b3b81691SJerome Brunet			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
279b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
280b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_C>,
281b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_C>;
282b3b81691SJerome Brunet			reset-names = "arb", "rst";
283be638075SJerome Brunet			amlogic,fifo-depth = <256>;
284b3b81691SJerome Brunet			status = "disabled";
285b3b81691SJerome Brunet		};
286b3b81691SJerome Brunet
287b3b81691SJerome Brunet		arb: reset-controller@280 {
288b3b81691SJerome Brunet			status = "disabled";
289b3b81691SJerome Brunet			compatible = "amlogic,meson-sm1-audio-arb";
290b3b81691SJerome Brunet			reg = <0x0 0x280 0x0 0x4>;
291b3b81691SJerome Brunet			#reset-cells = <1>;
292b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
293b3b81691SJerome Brunet		};
294b3b81691SJerome Brunet
295b3b81691SJerome Brunet		tdmin_a: audio-controller@300 {
296b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
297b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
298b3b81691SJerome Brunet			reg = <0x0 0x300 0x0 0x40>;
299b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_A";
300b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
301b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
302b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
303b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
304b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
305b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
306b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
307b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
308b3b81691SJerome Brunet			status = "disabled";
309b3b81691SJerome Brunet		};
310b3b81691SJerome Brunet
311b3b81691SJerome Brunet		tdmin_b: audio-controller@340 {
312b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
313b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
314b3b81691SJerome Brunet			reg = <0x0 0x340 0x0 0x40>;
315b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_B";
316b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
317b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
318b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
319b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
320b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
321b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
322b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
323b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
324b3b81691SJerome Brunet			status = "disabled";
325b3b81691SJerome Brunet		};
326b3b81691SJerome Brunet
327b3b81691SJerome Brunet		tdmin_c: audio-controller@380 {
328b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
329b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
330b3b81691SJerome Brunet			reg = <0x0 0x380 0x0 0x40>;
331b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_C";
332b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
333b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
334b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
335b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
336b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
337b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
338b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
339b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
340b3b81691SJerome Brunet			status = "disabled";
341b3b81691SJerome Brunet		};
342b3b81691SJerome Brunet
343b3b81691SJerome Brunet		tdmin_lb: audio-controller@3c0 {
344b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
345b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
346b3b81691SJerome Brunet			reg = <0x0 0x3c0 0x0 0x40>;
347b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_LB";
348b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
349b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
350b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
351b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
352b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
353b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
354b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
355b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
356b3b81691SJerome Brunet			status = "disabled";
357b3b81691SJerome Brunet		};
358b3b81691SJerome Brunet
359*86f21594SArtem Lapkin		spdifin: audio-controller@400 {
360*86f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifin",
361*86f21594SArtem Lapkin				     "amlogic,axg-spdifin";
362*86f21594SArtem Lapkin			reg = <0x0 0x400 0x0 0x30>;
363*86f21594SArtem Lapkin			#sound-dai-cells = <0>;
364*86f21594SArtem Lapkin			sound-name-prefix = "SPDIFIN";
365*86f21594SArtem Lapkin			interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
366*86f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
367*86f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
368*86f21594SArtem Lapkin			clock-names = "pclk", "refclk";
369*86f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFIN>;
370*86f21594SArtem Lapkin			status = "disabled";
371*86f21594SArtem Lapkin		};
372*86f21594SArtem Lapkin
373*86f21594SArtem Lapkin		spdifout_a: audio-controller@480 {
374*86f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifout",
375*86f21594SArtem Lapkin				     "amlogic,axg-spdifout";
376*86f21594SArtem Lapkin			reg = <0x0 0x480 0x0 0x50>;
377*86f21594SArtem Lapkin			#sound-dai-cells = <0>;
378*86f21594SArtem Lapkin			sound-name-prefix = "SPDIFOUT_A";
379*86f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
380*86f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
381*86f21594SArtem Lapkin			clock-names = "pclk", "mclk";
382*86f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
383*86f21594SArtem Lapkin			status = "disabled";
384*86f21594SArtem Lapkin		};
385*86f21594SArtem Lapkin
386b3b81691SJerome Brunet		tdmout_a: audio-controller@500 {
387b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
388b3b81691SJerome Brunet			reg = <0x0 0x500 0x0 0x40>;
389b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_A";
390b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
391b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
392b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
393b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
394b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
395b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
396b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
397b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
398b3b81691SJerome Brunet			status = "disabled";
399b3b81691SJerome Brunet		};
400b3b81691SJerome Brunet
401b3b81691SJerome Brunet		tdmout_b: audio-controller@540 {
402b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
403b3b81691SJerome Brunet			reg = <0x0 0x540 0x0 0x40>;
404b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_B";
405b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
406b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
407b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
408b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
409b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
410b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
411b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
412b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
413b3b81691SJerome Brunet			status = "disabled";
414b3b81691SJerome Brunet		};
415b3b81691SJerome Brunet
416b3b81691SJerome Brunet		tdmout_c: audio-controller@580 {
417b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
418b3b81691SJerome Brunet			reg = <0x0 0x580 0x0 0x40>;
419b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_C";
420b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
421b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
422b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
423b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
424b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
425b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
426b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
427b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
428b3b81691SJerome Brunet			status = "disabled";
429b3b81691SJerome Brunet		};
430b3b81691SJerome Brunet
431ddbdaa4dSNeil Armstrong		toacodec: audio-controller@740 {
432ddbdaa4dSNeil Armstrong			compatible = "amlogic,sm1-toacodec",
433ddbdaa4dSNeil Armstrong				     "amlogic,g12a-toacodec";
434ddbdaa4dSNeil Armstrong			reg = <0x0 0x740 0x0 0x4>;
435ddbdaa4dSNeil Armstrong			#sound-dai-cells = <1>;
436ddbdaa4dSNeil Armstrong			sound-name-prefix = "TOACODEC";
437ddbdaa4dSNeil Armstrong			resets = <&clkc_audio AUD_RESET_TOACODEC>;
438ddbdaa4dSNeil Armstrong			status = "disabled";
439ddbdaa4dSNeil Armstrong		};
440ddbdaa4dSNeil Armstrong
441b3b81691SJerome Brunet		tohdmitx: audio-controller@744 {
442b3b81691SJerome Brunet			compatible = "amlogic,sm1-tohdmitx",
443b3b81691SJerome Brunet				     "amlogic,g12a-tohdmitx";
444b3b81691SJerome Brunet			reg = <0x0 0x744 0x0 0x4>;
445b3b81691SJerome Brunet			#sound-dai-cells = <1>;
446b3b81691SJerome Brunet			sound-name-prefix = "TOHDMITX";
447b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
448b3b81691SJerome Brunet			status = "disabled";
449b3b81691SJerome Brunet		};
450b3b81691SJerome Brunet
451b3b81691SJerome Brunet		toddr_d: audio-controller@840 {
452b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
453b3b81691SJerome Brunet				     "amlogic,axg-toddr";
454b3b81691SJerome Brunet			reg = <0x0 0x840 0x0 0x2c>;
455b3b81691SJerome Brunet			#sound-dai-cells = <0>;
456b3b81691SJerome Brunet			sound-name-prefix = "TODDR_D";
457b3b81691SJerome Brunet			interrupts = <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
458b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_D>;
459b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_D>,
460b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_D>;
461b3b81691SJerome Brunet			reset-names = "arb", "rst";
462be638075SJerome Brunet			amlogic,fifo-depth = <256>;
463b3b81691SJerome Brunet			status = "disabled";
464b3b81691SJerome Brunet		};
465b3b81691SJerome Brunet
466b3b81691SJerome Brunet		frddr_d: audio-controller@880 {
467b3b81691SJerome Brunet			 compatible = "amlogic,sm1-frddr",
468b3b81691SJerome Brunet				      "amlogic,axg-frddr";
469b3b81691SJerome Brunet			reg = <0x0 0x880 0x0 0x2c>;
470b3b81691SJerome Brunet			#sound-dai-cells = <0>;
471b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_D";
472b3b81691SJerome Brunet			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
473b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_D>;
474b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_D>,
475b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_D>;
476b3b81691SJerome Brunet			reset-names = "arb", "rst";
477be638075SJerome Brunet			amlogic,fifo-depth = <256>;
478b3b81691SJerome Brunet			status = "disabled";
479b3b81691SJerome Brunet		};
480b3b81691SJerome Brunet	};
481b3b81691SJerome Brunet
482b3b81691SJerome Brunet	pdm: audio-controller@61000 {
483b3b81691SJerome Brunet		compatible = "amlogic,sm1-pdm",
484b3b81691SJerome Brunet			     "amlogic,axg-pdm";
485b3b81691SJerome Brunet		reg = <0x0 0x61000 0x0 0x34>;
486b3b81691SJerome Brunet		#sound-dai-cells = <0>;
487b3b81691SJerome Brunet		sound-name-prefix = "PDM";
488b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_PDM>,
489b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
490b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
491b3b81691SJerome Brunet		clock-names = "pclk", "dclk", "sysclk";
492ae5eed59SJerome Brunet		resets = <&clkc_audio AUD_RESET_PDM>;
493b3b81691SJerome Brunet		status = "disabled";
494b3b81691SJerome Brunet	};
495b3b81691SJerome Brunet};
496b3b81691SJerome Brunet
497e9a12e14SNeil Armstrong&cecb_AO {
498e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-ao-cec";
499e9a12e14SNeil Armstrong};
500e9a12e14SNeil Armstrong
501e9a12e14SNeil Armstrong&clk_msr {
502e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-clk-measure";
503e9a12e14SNeil Armstrong};
504e9a12e14SNeil Armstrong
505f4f1c8d9SNeil Armstrong
5063d9e7648SNeil Armstrong&clkc {
5073d9e7648SNeil Armstrong	compatible = "amlogic,sm1-clkc";
5083d9e7648SNeil Armstrong};
5093d9e7648SNeil Armstrong
510c30dd927SNeil Armstrong&cpu_thermal {
511c30dd927SNeil Armstrong	cooling-maps {
512c30dd927SNeil Armstrong		map0 {
513c30dd927SNeil Armstrong			trip = <&cpu_passive>;
514c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
515c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
516c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
517c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
518c30dd927SNeil Armstrong		};
519c30dd927SNeil Armstrong
520c30dd927SNeil Armstrong		map1 {
521c30dd927SNeil Armstrong			trip = <&cpu_hot>;
522c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
523c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
524c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
525c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
526c30dd927SNeil Armstrong		};
527c30dd927SNeil Armstrong	};
528c30dd927SNeil Armstrong};
529c30dd927SNeil Armstrong
530f4f1c8d9SNeil Armstrong&ethmac {
531f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_ETH_ID>;
532f4f1c8d9SNeil Armstrong};
533f4f1c8d9SNeil Armstrong
534e6b6d9d3SJerome Brunet&gpio_intc {
535e6b6d9d3SJerome Brunet	compatible = "amlogic,meson-sm1-gpio-intc",
536e6b6d9d3SJerome Brunet		     "amlogic,meson-gpio-intc";
537e6b6d9d3SJerome Brunet};
538e6b6d9d3SJerome Brunet
5391f8607d5SNeil Armstrong&pcie {
5401f8607d5SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
5411f8607d5SNeil Armstrong};
5421f8607d5SNeil Armstrong
543f4f1c8d9SNeil Armstrong&pwrc {
544f4f1c8d9SNeil Armstrong	compatible = "amlogic,meson-sm1-pwrc";
545e9a12e14SNeil Armstrong};
546e9a12e14SNeil Armstrong
54715767cfdSNeil Armstrong&simplefb_cvbs {
54815767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
54915767cfdSNeil Armstrong};
55015767cfdSNeil Armstrong
55115767cfdSNeil Armstrong&simplefb_hdmi {
55215767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
55315767cfdSNeil Armstrong};
55415767cfdSNeil Armstrong
555302d95c6SNeil Armstrong&vdec {
556302d95c6SNeil Armstrong	compatible = "amlogic,sm1-vdec";
557302d95c6SNeil Armstrong};
558302d95c6SNeil Armstrong
559e9a12e14SNeil Armstrong&vpu {
560f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
561f4f1c8d9SNeil Armstrong};
562f4f1c8d9SNeil Armstrong
563f4f1c8d9SNeil Armstrong&usb {
564f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_USB_ID>;
565e9a12e14SNeil Armstrong};
566