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>;
59e9a12e14SNeil Armstrong		};
60e9a12e14SNeil Armstrong
61e9a12e14SNeil Armstrong		cpu1: cpu@1 {
62e9a12e14SNeil Armstrong			device_type = "cpu";
63e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
64e9a12e14SNeil Armstrong			reg = <0x0 0x1>;
65e9a12e14SNeil Armstrong			enable-method = "psci";
66e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
67e9a12e14SNeil Armstrong		};
68e9a12e14SNeil Armstrong
69e9a12e14SNeil Armstrong		cpu2: cpu@2 {
70e9a12e14SNeil Armstrong			device_type = "cpu";
71e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
72e9a12e14SNeil Armstrong			reg = <0x0 0x2>;
73e9a12e14SNeil Armstrong			enable-method = "psci";
74e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
75e9a12e14SNeil Armstrong		};
76e9a12e14SNeil Armstrong
77e9a12e14SNeil Armstrong		cpu3: cpu@3 {
78e9a12e14SNeil Armstrong			device_type = "cpu";
79e9a12e14SNeil Armstrong			compatible = "arm,cortex-a55";
80e9a12e14SNeil Armstrong			reg = <0x0 0x3>;
81e9a12e14SNeil Armstrong			enable-method = "psci";
82e9a12e14SNeil Armstrong			next-level-cache = <&l2>;
83e9a12e14SNeil Armstrong		};
84e9a12e14SNeil Armstrong
85e9a12e14SNeil Armstrong		l2: l2-cache0 {
86e9a12e14SNeil Armstrong			compatible = "cache";
87e9a12e14SNeil Armstrong		};
88e9a12e14SNeil Armstrong	};
893d9e7648SNeil Armstrong
903d9e7648SNeil Armstrong	cpu_opp_table: opp-table {
913d9e7648SNeil Armstrong		compatible = "operating-points-v2";
923d9e7648SNeil Armstrong		opp-shared;
933d9e7648SNeil Armstrong
943d9e7648SNeil Armstrong		opp-100000000 {
953d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <100000000>;
963d9e7648SNeil Armstrong			opp-microvolt = <730000>;
973d9e7648SNeil Armstrong		};
983d9e7648SNeil Armstrong
993d9e7648SNeil Armstrong		opp-250000000 {
1003d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <250000000>;
1013d9e7648SNeil Armstrong			opp-microvolt = <730000>;
1023d9e7648SNeil Armstrong		};
1033d9e7648SNeil Armstrong
1043d9e7648SNeil Armstrong		opp-500000000 {
1053d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <500000000>;
1063d9e7648SNeil Armstrong			opp-microvolt = <730000>;
1073d9e7648SNeil Armstrong		};
1083d9e7648SNeil Armstrong
1093d9e7648SNeil Armstrong		opp-667000000 {
1103d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <666666666>;
1113d9e7648SNeil Armstrong			opp-microvolt = <750000>;
1123d9e7648SNeil Armstrong		};
1133d9e7648SNeil Armstrong
1143d9e7648SNeil Armstrong		opp-1000000000 {
1153d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1000000000>;
1163d9e7648SNeil Armstrong			opp-microvolt = <770000>;
1173d9e7648SNeil Armstrong		};
1183d9e7648SNeil Armstrong
1193d9e7648SNeil Armstrong		opp-1200000000 {
1203d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1200000000>;
1213d9e7648SNeil Armstrong			opp-microvolt = <780000>;
1223d9e7648SNeil Armstrong		};
1233d9e7648SNeil Armstrong
1243d9e7648SNeil Armstrong		opp-1404000000 {
1253d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1404000000>;
1263d9e7648SNeil Armstrong			opp-microvolt = <790000>;
1273d9e7648SNeil Armstrong		};
1283d9e7648SNeil Armstrong
1293d9e7648SNeil Armstrong		opp-1512000000 {
1303d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1500000000>;
1313d9e7648SNeil Armstrong			opp-microvolt = <800000>;
1323d9e7648SNeil Armstrong		};
1333d9e7648SNeil Armstrong
1343d9e7648SNeil Armstrong		opp-1608000000 {
1353d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1608000000>;
1363d9e7648SNeil Armstrong			opp-microvolt = <810000>;
1373d9e7648SNeil Armstrong		};
1383d9e7648SNeil Armstrong
1393d9e7648SNeil Armstrong		opp-1704000000 {
1403d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1704000000>;
1413d9e7648SNeil Armstrong			opp-microvolt = <850000>;
1423d9e7648SNeil Armstrong		};
1433d9e7648SNeil Armstrong
1443d9e7648SNeil Armstrong		opp-1800000000 {
1453d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1800000000>;
1463d9e7648SNeil Armstrong			opp-microvolt = <900000>;
1473d9e7648SNeil Armstrong		};
1483d9e7648SNeil Armstrong
1493d9e7648SNeil Armstrong		opp-1908000000 {
1503d9e7648SNeil Armstrong			opp-hz = /bits/ 64 <1908000000>;
1513d9e7648SNeil Armstrong			opp-microvolt = <950000>;
1523d9e7648SNeil Armstrong		};
1533d9e7648SNeil Armstrong	};
154e9a12e14SNeil Armstrong};
155e9a12e14SNeil Armstrong
156b3b81691SJerome Brunet&apb {
157b3b81691SJerome Brunet	audio: bus@60000 {
158b3b81691SJerome Brunet		compatible = "simple-bus";
159b3b81691SJerome Brunet		reg = <0x0 0x60000 0x0 0x1000>;
160b3b81691SJerome Brunet		#address-cells = <2>;
161b3b81691SJerome Brunet		#size-cells = <2>;
162b3b81691SJerome Brunet		ranges = <0x0 0x0 0x0 0x60000 0x0 0x1000>;
163b3b81691SJerome Brunet
164b3b81691SJerome Brunet		clkc_audio: clock-controller@0 {
165b3b81691SJerome Brunet			status = "disabled";
166b3b81691SJerome Brunet			compatible = "amlogic,sm1-audio-clkc";
167b3b81691SJerome Brunet			reg = <0x0 0x0 0x0 0xb4>;
168b3b81691SJerome Brunet			#clock-cells = <1>;
169b3b81691SJerome Brunet			#reset-cells = <1>;
170b3b81691SJerome Brunet
171b3b81691SJerome Brunet			clocks = <&clkc CLKID_AUDIO>,
172b3b81691SJerome Brunet				 <&clkc CLKID_MPLL0>,
173b3b81691SJerome Brunet				 <&clkc CLKID_MPLL1>,
174b3b81691SJerome Brunet				 <&clkc CLKID_MPLL2>,
175b3b81691SJerome Brunet				 <&clkc CLKID_MPLL3>,
176b3b81691SJerome Brunet				 <&clkc CLKID_HIFI_PLL>,
177b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV3>,
178b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV4>,
179b3b81691SJerome Brunet				 <&clkc CLKID_FCLK_DIV5>;
180b3b81691SJerome Brunet			clock-names = "pclk",
181b3b81691SJerome Brunet				      "mst_in0",
182b3b81691SJerome Brunet				      "mst_in1",
183b3b81691SJerome Brunet				      "mst_in2",
184b3b81691SJerome Brunet				      "mst_in3",
185b3b81691SJerome Brunet				      "mst_in4",
186b3b81691SJerome Brunet				      "mst_in5",
187b3b81691SJerome Brunet				      "mst_in6",
188b3b81691SJerome Brunet				      "mst_in7";
189b3b81691SJerome Brunet
190b3b81691SJerome Brunet			resets = <&reset RESET_AUDIO>;
191b3b81691SJerome Brunet		};
192b3b81691SJerome Brunet
193b3b81691SJerome Brunet		toddr_a: audio-controller@100 {
194b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
195b3b81691SJerome Brunet				     "amlogic,axg-toddr";
196b3b81691SJerome Brunet			reg = <0x0 0x100 0x0 0x2c>;
197b3b81691SJerome Brunet			#sound-dai-cells = <0>;
198b3b81691SJerome Brunet			sound-name-prefix = "TODDR_A";
199b3b81691SJerome Brunet			interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
200b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
201b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_A>,
202b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_A>;
203b3b81691SJerome Brunet			reset-names = "arb", "rst";
204be638075SJerome Brunet			amlogic,fifo-depth = <8192>;
205b3b81691SJerome Brunet			status = "disabled";
206b3b81691SJerome Brunet		};
207b3b81691SJerome Brunet
208b3b81691SJerome Brunet		toddr_b: audio-controller@140 {
209b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
210b3b81691SJerome Brunet				     "amlogic,axg-toddr";
211b3b81691SJerome Brunet			reg = <0x0 0x140 0x0 0x2c>;
212b3b81691SJerome Brunet			#sound-dai-cells = <0>;
213b3b81691SJerome Brunet			sound-name-prefix = "TODDR_B";
214b3b81691SJerome Brunet			interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
215b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
216b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_B>,
217b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_B>;
218b3b81691SJerome Brunet			reset-names = "arb", "rst";
219be638075SJerome Brunet			amlogic,fifo-depth = <256>;
220b3b81691SJerome Brunet			status = "disabled";
221b3b81691SJerome Brunet		};
222b3b81691SJerome Brunet
223b3b81691SJerome Brunet		toddr_c: audio-controller@180 {
224b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
225b3b81691SJerome Brunet				     "amlogic,axg-toddr";
226b3b81691SJerome Brunet			reg = <0x0 0x180 0x0 0x2c>;
227b3b81691SJerome Brunet			#sound-dai-cells = <0>;
228b3b81691SJerome Brunet			sound-name-prefix = "TODDR_C";
229b3b81691SJerome Brunet			interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
230b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
231b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_C>,
232b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_C>;
233b3b81691SJerome Brunet			reset-names = "arb", "rst";
234be638075SJerome Brunet			amlogic,fifo-depth = <256>;
235b3b81691SJerome Brunet			status = "disabled";
236b3b81691SJerome Brunet		};
237b3b81691SJerome Brunet
238b3b81691SJerome Brunet		frddr_a: audio-controller@1c0 {
239b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
240b3b81691SJerome Brunet				     "amlogic,axg-frddr";
241b3b81691SJerome Brunet			reg = <0x0 0x1c0 0x0 0x2c>;
242b3b81691SJerome Brunet			#sound-dai-cells = <0>;
243b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_A";
244b3b81691SJerome Brunet			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
245b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
246b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_A>,
247b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_A>;
248b3b81691SJerome Brunet			reset-names = "arb", "rst";
249be638075SJerome Brunet			amlogic,fifo-depth = <512>;
250b3b81691SJerome Brunet			status = "disabled";
251b3b81691SJerome Brunet		};
252b3b81691SJerome Brunet
253b3b81691SJerome Brunet		frddr_b: audio-controller@200 {
254b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
255b3b81691SJerome Brunet				     "amlogic,axg-frddr";
256b3b81691SJerome Brunet			reg = <0x0 0x200 0x0 0x2c>;
257b3b81691SJerome Brunet			#sound-dai-cells = <0>;
258b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_B";
259b3b81691SJerome Brunet			interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
260b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
261b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_B>,
262b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_B>;
263b3b81691SJerome Brunet			reset-names = "arb", "rst";
264be638075SJerome Brunet			amlogic,fifo-depth = <256>;
265b3b81691SJerome Brunet			status = "disabled";
266b3b81691SJerome Brunet		};
267b3b81691SJerome Brunet
268b3b81691SJerome Brunet		frddr_c: audio-controller@240 {
269b3b81691SJerome Brunet			compatible = "amlogic,sm1-frddr",
270b3b81691SJerome Brunet				     "amlogic,axg-frddr";
271b3b81691SJerome Brunet			reg = <0x0 0x240 0x0 0x2c>;
272b3b81691SJerome Brunet			#sound-dai-cells = <0>;
273b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_C";
274b3b81691SJerome Brunet			interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
275b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
276b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_C>,
277b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_C>;
278b3b81691SJerome Brunet			reset-names = "arb", "rst";
279be638075SJerome Brunet			amlogic,fifo-depth = <256>;
280b3b81691SJerome Brunet			status = "disabled";
281b3b81691SJerome Brunet		};
282b3b81691SJerome Brunet
283b3b81691SJerome Brunet		arb: reset-controller@280 {
284b3b81691SJerome Brunet			status = "disabled";
285b3b81691SJerome Brunet			compatible = "amlogic,meson-sm1-audio-arb";
286b3b81691SJerome Brunet			reg = <0x0 0x280 0x0 0x4>;
287b3b81691SJerome Brunet			#reset-cells = <1>;
288b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
289b3b81691SJerome Brunet		};
290b3b81691SJerome Brunet
291b3b81691SJerome Brunet		tdmin_a: audio-controller@300 {
292b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
293b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
294b3b81691SJerome Brunet			reg = <0x0 0x300 0x0 0x40>;
295b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_A";
296b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_A>;
297b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
298b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
299b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
300b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
301b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
302b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
303b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
304b3b81691SJerome Brunet			status = "disabled";
305b3b81691SJerome Brunet		};
306b3b81691SJerome Brunet
307b3b81691SJerome Brunet		tdmin_b: audio-controller@340 {
308b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
309b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
310b3b81691SJerome Brunet			reg = <0x0 0x340 0x0 0x40>;
311b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_B";
312b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_B>;
313b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
314b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
315b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
316b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
317b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
318b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
319b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
320b3b81691SJerome Brunet			status = "disabled";
321b3b81691SJerome Brunet		};
322b3b81691SJerome Brunet
323b3b81691SJerome Brunet		tdmin_c: audio-controller@380 {
324b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
325b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
326b3b81691SJerome Brunet			reg = <0x0 0x380 0x0 0x40>;
327b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_C";
328b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_C>;
329b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
330b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
331b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
332b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
333b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
334b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
335b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
336b3b81691SJerome Brunet			status = "disabled";
337b3b81691SJerome Brunet		};
338b3b81691SJerome Brunet
339b3b81691SJerome Brunet		tdmin_lb: audio-controller@3c0 {
340b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmin",
341b3b81691SJerome Brunet				     "amlogic,axg-tdmin";
342b3b81691SJerome Brunet			reg = <0x0 0x3c0 0x0 0x40>;
343b3b81691SJerome Brunet			sound-name-prefix = "TDMIN_LB";
344b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
345b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
346b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
347b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
348b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
349b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
350b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
351b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
352b3b81691SJerome Brunet			status = "disabled";
353b3b81691SJerome Brunet		};
354b3b81691SJerome Brunet
355b3b81691SJerome Brunet		tdmout_a: audio-controller@500 {
356b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
357b3b81691SJerome Brunet			reg = <0x0 0x500 0x0 0x40>;
358b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_A";
359b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
360b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
361b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
362b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
363b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
364b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
365b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
366b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
367b3b81691SJerome Brunet			status = "disabled";
368b3b81691SJerome Brunet		};
369b3b81691SJerome Brunet
370b3b81691SJerome Brunet		tdmout_b: audio-controller@540 {
371b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
372b3b81691SJerome Brunet			reg = <0x0 0x540 0x0 0x40>;
373b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_B";
374b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
375b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
376b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
377b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
378b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
379b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
380b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
381b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
382b3b81691SJerome Brunet			status = "disabled";
383b3b81691SJerome Brunet		};
384b3b81691SJerome Brunet
385b3b81691SJerome Brunet		tdmout_c: audio-controller@580 {
386b3b81691SJerome Brunet			compatible = "amlogic,sm1-tdmout";
387b3b81691SJerome Brunet			reg = <0x0 0x580 0x0 0x40>;
388b3b81691SJerome Brunet			sound-name-prefix = "TDMOUT_C";
389b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
390b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
391b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
392b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
393b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
394b3b81691SJerome Brunet				 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
395b3b81691SJerome Brunet			clock-names = "pclk", "sclk", "sclk_sel",
396b3b81691SJerome Brunet				      "lrclk", "lrclk_sel";
397b3b81691SJerome Brunet			status = "disabled";
398b3b81691SJerome Brunet		};
399b3b81691SJerome Brunet
400b3b81691SJerome Brunet		tohdmitx: audio-controller@744 {
401b3b81691SJerome Brunet			compatible = "amlogic,sm1-tohdmitx",
402b3b81691SJerome Brunet				     "amlogic,g12a-tohdmitx";
403b3b81691SJerome Brunet			reg = <0x0 0x744 0x0 0x4>;
404b3b81691SJerome Brunet			#sound-dai-cells = <1>;
405b3b81691SJerome Brunet			sound-name-prefix = "TOHDMITX";
406b3b81691SJerome Brunet			resets = <&clkc_audio AUD_RESET_TOHDMITX>;
407b3b81691SJerome Brunet			status = "disabled";
408b3b81691SJerome Brunet		};
409b3b81691SJerome Brunet
410b3b81691SJerome Brunet		toddr_d: audio-controller@840 {
411b3b81691SJerome Brunet			compatible = "amlogic,sm1-toddr",
412b3b81691SJerome Brunet				     "amlogic,axg-toddr";
413b3b81691SJerome Brunet			reg = <0x0 0x840 0x0 0x2c>;
414b3b81691SJerome Brunet			#sound-dai-cells = <0>;
415b3b81691SJerome Brunet			sound-name-prefix = "TODDR_D";
416b3b81691SJerome Brunet			interrupts = <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
417b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_TODDR_D>;
418b3b81691SJerome Brunet			resets = <&arb AXG_ARB_TODDR_D>,
419b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_TODDR_D>;
420b3b81691SJerome Brunet			reset-names = "arb", "rst";
421be638075SJerome Brunet			amlogic,fifo-depth = <256>;
422b3b81691SJerome Brunet			status = "disabled";
423b3b81691SJerome Brunet		};
424b3b81691SJerome Brunet
425b3b81691SJerome Brunet		frddr_d: audio-controller@880 {
426b3b81691SJerome Brunet			 compatible = "amlogic,sm1-frddr",
427b3b81691SJerome Brunet				      "amlogic,axg-frddr";
428b3b81691SJerome Brunet			reg = <0x0 0x880 0x0 0x2c>;
429b3b81691SJerome Brunet			#sound-dai-cells = <0>;
430b3b81691SJerome Brunet			sound-name-prefix = "FRDDR_D";
431b3b81691SJerome Brunet			interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
432b3b81691SJerome Brunet			clocks = <&clkc_audio AUD_CLKID_FRDDR_D>;
433b3b81691SJerome Brunet			resets = <&arb AXG_ARB_FRDDR_D>,
434b3b81691SJerome Brunet				 <&clkc_audio AUD_RESET_FRDDR_D>;
435b3b81691SJerome Brunet			reset-names = "arb", "rst";
436be638075SJerome Brunet			amlogic,fifo-depth = <256>;
437b3b81691SJerome Brunet			status = "disabled";
438b3b81691SJerome Brunet		};
439b3b81691SJerome Brunet	};
440b3b81691SJerome Brunet
441b3b81691SJerome Brunet	pdm: audio-controller@61000 {
442b3b81691SJerome Brunet		compatible = "amlogic,sm1-pdm",
443b3b81691SJerome Brunet			     "amlogic,axg-pdm";
444b3b81691SJerome Brunet		reg = <0x0 0x61000 0x0 0x34>;
445b3b81691SJerome Brunet		#sound-dai-cells = <0>;
446b3b81691SJerome Brunet		sound-name-prefix = "PDM";
447b3b81691SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_PDM>,
448b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_DCLK>,
449b3b81691SJerome Brunet			 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
450b3b81691SJerome Brunet		clock-names = "pclk", "dclk", "sysclk";
451ae5eed59SJerome Brunet		resets = <&clkc_audio AUD_RESET_PDM>;
452b3b81691SJerome Brunet		status = "disabled";
453b3b81691SJerome Brunet	};
454b3b81691SJerome Brunet};
455b3b81691SJerome Brunet
456e9a12e14SNeil Armstrong&cecb_AO {
457e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-ao-cec";
458e9a12e14SNeil Armstrong};
459e9a12e14SNeil Armstrong
460e9a12e14SNeil Armstrong&clk_msr {
461e9a12e14SNeil Armstrong	compatible = "amlogic,meson-sm1-clk-measure";
462e9a12e14SNeil Armstrong};
463e9a12e14SNeil Armstrong
464f4f1c8d9SNeil Armstrong
4653d9e7648SNeil Armstrong&clkc {
4663d9e7648SNeil Armstrong	compatible = "amlogic,sm1-clkc";
4673d9e7648SNeil Armstrong};
4683d9e7648SNeil Armstrong
469f4f1c8d9SNeil Armstrong&ethmac {
470f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_ETH_ID>;
471f4f1c8d9SNeil Armstrong};
472f4f1c8d9SNeil Armstrong
473e6b6d9d3SJerome Brunet&gpio_intc {
474e6b6d9d3SJerome Brunet	compatible = "amlogic,meson-sm1-gpio-intc",
475e6b6d9d3SJerome Brunet		     "amlogic,meson-gpio-intc";
476e6b6d9d3SJerome Brunet};
477e6b6d9d3SJerome Brunet
4781f8607d5SNeil Armstrong&pcie {
4791f8607d5SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_PCIE_ID>;
4801f8607d5SNeil Armstrong};
4811f8607d5SNeil Armstrong
482f4f1c8d9SNeil Armstrong&pwrc {
483f4f1c8d9SNeil Armstrong	compatible = "amlogic,meson-sm1-pwrc";
484e9a12e14SNeil Armstrong};
485e9a12e14SNeil Armstrong
48615767cfdSNeil Armstrong&simplefb_cvbs {
48715767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
48815767cfdSNeil Armstrong};
48915767cfdSNeil Armstrong
49015767cfdSNeil Armstrong&simplefb_hdmi {
49115767cfdSNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
49215767cfdSNeil Armstrong};
49315767cfdSNeil Armstrong
494302d95c6SNeil Armstrong&vdec {
495302d95c6SNeil Armstrong	compatible = "amlogic,sm1-vdec";
496302d95c6SNeil Armstrong};
497302d95c6SNeil Armstrong
498e9a12e14SNeil Armstrong&vpu {
499f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_VPU_ID>;
500f4f1c8d9SNeil Armstrong};
501f4f1c8d9SNeil Armstrong
502f4f1c8d9SNeil Armstrong&usb {
503f4f1c8d9SNeil Armstrong	power-domains = <&pwrc PWRC_SM1_USB_ID>;
504e9a12e14SNeil Armstrong};
505