1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright 2014 Carlo Caione <carlo@caione.org>
4*724ba675SRob Herring */
5*724ba675SRob Herring
6*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
7*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
8*724ba675SRob Herring#include <dt-bindings/sound/meson-aiu.h>
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	#address-cells = <1>;
12*724ba675SRob Herring	#size-cells = <1>;
13*724ba675SRob Herring	interrupt-parent = <&gic>;
14*724ba675SRob Herring
15*724ba675SRob Herring	iio-hwmon {
16*724ba675SRob Herring		compatible = "iio-hwmon";
17*724ba675SRob Herring		io-channels = <&saradc 8>;
18*724ba675SRob Herring	};
19*724ba675SRob Herring
20*724ba675SRob Herring	soc {
21*724ba675SRob Herring		compatible = "simple-bus";
22*724ba675SRob Herring		#address-cells = <1>;
23*724ba675SRob Herring		#size-cells = <1>;
24*724ba675SRob Herring		ranges;
25*724ba675SRob Herring
26*724ba675SRob Herring		cbus: cbus@c1100000 {
27*724ba675SRob Herring			compatible = "simple-bus";
28*724ba675SRob Herring			reg = <0xc1100000 0x200000>;
29*724ba675SRob Herring			#address-cells = <1>;
30*724ba675SRob Herring			#size-cells = <1>;
31*724ba675SRob Herring			ranges = <0x0 0xc1100000 0x200000>;
32*724ba675SRob Herring
33*724ba675SRob Herring			hhi: system-controller@4000 {
34*724ba675SRob Herring				compatible = "amlogic,meson-hhi-sysctrl",
35*724ba675SRob Herring					     "simple-mfd",
36*724ba675SRob Herring					     "syscon";
37*724ba675SRob Herring				reg = <0x4000 0x400>;
38*724ba675SRob Herring			};
39*724ba675SRob Herring
40*724ba675SRob Herring			aiu: audio-controller@5400 {
41*724ba675SRob Herring				compatible = "amlogic,aiu";
42*724ba675SRob Herring				#sound-dai-cells = <2>;
43*724ba675SRob Herring				sound-name-prefix = "AIU";
44*724ba675SRob Herring				reg = <0x5400 0x2ac>;
45*724ba675SRob Herring				interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
46*724ba675SRob Herring					     <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
47*724ba675SRob Herring				interrupt-names = "i2s", "spdif";
48*724ba675SRob Herring				status = "disabled";
49*724ba675SRob Herring			};
50*724ba675SRob Herring
51*724ba675SRob Herring			assist: assist@7c00 {
52*724ba675SRob Herring				compatible = "amlogic,meson-mx-assist", "syscon";
53*724ba675SRob Herring				reg = <0x7c00 0x200>;
54*724ba675SRob Herring			};
55*724ba675SRob Herring
56*724ba675SRob Herring			hwrng: rng@8100 {
57*724ba675SRob Herring				compatible = "amlogic,meson-rng";
58*724ba675SRob Herring				reg = <0x8100 0x8>;
59*724ba675SRob Herring			};
60*724ba675SRob Herring
61*724ba675SRob Herring			uart_A: serial@84c0 {
62*724ba675SRob Herring				compatible = "amlogic,meson6-uart";
63*724ba675SRob Herring				reg = <0x84c0 0x18>;
64*724ba675SRob Herring				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
65*724ba675SRob Herring				fifo-size = <128>;
66*724ba675SRob Herring				status = "disabled";
67*724ba675SRob Herring			};
68*724ba675SRob Herring
69*724ba675SRob Herring			uart_B: serial@84dc {
70*724ba675SRob Herring				compatible = "amlogic,meson6-uart";
71*724ba675SRob Herring				reg = <0x84dc 0x18>;
72*724ba675SRob Herring				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
73*724ba675SRob Herring				status = "disabled";
74*724ba675SRob Herring			};
75*724ba675SRob Herring
76*724ba675SRob Herring			i2c_A: i2c@8500 {
77*724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
78*724ba675SRob Herring				reg = <0x8500 0x20>;
79*724ba675SRob Herring				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
80*724ba675SRob Herring				#address-cells = <1>;
81*724ba675SRob Herring				#size-cells = <0>;
82*724ba675SRob Herring				status = "disabled";
83*724ba675SRob Herring			};
84*724ba675SRob Herring
85*724ba675SRob Herring			pwm_ab: pwm@8550 {
86*724ba675SRob Herring				compatible = "amlogic,meson-pwm";
87*724ba675SRob Herring				reg = <0x8550 0x10>;
88*724ba675SRob Herring				#pwm-cells = <3>;
89*724ba675SRob Herring				status = "disabled";
90*724ba675SRob Herring			};
91*724ba675SRob Herring
92*724ba675SRob Herring			pwm_cd: pwm@8650 {
93*724ba675SRob Herring				compatible = "amlogic,meson-pwm";
94*724ba675SRob Herring				reg = <0x8650 0x10>;
95*724ba675SRob Herring				#pwm-cells = <3>;
96*724ba675SRob Herring				status = "disabled";
97*724ba675SRob Herring			};
98*724ba675SRob Herring
99*724ba675SRob Herring			saradc: adc@8680 {
100*724ba675SRob Herring				compatible = "amlogic,meson-saradc";
101*724ba675SRob Herring				reg = <0x8680 0x34>;
102*724ba675SRob Herring				#io-channel-cells = <1>;
103*724ba675SRob Herring				interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
104*724ba675SRob Herring				status = "disabled";
105*724ba675SRob Herring			};
106*724ba675SRob Herring
107*724ba675SRob Herring			uart_C: serial@8700 {
108*724ba675SRob Herring				compatible = "amlogic,meson6-uart";
109*724ba675SRob Herring				reg = <0x8700 0x18>;
110*724ba675SRob Herring				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
111*724ba675SRob Herring				status = "disabled";
112*724ba675SRob Herring			};
113*724ba675SRob Herring
114*724ba675SRob Herring			i2c_B: i2c@87c0 {
115*724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
116*724ba675SRob Herring				reg = <0x87c0 0x20>;
117*724ba675SRob Herring				interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
118*724ba675SRob Herring				#address-cells = <1>;
119*724ba675SRob Herring				#size-cells = <0>;
120*724ba675SRob Herring				status = "disabled";
121*724ba675SRob Herring			};
122*724ba675SRob Herring
123*724ba675SRob Herring			usb0_phy: phy@8800 {
124*724ba675SRob Herring				compatible = "amlogic,meson-mx-usb2-phy";
125*724ba675SRob Herring				#phy-cells = <0>;
126*724ba675SRob Herring				reg = <0x8800 0x20>;
127*724ba675SRob Herring				status = "disabled";
128*724ba675SRob Herring			};
129*724ba675SRob Herring
130*724ba675SRob Herring			usb1_phy: phy@8820 {
131*724ba675SRob Herring				compatible = "amlogic,meson-mx-usb2-phy";
132*724ba675SRob Herring				#phy-cells = <0>;
133*724ba675SRob Herring				reg = <0x8820 0x20>;
134*724ba675SRob Herring				status = "disabled";
135*724ba675SRob Herring			};
136*724ba675SRob Herring
137*724ba675SRob Herring			sdio: mmc@8c20 {
138*724ba675SRob Herring				compatible = "amlogic,meson-mx-sdio";
139*724ba675SRob Herring				reg = <0x8c20 0x20>;
140*724ba675SRob Herring				interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
141*724ba675SRob Herring				#address-cells = <1>;
142*724ba675SRob Herring				#size-cells = <0>;
143*724ba675SRob Herring				status = "disabled";
144*724ba675SRob Herring			};
145*724ba675SRob Herring
146*724ba675SRob Herring			spifc: spi@8c80 {
147*724ba675SRob Herring				compatible = "amlogic,meson6-spifc";
148*724ba675SRob Herring				reg = <0x8c80 0x80>;
149*724ba675SRob Herring				#address-cells = <1>;
150*724ba675SRob Herring				#size-cells = <0>;
151*724ba675SRob Herring				status = "disabled";
152*724ba675SRob Herring			};
153*724ba675SRob Herring
154*724ba675SRob Herring			sdhc: mmc@8e00 {
155*724ba675SRob Herring				compatible = "amlogic,meson-mx-sdhc";
156*724ba675SRob Herring				reg = <0x8e00 0x42>;
157*724ba675SRob Herring				interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
158*724ba675SRob Herring				status = "disabled";
159*724ba675SRob Herring			};
160*724ba675SRob Herring
161*724ba675SRob Herring			gpio_intc: interrupt-controller@9880 {
162*724ba675SRob Herring				compatible = "amlogic,meson-gpio-intc";
163*724ba675SRob Herring				reg = <0x9880 0x10>;
164*724ba675SRob Herring				interrupt-controller;
165*724ba675SRob Herring				#interrupt-cells = <2>;
166*724ba675SRob Herring				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
167*724ba675SRob Herring				status = "disabled";
168*724ba675SRob Herring			};
169*724ba675SRob Herring
170*724ba675SRob Herring			wdt: watchdog@9900 {
171*724ba675SRob Herring				compatible = "amlogic,meson6-wdt";
172*724ba675SRob Herring				reg = <0x9900 0x8>;
173*724ba675SRob Herring				interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
174*724ba675SRob Herring			};
175*724ba675SRob Herring
176*724ba675SRob Herring			timer_abcde: timer@9940 {
177*724ba675SRob Herring				compatible = "amlogic,meson6-timer";
178*724ba675SRob Herring				reg = <0x9940 0x18>;
179*724ba675SRob Herring				interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
180*724ba675SRob Herring					     <GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
181*724ba675SRob Herring					     <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
182*724ba675SRob Herring					     <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
183*724ba675SRob Herring			};
184*724ba675SRob Herring		};
185*724ba675SRob Herring
186*724ba675SRob Herring		L2: cache-controller@c4200000 {
187*724ba675SRob Herring			compatible = "arm,pl310-cache";
188*724ba675SRob Herring			reg = <0xc4200000 0x1000>;
189*724ba675SRob Herring			cache-unified;
190*724ba675SRob Herring			cache-level = <2>;
191*724ba675SRob Herring		};
192*724ba675SRob Herring
193*724ba675SRob Herring		periph: bus@c4300000 {
194*724ba675SRob Herring			compatible = "simple-bus";
195*724ba675SRob Herring			reg = <0xc4300000 0x10000>;
196*724ba675SRob Herring			#address-cells = <1>;
197*724ba675SRob Herring			#size-cells = <1>;
198*724ba675SRob Herring			ranges = <0x0 0xc4300000 0x10000>;
199*724ba675SRob Herring
200*724ba675SRob Herring			gic: interrupt-controller@1000 {
201*724ba675SRob Herring				compatible = "arm,cortex-a9-gic";
202*724ba675SRob Herring				reg = <0x1000 0x1000>,
203*724ba675SRob Herring				      <0x100 0x100>;
204*724ba675SRob Herring				interrupt-controller;
205*724ba675SRob Herring				#interrupt-cells = <3>;
206*724ba675SRob Herring			};
207*724ba675SRob Herring		};
208*724ba675SRob Herring
209*724ba675SRob Herring		aobus: aobus@c8100000 {
210*724ba675SRob Herring			compatible = "simple-bus";
211*724ba675SRob Herring			reg = <0xc8100000 0x100000>;
212*724ba675SRob Herring			#address-cells = <1>;
213*724ba675SRob Herring			#size-cells = <1>;
214*724ba675SRob Herring			ranges = <0x0 0xc8100000 0x100000>;
215*724ba675SRob Herring
216*724ba675SRob Herring			ao_arc_rproc: remoteproc@1c {
217*724ba675SRob Herring				compatible = "amlogic,meson-mx-ao-arc";
218*724ba675SRob Herring				reg = <0x1c 0x8>, <0x38 0x8>;
219*724ba675SRob Herring				reg-names = "remap", "cpu";
220*724ba675SRob Herring				status = "disabled";
221*724ba675SRob Herring			};
222*724ba675SRob Herring
223*724ba675SRob Herring			ir_receiver: ir-receiver@480 {
224*724ba675SRob Herring				compatible = "amlogic,meson6-ir";
225*724ba675SRob Herring				reg = <0x480 0x20>;
226*724ba675SRob Herring				interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
227*724ba675SRob Herring				status = "disabled";
228*724ba675SRob Herring			};
229*724ba675SRob Herring
230*724ba675SRob Herring			uart_AO: serial@4c0 {
231*724ba675SRob Herring				compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart";
232*724ba675SRob Herring				reg = <0x4c0 0x18>;
233*724ba675SRob Herring				interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
234*724ba675SRob Herring				status = "disabled";
235*724ba675SRob Herring			};
236*724ba675SRob Herring
237*724ba675SRob Herring			i2c_AO: i2c@500 {
238*724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
239*724ba675SRob Herring				reg = <0x500 0x20>;
240*724ba675SRob Herring				interrupts = <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>;
241*724ba675SRob Herring				#address-cells = <1>;
242*724ba675SRob Herring				#size-cells = <0>;
243*724ba675SRob Herring				status = "disabled";
244*724ba675SRob Herring			};
245*724ba675SRob Herring
246*724ba675SRob Herring			rtc: rtc@740 {
247*724ba675SRob Herring				compatible = "amlogic,meson6-rtc";
248*724ba675SRob Herring				reg = <0x740 0x14>;
249*724ba675SRob Herring				interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
250*724ba675SRob Herring				#address-cells = <1>;
251*724ba675SRob Herring				#size-cells = <1>;
252*724ba675SRob Herring				status = "disabled";
253*724ba675SRob Herring			};
254*724ba675SRob Herring		};
255*724ba675SRob Herring
256*724ba675SRob Herring		usb0: usb@c9040000 {
257*724ba675SRob Herring			compatible = "snps,dwc2";
258*724ba675SRob Herring			#address-cells = <1>;
259*724ba675SRob Herring			#size-cells = <0>;
260*724ba675SRob Herring			reg = <0xc9040000 0x40000>;
261*724ba675SRob Herring			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
262*724ba675SRob Herring			phys = <&usb0_phy>;
263*724ba675SRob Herring			phy-names = "usb2-phy";
264*724ba675SRob Herring			g-rx-fifo-size = <512>;
265*724ba675SRob Herring			g-np-tx-fifo-size = <500>;
266*724ba675SRob Herring			g-tx-fifo-size = <256 192 128 128 128>;
267*724ba675SRob Herring			dr_mode = "host";
268*724ba675SRob Herring			status = "disabled";
269*724ba675SRob Herring		};
270*724ba675SRob Herring
271*724ba675SRob Herring		usb1: usb@c90c0000 {
272*724ba675SRob Herring			compatible = "snps,dwc2";
273*724ba675SRob Herring			#address-cells = <1>;
274*724ba675SRob Herring			#size-cells = <0>;
275*724ba675SRob Herring			reg = <0xc90c0000 0x40000>;
276*724ba675SRob Herring			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
277*724ba675SRob Herring			phys = <&usb1_phy>;
278*724ba675SRob Herring			phy-names = "usb2-phy";
279*724ba675SRob Herring			dr_mode = "host";
280*724ba675SRob Herring			status = "disabled";
281*724ba675SRob Herring		};
282*724ba675SRob Herring
283*724ba675SRob Herring		ethmac: ethernet@c9410000 {
284*724ba675SRob Herring			compatible = "amlogic,meson6-dwmac", "snps,dwmac";
285*724ba675SRob Herring			reg = <0xc9410000 0x10000
286*724ba675SRob Herring			       0xc1108108 0x4>;
287*724ba675SRob Herring			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
288*724ba675SRob Herring			interrupt-names = "macirq";
289*724ba675SRob Herring			status = "disabled";
290*724ba675SRob Herring		};
291*724ba675SRob Herring
292*724ba675SRob Herring		ahb_sram: sram@d9000000 {
293*724ba675SRob Herring			compatible = "mmio-sram";
294*724ba675SRob Herring			reg = <0xd9000000 0x20000>;
295*724ba675SRob Herring			#address-cells = <1>;
296*724ba675SRob Herring			#size-cells = <1>;
297*724ba675SRob Herring			ranges = <0 0xd9000000 0x20000>;
298*724ba675SRob Herring		};
299*724ba675SRob Herring
300*724ba675SRob Herring		bootrom: bootrom@d9040000 {
301*724ba675SRob Herring			compatible = "amlogic,meson-mx-bootrom", "syscon";
302*724ba675SRob Herring			reg = <0xd9040000 0x10000>;
303*724ba675SRob Herring		};
304*724ba675SRob Herring
305*724ba675SRob Herring		secbus: secbus@da000000 {
306*724ba675SRob Herring			compatible = "simple-bus";
307*724ba675SRob Herring			reg = <0xda000000 0x6000>;
308*724ba675SRob Herring			#address-cells = <1>;
309*724ba675SRob Herring			#size-cells = <1>;
310*724ba675SRob Herring			ranges = <0x0 0xda000000 0x6000>;
311*724ba675SRob Herring
312*724ba675SRob Herring			efuse: nvmem@0 {
313*724ba675SRob Herring				compatible = "amlogic,meson6-efuse";
314*724ba675SRob Herring				reg = <0x0 0x2000>;
315*724ba675SRob Herring				#address-cells = <1>;
316*724ba675SRob Herring				#size-cells = <1>;
317*724ba675SRob Herring			};
318*724ba675SRob Herring		};
319*724ba675SRob Herring	};
320*724ba675SRob Herring
321*724ba675SRob Herring	thermal_sensor: thermal-sensor {
322*724ba675SRob Herring		compatible = "generic-adc-thermal";
323*724ba675SRob Herring		#thermal-sensor-cells = <0>;
324*724ba675SRob Herring		io-channels = <&saradc 8>;
325*724ba675SRob Herring		io-channel-names = "sensor-channel";
326*724ba675SRob Herring	};
327*724ba675SRob Herring
328*724ba675SRob Herring	xtal: xtal-clk {
329*724ba675SRob Herring		compatible = "fixed-clock";
330*724ba675SRob Herring		clock-frequency = <24000000>;
331*724ba675SRob Herring		clock-output-names = "xtal";
332*724ba675SRob Herring		#clock-cells = <0>;
333*724ba675SRob Herring	};
334*724ba675SRob Herring}; /* end of / */
335