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>;
92*c2258a94SKrzysztof Kozlowski			cache-unified;
93e9a12e14SNeil Armstrong		};
94e9a12e14SNeil Armstrong	};
953d9e7648SNeil Armstrong
963d9e7648SNeil Armstrong	cpu_opp_table: opp-table {
973d9e7648SNeil Armstrong		compatible = "operating-points-v2";
983d9e7648SNeil Armstrong		opp-shared;
993d9e7648SNeil Armstrong
1003d9e7648SNeil Armstrong		opp-1000000000 {
1013d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1000000000>;
1023d9e7648SNeil Armstrong			opp-microvolt = <770000>;
1033d9e7648SNeil Armstrong		};
1043d9e7648SNeil Armstrong
1053d9e7648SNeil Armstrong		opp-1200000000 {
1063d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1200000000>;
1073d9e7648SNeil Armstrong			opp-microvolt = <780000>;
1083d9e7648SNeil Armstrong		};
1093d9e7648SNeil Armstrong
1103d9e7648SNeil Armstrong		opp-1404000000 {
1113d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1404000000>;
1123d9e7648SNeil Armstrong			opp-microvolt = <790000>;
1133d9e7648SNeil Armstrong		};
1143d9e7648SNeil Armstrong
115b6a1c8a1SDongjin Kim		opp-1500000000 {
1163d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1500000000>;
1173d9e7648SNeil Armstrong			opp-microvolt = <800000>;
1183d9e7648SNeil Armstrong		};
1193d9e7648SNeil Armstrong
1203d9e7648SNeil Armstrong		opp-1608000000 {
1213d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1608000000>;
1223d9e7648SNeil Armstrong			opp-microvolt = <810000>;
1233d9e7648SNeil Armstrong		};
1243d9e7648SNeil Armstrong
1253d9e7648SNeil Armstrong		opp-1704000000 {
1263d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1704000000>;
1273d9e7648SNeil Armstrong			opp-microvolt = <850000>;
1283d9e7648SNeil Armstrong		};
1293d9e7648SNeil Armstrong
1303d9e7648SNeil Armstrong		opp-1800000000 {
1313d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1800000000>;
1323d9e7648SNeil Armstrong			opp-microvolt = <900000>;
1333d9e7648SNeil Armstrong		};
1343d9e7648SNeil Armstrong
1353d9e7648SNeil Armstrong		opp-1908000000 {
1363d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1908000000>;
1373d9e7648SNeil Armstrong			opp-microvolt = <950000>;
1383d9e7648SNeil Armstrong		};
1393d9e7648SNeil Armstrong	};
140e9a12e14SNeil Armstrong};
141e9a12e14SNeil Armstrong
142b3b81691SJerome Brunet&apb {
143b3b81691SJerome Brunet	audio: bus@60000 {
144b3b81691SJerome Brunet		compatible = "simple-bus";
145b3b81691SJerome Brunet		reg = <0x0 0x60000 0x0 0x1000>;
146b3b81691SJerome Brunet		#address-cells = <2>;
147b3b81691SJerome Brunet		#size-cells = <2>;
148b3b81691SJerome Brunet		ranges = <0x0 0x0 0x0 0x60000 0x0 0x1000>;
149b3b81691SJerome Brunet
150b3b81691SJerome Brunet		clkc_audio: clock-controller@0 {
151b3b81691SJerome Brunet			status = "disabled";
152b3b81691SJerome Brunet			compatible = "amlogic,sm1-audio-clkc";
153b3b81691SJerome Brunet			reg = <0x0 0x0 0x0 0xb4>;
154b3b81691SJerome Brunet			#clock-cells = <1>;
155b3b81691SJerome Brunet			#reset-cells = <1>;
156b3b81691SJerome Brunet
157b3b81691SJerome Brunet			clocks = <&clkc CLKID_AUDIO>,
158b3b81691SJerome Brunet				 <&clkc CLKID_MPLL0>,
159b3b81691SJerome Brunet				 <&clkc CLKID_MPLL1>,
160b3b81691SJerome Brunet				 <&clkc CLKID_MPLL2>,
161b3b81691SJerome Brunet				 <&clkc CLKID_MPLL3>,
162b3b81691SJerome Brunet				 <&clkc CLKID_HIFI_PLL>,
163b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV3>,
164b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV4>,
165b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV5>;
166b3b81691SJerome Brunet			clock-names = "pclk",
167b3b81691SJerome Brunet				      "mst_in0",
168b3b81691SJerome Brunet				      "mst_in1",
169b3b81691SJerome Brunet				      "mst_in2",
170b3b81691SJerome Brunet				      "mst_in3",
171b3b81691SJerome Brunet				      "mst_in4",
172b3b81691SJerome Brunet				      "mst_in5",
173b3b81691SJerome Brunet				      "mst_in6",
174b3b81691SJerome Brunet				      "mst_in7";
175b3b81691SJerome Brunet
176b3b81691SJerome Brunet			resets = <&reset RESET_AUDIO>;
177b3b81691SJerome Brunet		};
178b3b81691SJerome Brunet
179b3b81691SJerome Brunet		toddr_a: audio-controller@100 {
180b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
181b3b81691SJerome Brunet				     "amlogic,axg-toddr";
182b3b81691SJerome Brunet			reg = <0x0 0x100 0x0 0x2c>;
183b3b81691SJerome Brunet			#sound-dai-cells = <0>;
184b3b81691SJerome Brunet			sound-name-prefix = "TODDR_A";
185b3b81691SJerome Brunet			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
186b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
187b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_A>,
188b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_A>;
189b3b81691SJerome Brunet			reset-names = "arb", "rst";
190be638075SJerome Brunet			amlogic,fifo-depth = <8192>;
191b3b81691SJerome Brunet			status = "disabled";
192b3b81691SJerome Brunet		};
193b3b81691SJerome Brunet
194b3b81691SJerome Brunet		toddr_b: audio-controller@140 {
195b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
196b3b81691SJerome Brunet				     "amlogic,axg-toddr";
197b3b81691SJerome Brunet			reg = <0x0 0x140 0x0 0x2c>;
198b3b81691SJerome Brunet			#sound-dai-cells = <0>;
199b3b81691SJerome Brunet			sound-name-prefix = "TODDR_B";
200b3b81691SJerome Brunet			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
201b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
202b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_B>,
203b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_B>;
204b3b81691SJerome Brunet			reset-names = "arb", "rst";
205be638075SJerome Brunet			amlogic,fifo-depth = <256>;
206b3b81691SJerome Brunet			status = "disabled";
207b3b81691SJerome Brunet		};
208b3b81691SJerome Brunet
209b3b81691SJerome Brunet		toddr_c: audio-controller@180 {
210b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
211b3b81691SJerome Brunet				     "amlogic,axg-toddr";
212b3b81691SJerome Brunet			reg = <0x0 0x180 0x0 0x2c>;
213b3b81691SJerome Brunet			#sound-dai-cells = <0>;
214b3b81691SJerome Brunet			sound-name-prefix = "TODDR_C";
215b3b81691SJerome Brunet			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
216b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
217b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_C>,
218b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_C>;
219b3b81691SJerome Brunet			reset-names = "arb", "rst";
220be638075SJerome Brunet			amlogic,fifo-depth = <256>;
221b3b81691SJerome Brunet			status = "disabled";
222b3b81691SJerome Brunet		};
223b3b81691SJerome Brunet
224b3b81691SJerome Brunet		frddr_a: audio-controller@1c0 {
225b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
226b3b81691SJerome Brunet				     "amlogic,axg-frddr";
227b3b81691SJerome Brunet			reg = <0x0 0x1c0 0x0 0x2c>;
228b3b81691SJerome Brunet			#sound-dai-cells = <0>;
229b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_A";
230b3b81691SJerome Brunet			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
231b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
232b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_A>,
233b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_A>;
234b3b81691SJerome Brunet			reset-names = "arb", "rst";
235be638075SJerome Brunet			amlogic,fifo-depth = <512>;
236b3b81691SJerome Brunet			status = "disabled";
237b3b81691SJerome Brunet		};
238b3b81691SJerome Brunet
239b3b81691SJerome Brunet		frddr_b: audio-controller@200 {
240b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
241b3b81691SJerome Brunet				     "amlogic,axg-frddr";
242b3b81691SJerome Brunet			reg = <0x0 0x200 0x0 0x2c>;
243b3b81691SJerome Brunet			#sound-dai-cells = <0>;
244b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_B";
245b3b81691SJerome Brunet			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
246b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
247b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_B>,
248b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_B>;
249b3b81691SJerome Brunet			reset-names = "arb", "rst";
250be638075SJerome Brunet			amlogic,fifo-depth = <256>;
251b3b81691SJerome Brunet			status = "disabled";
252b3b81691SJerome Brunet		};
253b3b81691SJerome Brunet
254b3b81691SJerome Brunet		frddr_c: audio-controller@240 {
255b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
256b3b81691SJerome Brunet				     "amlogic,axg-frddr";
257b3b81691SJerome Brunet			reg = <0x0 0x240 0x0 0x2c>;
258b3b81691SJerome Brunet			#sound-dai-cells = <0>;
259b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_C";
260b3b81691SJerome Brunet			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
261b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
262b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_C>,
263b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_C>;
264b3b81691SJerome Brunet			reset-names = "arb", "rst";
265be638075SJerome Brunet			amlogic,fifo-depth = <256>;
266b3b81691SJerome Brunet			status = "disabled";
267b3b81691SJerome Brunet		};
268b3b81691SJerome Brunet
269b3b81691SJerome Brunet		arb: reset-controller@280 {
270b3b81691SJerome Brunet			status = "disabled";
271b3b81691SJerome Brunet			compatible = "amlogic,meson-sm1-audio-arb";
272b3b81691SJerome Brunet			reg = <0x0 0x280 0x0 0x4>;
273b3b81691SJerome Brunet			#reset-cells = <1>;
274b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
275b3b81691SJerome Brunet		};
276b3b81691SJerome Brunet
277b3b81691SJerome Brunet		tdmin_a: audio-controller@300 {
278b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
279b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
280b3b81691SJerome Brunet			reg = <0x0 0x300 0x0 0x40>;
281b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_A";
282b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
283b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
284b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
285b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
286b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
287b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
288b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
289b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
290b3b81691SJerome Brunet			status = "disabled";
291b3b81691SJerome Brunet		};
292b3b81691SJerome Brunet
293b3b81691SJerome Brunet		tdmin_b: audio-controller@340 {
294b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
295b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
296b3b81691SJerome Brunet			reg = <0x0 0x340 0x0 0x40>;
297b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_B";
298b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
299b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
300b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
301b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
302b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
303b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
304b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
305b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
306b3b81691SJerome Brunet			status = "disabled";
307b3b81691SJerome Brunet		};
308b3b81691SJerome Brunet
309b3b81691SJerome Brunet		tdmin_c: audio-controller@380 {
310b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
311b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
312b3b81691SJerome Brunet			reg = <0x0 0x380 0x0 0x40>;
313b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_C";
314b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
315b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
316b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
317b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
318b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
319b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
320b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
321b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
322b3b81691SJerome Brunet			status = "disabled";
323b3b81691SJerome Brunet		};
324b3b81691SJerome Brunet
325b3b81691SJerome Brunet		tdmin_lb: audio-controller@3c0 {
326b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
327b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
328b3b81691SJerome Brunet			reg = <0x0 0x3c0 0x0 0x40>;
329b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_LB";
330b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
331b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
332b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
333b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
334b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
335b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
336b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
337b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
338b3b81691SJerome Brunet			status = "disabled";
339b3b81691SJerome Brunet		};
340b3b81691SJerome Brunet
34186f21594SArtem Lapkin		spdifin: audio-controller@400 {
34286f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifin",
34386f21594SArtem Lapkin				     "amlogic,axg-spdifin";
34486f21594SArtem Lapkin			reg = <0x0 0x400 0x0 0x30>;
34586f21594SArtem Lapkin			#sound-dai-cells = <0>;
34686f21594SArtem Lapkin			sound-name-prefix = "SPDIFIN";
34786f21594SArtem Lapkin			interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
34886f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
34986f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
35086f21594SArtem Lapkin			clock-names = "pclk", "refclk";
35186f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFIN>;
35286f21594SArtem Lapkin			status = "disabled";
35386f21594SArtem Lapkin		};
35486f21594SArtem Lapkin
35586f21594SArtem Lapkin		spdifout_a: audio-controller@480 {
35686f21594SArtem Lapkin			compatible = "amlogic,g12a-spdifout",
35786f21594SArtem Lapkin				     "amlogic,axg-spdifout";
35886f21594SArtem Lapkin			reg = <0x0 0x480 0x0 0x50>;
35986f21594SArtem Lapkin			#sound-dai-cells = <0>;
36086f21594SArtem Lapkin			sound-name-prefix = "SPDIFOUT_A";
36186f21594SArtem Lapkin			clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
36286f21594SArtem Lapkin			<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
36386f21594SArtem Lapkin			clock-names = "pclk", "mclk";
36486f21594SArtem Lapkin			resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
36586f21594SArtem Lapkin			status = "disabled";
36686f21594SArtem Lapkin		};
36786f21594SArtem Lapkin
368b3b81691SJerome Brunet		tdmout_a: audio-controller@500 {
369b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
370b3b81691SJerome Brunet			reg = <0x0 0x500 0x0 0x40>;
371b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_A";
372b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
373b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
374b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
375b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
376b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
377b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
378b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
379b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
380b3b81691SJerome Brunet			status = "disabled";
381b3b81691SJerome Brunet		};
382b3b81691SJerome Brunet
383b3b81691SJerome Brunet		tdmout_b: audio-controller@540 {
384b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
385b3b81691SJerome Brunet			reg = <0x0 0x540 0x0 0x40>;
386b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_B";
387b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
388b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
389b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
390b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
391b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
392b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
393b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
394b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
395b3b81691SJerome Brunet			status = "disabled";
396b3b81691SJerome Brunet		};
397b3b81691SJerome Brunet
398b3b81691SJerome Brunet		tdmout_c: audio-controller@580 {
399b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
400b3b81691SJerome Brunet			reg = <0x0 0x580 0x0 0x40>;
401b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_C";
402b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
403b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
404b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
405b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
406b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
407b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
408b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
409b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
410b3b81691SJerome Brunet			status = "disabled";
411b3b81691SJerome Brunet		};
412b3b81691SJerome Brunet
413ddbdaa4dSNeil Armstrong		toacodec: audio-controller@740 {
414ddbdaa4dSNeil Armstrong			compatible = "amlogic,sm1-toacodec",
415ddbdaa4dSNeil Armstrong				     "amlogic,g12a-toacodec";
416ddbdaa4dSNeil Armstrong			reg = <0x0 0x740 0x0 0x4>;
417ddbdaa4dSNeil Armstrong			#sound-dai-cells = <1>;
418ddbdaa4dSNeil Armstrong			sound-name-prefix = "TOACODEC";
419ddbdaa4dSNeil Armstrong			resets = <&clkc_audio AUD_RESET_TOACODEC>;
420ddbdaa4dSNeil Armstrong			status = "disabled";
421ddbdaa4dSNeil Armstrong		};
422ddbdaa4dSNeil Armstrong
423b3b81691SJerome Brunet		tohdmitx: audio-controller@744 {
424b3b81691SJerome Brunet			compatible = "amlogic,sm1-tohdmitx",
425b3b81691SJerome Brunet				     "amlogic,g12a-tohdmitx";
426b3b81691SJerome Brunet			reg = <0x0 0x744 0x0 0x4>;
427b3b81691SJerome Brunet			#sound-dai-cells = <1>;
428b3b81691SJerome Brunet			sound-name-prefix = "TOHDMITX";
429b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
430b3b81691SJerome Brunet			status = "disabled";
431b3b81691SJerome Brunet		};
432b3b81691SJerome Brunet
433b3b81691SJerome Brunet		toddr_d: audio-controller@840 {
434b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
435b3b81691SJerome Brunet				     "amlogic,axg-toddr";
436b3b81691SJerome Brunet			reg = <0x0 0x840 0x0 0x2c>;
437b3b81691SJerome Brunet			#sound-dai-cells = <0>;
438b3b81691SJerome Brunet			sound-name-prefix = "TODDR_D";
439b3b81691SJerome Brunet			interrupts = <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
440b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_D>;
441b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_D>,
442b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_D>;
443b3b81691SJerome Brunet			reset-names = "arb", "rst";
444be638075SJerome Brunet			amlogic,fifo-depth = <256>;
445b3b81691SJerome Brunet			status = "disabled";
446b3b81691SJerome Brunet		};
447b3b81691SJerome Brunet
448b3b81691SJerome Brunet		frddr_d: audio-controller@880 {
449b3b81691SJerome Brunet			 compatible = "amlogic,sm1-frddr",
450b3b81691SJerome Brunet				      "amlogic,axg-frddr";
451b3b81691SJerome Brunet			reg = <0x0 0x880 0x0 0x2c>;
452b3b81691SJerome Brunet			#sound-dai-cells = <0>;
453b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_D";
454b3b81691SJerome Brunet			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
455b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_D>;
456b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_D>,
457b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_D>;
458b3b81691SJerome Brunet			reset-names = "arb", "rst";
459be638075SJerome Brunet			amlogic,fifo-depth = <256>;
460b3b81691SJerome Brunet			status = "disabled";
461b3b81691SJerome Brunet		};
462b3b81691SJerome Brunet	};
463b3b81691SJerome Brunet
464b3b81691SJerome Brunet	pdm: audio-controller@61000 {
465b3b81691SJerome Brunet		compatible = "amlogic,sm1-pdm",
466b3b81691SJerome Brunet			     "amlogic,axg-pdm";
467b3b81691SJerome Brunet		reg = <0x0 0x61000 0x0 0x34>;
468b3b81691SJerome Brunet		#sound-dai-cells = <0>;
469b3b81691SJerome Brunet		sound-name-prefix = "PDM";
470b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_PDM>,
471b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
472b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
473b3b81691SJerome Brunet		clock-names = "pclk", "dclk", "sysclk";
474ae5eed59SJerome Brunet		resets = <&clkc_audio AUD_RESET_PDM>;
475b3b81691SJerome Brunet		status = "disabled";
476b3b81691SJerome Brunet	};
477b3b81691SJerome Brunet};
478b3b81691SJerome Brunet
479e9a12e14SNeil Armstrong&cecb_AO {
480e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-ao-cec";
481e9a12e14SNeil Armstrong};
482e9a12e14SNeil Armstrong
483e9a12e14SNeil Armstrong&clk_msr {
484e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-clk-measure";
485e9a12e14SNeil Armstrong};
486e9a12e14SNeil Armstrong
487f4f1c8d9SNeil Armstrong
4883d9e7648SNeil Armstrong&clkc {
4893d9e7648SNeil Armstrong	compatible = "amlogic,sm1-clkc";
4903d9e7648SNeil Armstrong};
4913d9e7648SNeil Armstrong
492c30dd927SNeil Armstrong&cpu_thermal {
493c30dd927SNeil Armstrong	cooling-maps {
494c30dd927SNeil Armstrong		map0 {
495c30dd927SNeil Armstrong			trip = <&cpu_passive>;
496c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
497c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
498c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
499c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
500c30dd927SNeil Armstrong		};
501c30dd927SNeil Armstrong
502c30dd927SNeil Armstrong		map1 {
503c30dd927SNeil Armstrong			trip = <&cpu_hot>;
504c30dd927SNeil Armstrong			cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
505c30dd927SNeil Armstrong					<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
506c30dd927SNeil Armstrong					<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
507c30dd927SNeil Armstrong					<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
508c30dd927SNeil Armstrong		};
509c30dd927SNeil Armstrong	};
510c30dd927SNeil Armstrong};
511c30dd927SNeil Armstrong
512f4f1c8d9SNeil Armstrong&ethmac {
513f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_ETH_ID>;
514f4f1c8d9SNeil Armstrong};
515f4f1c8d9SNeil Armstrong
516e6b6d9d3SJerome Brunet&gpio_intc {
517e6b6d9d3SJerome Brunet	compatible = "amlogic,meson-sm1-gpio-intc",
518e6b6d9d3SJerome Brunet		     "amlogic,meson-gpio-intc";
519e6b6d9d3SJerome Brunet};
520e6b6d9d3SJerome Brunet
5211f8607d5SNeil Armstrong&pcie {
5221f8607d5SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
5231f8607d5SNeil Armstrong};
5241f8607d5SNeil Armstrong
52590cf8e21SJiucheng Xu&pmu {
52690cf8e21SJiucheng Xu	compatible = "amlogic,sm1-ddr-pmu";
52790cf8e21SJiucheng Xu};
52890cf8e21SJiucheng Xu
529f4f1c8d9SNeil Armstrong&pwrc {
530f4f1c8d9SNeil Armstrong	compatible = "amlogic,meson-sm1-pwrc";
531e9a12e14SNeil Armstrong};
532e9a12e14SNeil Armstrong
53315767cfdSNeil Armstrong&simplefb_cvbs {
53415767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
53515767cfdSNeil Armstrong};
53615767cfdSNeil Armstrong
53715767cfdSNeil Armstrong&simplefb_hdmi {
53815767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
53915767cfdSNeil Armstrong};
54015767cfdSNeil Armstrong
541302d95c6SNeil Armstrong&vdec {
542302d95c6SNeil Armstrong	compatible = "amlogic,sm1-vdec";
543302d95c6SNeil Armstrong};
544302d95c6SNeil Armstrong
545e9a12e14SNeil Armstrong&vpu {
546f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
547f4f1c8d9SNeil Armstrong};
548f4f1c8d9SNeil Armstrong
549f4f1c8d9SNeil Armstrong&usb {
550f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_USB_ID>;
551e9a12e14SNeil Armstrong};
55218b542e5STomeu Vizoso
55318b542e5STomeu Vizoso&npu {
55418b542e5STomeu Vizoso	power-domains = <&pwrc PWRC_SM1_NNA_ID>;
55518b542e5STomeu Vizoso};
556