xref: /linux/arch/arm/boot/dts/amlogic/meson.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2014 Carlo Caione <carlo@caione.org>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
7724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
8724ba675SRob Herring#include <dt-bindings/sound/meson-aiu.h>
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	#address-cells = <1>;
12724ba675SRob Herring	#size-cells = <1>;
13724ba675SRob Herring	interrupt-parent = <&gic>;
14724ba675SRob Herring
15724ba675SRob Herring	iio-hwmon {
16724ba675SRob Herring		compatible = "iio-hwmon";
17724ba675SRob Herring		io-channels = <&saradc 8>;
18724ba675SRob Herring	};
19724ba675SRob Herring
20724ba675SRob Herring	soc {
21724ba675SRob Herring		compatible = "simple-bus";
22724ba675SRob Herring		#address-cells = <1>;
23724ba675SRob Herring		#size-cells = <1>;
24724ba675SRob Herring		ranges;
25724ba675SRob Herring
26*0a20438fSMartin Blumenstingl		cbus: bus@c1100000 {
27724ba675SRob Herring			compatible = "simple-bus";
28724ba675SRob Herring			reg = <0xc1100000 0x200000>;
29724ba675SRob Herring			#address-cells = <1>;
30724ba675SRob Herring			#size-cells = <1>;
31724ba675SRob Herring			ranges = <0x0 0xc1100000 0x200000>;
32724ba675SRob Herring
33724ba675SRob Herring			hhi: system-controller@4000 {
34724ba675SRob Herring				compatible = "amlogic,meson-hhi-sysctrl",
35724ba675SRob Herring					     "simple-mfd",
36724ba675SRob Herring					     "syscon";
37724ba675SRob Herring				reg = <0x4000 0x400>;
38724ba675SRob Herring			};
39724ba675SRob Herring
40724ba675SRob Herring			aiu: audio-controller@5400 {
41724ba675SRob Herring				compatible = "amlogic,aiu";
42724ba675SRob Herring				#sound-dai-cells = <2>;
43724ba675SRob Herring				sound-name-prefix = "AIU";
44724ba675SRob Herring				reg = <0x5400 0x2ac>;
45724ba675SRob Herring				interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
46724ba675SRob Herring					     <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
47724ba675SRob Herring				interrupt-names = "i2s", "spdif";
48724ba675SRob Herring				status = "disabled";
49724ba675SRob Herring			};
50724ba675SRob Herring
51724ba675SRob Herring			assist: assist@7c00 {
52724ba675SRob Herring				compatible = "amlogic,meson-mx-assist", "syscon";
53724ba675SRob Herring				reg = <0x7c00 0x200>;
54724ba675SRob Herring			};
55724ba675SRob Herring
56724ba675SRob Herring			hwrng: rng@8100 {
57724ba675SRob Herring				compatible = "amlogic,meson-rng";
58724ba675SRob Herring				reg = <0x8100 0x8>;
59724ba675SRob Herring			};
60724ba675SRob Herring
61724ba675SRob Herring			uart_A: serial@84c0 {
62724ba675SRob Herring				compatible = "amlogic,meson6-uart";
63724ba675SRob Herring				reg = <0x84c0 0x18>;
64724ba675SRob Herring				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
65724ba675SRob Herring				fifo-size = <128>;
66724ba675SRob Herring				status = "disabled";
67724ba675SRob Herring			};
68724ba675SRob Herring
69724ba675SRob Herring			uart_B: serial@84dc {
70724ba675SRob Herring				compatible = "amlogic,meson6-uart";
71724ba675SRob Herring				reg = <0x84dc 0x18>;
72724ba675SRob Herring				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
73724ba675SRob Herring				status = "disabled";
74724ba675SRob Herring			};
75724ba675SRob Herring
76724ba675SRob Herring			i2c_A: i2c@8500 {
77724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
78724ba675SRob Herring				reg = <0x8500 0x20>;
79724ba675SRob Herring				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
80724ba675SRob Herring				#address-cells = <1>;
81724ba675SRob Herring				#size-cells = <0>;
82724ba675SRob Herring				status = "disabled";
83724ba675SRob Herring			};
84724ba675SRob Herring
85724ba675SRob Herring			pwm_ab: pwm@8550 {
86724ba675SRob Herring				compatible = "amlogic,meson-pwm";
87724ba675SRob Herring				reg = <0x8550 0x10>;
88724ba675SRob Herring				#pwm-cells = <3>;
89724ba675SRob Herring				status = "disabled";
90724ba675SRob Herring			};
91724ba675SRob Herring
92724ba675SRob Herring			pwm_cd: pwm@8650 {
93724ba675SRob Herring				compatible = "amlogic,meson-pwm";
94724ba675SRob Herring				reg = <0x8650 0x10>;
95724ba675SRob Herring				#pwm-cells = <3>;
96724ba675SRob Herring				status = "disabled";
97724ba675SRob Herring			};
98724ba675SRob Herring
99724ba675SRob Herring			saradc: adc@8680 {
100724ba675SRob Herring				compatible = "amlogic,meson-saradc";
101724ba675SRob Herring				reg = <0x8680 0x34>;
102724ba675SRob Herring				#io-channel-cells = <1>;
103724ba675SRob Herring				interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
104724ba675SRob Herring				status = "disabled";
105724ba675SRob Herring			};
106724ba675SRob Herring
107724ba675SRob Herring			uart_C: serial@8700 {
108724ba675SRob Herring				compatible = "amlogic,meson6-uart";
109724ba675SRob Herring				reg = <0x8700 0x18>;
110724ba675SRob Herring				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
111724ba675SRob Herring				status = "disabled";
112724ba675SRob Herring			};
113724ba675SRob Herring
114724ba675SRob Herring			i2c_B: i2c@87c0 {
115724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
116724ba675SRob Herring				reg = <0x87c0 0x20>;
117724ba675SRob Herring				interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
118724ba675SRob Herring				#address-cells = <1>;
119724ba675SRob Herring				#size-cells = <0>;
120724ba675SRob Herring				status = "disabled";
121724ba675SRob Herring			};
122724ba675SRob Herring
123724ba675SRob Herring			usb0_phy: phy@8800 {
124724ba675SRob Herring				compatible = "amlogic,meson-mx-usb2-phy";
125724ba675SRob Herring				#phy-cells = <0>;
126724ba675SRob Herring				reg = <0x8800 0x20>;
127724ba675SRob Herring				status = "disabled";
128724ba675SRob Herring			};
129724ba675SRob Herring
130724ba675SRob Herring			usb1_phy: phy@8820 {
131724ba675SRob Herring				compatible = "amlogic,meson-mx-usb2-phy";
132724ba675SRob Herring				#phy-cells = <0>;
133724ba675SRob Herring				reg = <0x8820 0x20>;
134724ba675SRob Herring				status = "disabled";
135724ba675SRob Herring			};
136724ba675SRob Herring
137724ba675SRob Herring			sdio: mmc@8c20 {
138724ba675SRob Herring				compatible = "amlogic,meson-mx-sdio";
139724ba675SRob Herring				reg = <0x8c20 0x20>;
140724ba675SRob Herring				interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
141724ba675SRob Herring				#address-cells = <1>;
142724ba675SRob Herring				#size-cells = <0>;
143724ba675SRob Herring				status = "disabled";
144724ba675SRob Herring			};
145724ba675SRob Herring
146724ba675SRob Herring			spifc: spi@8c80 {
147724ba675SRob Herring				compatible = "amlogic,meson6-spifc";
148724ba675SRob Herring				reg = <0x8c80 0x80>;
149724ba675SRob Herring				#address-cells = <1>;
150724ba675SRob Herring				#size-cells = <0>;
151724ba675SRob Herring				status = "disabled";
152724ba675SRob Herring			};
153724ba675SRob Herring
154724ba675SRob Herring			sdhc: mmc@8e00 {
155724ba675SRob Herring				compatible = "amlogic,meson-mx-sdhc";
156724ba675SRob Herring				reg = <0x8e00 0x42>;
157724ba675SRob Herring				interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
158724ba675SRob Herring				status = "disabled";
159724ba675SRob Herring			};
160724ba675SRob Herring
161724ba675SRob Herring			gpio_intc: interrupt-controller@9880 {
162724ba675SRob Herring				compatible = "amlogic,meson-gpio-intc";
163724ba675SRob Herring				reg = <0x9880 0x10>;
164724ba675SRob Herring				interrupt-controller;
165724ba675SRob Herring				#interrupt-cells = <2>;
166724ba675SRob Herring				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
167724ba675SRob Herring				status = "disabled";
168724ba675SRob Herring			};
169724ba675SRob Herring
170724ba675SRob Herring			wdt: watchdog@9900 {
171724ba675SRob Herring				compatible = "amlogic,meson6-wdt";
172724ba675SRob Herring				reg = <0x9900 0x8>;
173724ba675SRob Herring				interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
174724ba675SRob Herring			};
175724ba675SRob Herring
176724ba675SRob Herring			timer_abcde: timer@9940 {
177724ba675SRob Herring				compatible = "amlogic,meson6-timer";
178724ba675SRob Herring				reg = <0x9940 0x18>;
179724ba675SRob Herring				interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
180724ba675SRob Herring					     <GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
181724ba675SRob Herring					     <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
182724ba675SRob Herring					     <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
183724ba675SRob Herring			};
184724ba675SRob Herring		};
185724ba675SRob Herring
186724ba675SRob Herring		L2: cache-controller@c4200000 {
187724ba675SRob Herring			compatible = "arm,pl310-cache";
188724ba675SRob Herring			reg = <0xc4200000 0x1000>;
189724ba675SRob Herring			cache-unified;
190724ba675SRob Herring			cache-level = <2>;
191724ba675SRob Herring		};
192724ba675SRob Herring
193724ba675SRob Herring		periph: bus@c4300000 {
194724ba675SRob Herring			compatible = "simple-bus";
195724ba675SRob Herring			reg = <0xc4300000 0x10000>;
196724ba675SRob Herring			#address-cells = <1>;
197724ba675SRob Herring			#size-cells = <1>;
198724ba675SRob Herring			ranges = <0x0 0xc4300000 0x10000>;
199724ba675SRob Herring
200724ba675SRob Herring			gic: interrupt-controller@1000 {
201724ba675SRob Herring				compatible = "arm,cortex-a9-gic";
202724ba675SRob Herring				reg = <0x1000 0x1000>,
203724ba675SRob Herring				      <0x100 0x100>;
204724ba675SRob Herring				interrupt-controller;
205724ba675SRob Herring				#interrupt-cells = <3>;
206724ba675SRob Herring			};
207724ba675SRob Herring		};
208724ba675SRob Herring
209*0a20438fSMartin Blumenstingl		aobus: bus@c8100000 {
210724ba675SRob Herring			compatible = "simple-bus";
211724ba675SRob Herring			reg = <0xc8100000 0x100000>;
212724ba675SRob Herring			#address-cells = <1>;
213724ba675SRob Herring			#size-cells = <1>;
214724ba675SRob Herring			ranges = <0x0 0xc8100000 0x100000>;
215724ba675SRob Herring
216724ba675SRob Herring			ao_arc_rproc: remoteproc@1c {
217724ba675SRob Herring				compatible = "amlogic,meson-mx-ao-arc";
218724ba675SRob Herring				reg = <0x1c 0x8>, <0x38 0x8>;
219724ba675SRob Herring				reg-names = "remap", "cpu";
220724ba675SRob Herring				status = "disabled";
221724ba675SRob Herring			};
222724ba675SRob Herring
223724ba675SRob Herring			ir_receiver: ir-receiver@480 {
224724ba675SRob Herring				compatible = "amlogic,meson6-ir";
225724ba675SRob Herring				reg = <0x480 0x20>;
226724ba675SRob Herring				interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
227724ba675SRob Herring				status = "disabled";
228724ba675SRob Herring			};
229724ba675SRob Herring
230724ba675SRob Herring			uart_AO: serial@4c0 {
231724ba675SRob Herring				compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart";
232724ba675SRob Herring				reg = <0x4c0 0x18>;
233724ba675SRob Herring				interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
234724ba675SRob Herring				status = "disabled";
235724ba675SRob Herring			};
236724ba675SRob Herring
237724ba675SRob Herring			i2c_AO: i2c@500 {
238724ba675SRob Herring				compatible = "amlogic,meson6-i2c";
239724ba675SRob Herring				reg = <0x500 0x20>;
240724ba675SRob Herring				interrupts = <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>;
241724ba675SRob Herring				#address-cells = <1>;
242724ba675SRob Herring				#size-cells = <0>;
243724ba675SRob Herring				status = "disabled";
244724ba675SRob Herring			};
245724ba675SRob Herring
246724ba675SRob Herring			rtc: rtc@740 {
247724ba675SRob Herring				compatible = "amlogic,meson6-rtc";
248724ba675SRob Herring				reg = <0x740 0x14>;
249724ba675SRob Herring				interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
250724ba675SRob Herring				#address-cells = <1>;
251724ba675SRob Herring				#size-cells = <1>;
252724ba675SRob Herring				status = "disabled";
253724ba675SRob Herring			};
254724ba675SRob Herring		};
255724ba675SRob Herring
256724ba675SRob Herring		usb0: usb@c9040000 {
257724ba675SRob Herring			compatible = "snps,dwc2";
258724ba675SRob Herring			#address-cells = <1>;
259724ba675SRob Herring			#size-cells = <0>;
260724ba675SRob Herring			reg = <0xc9040000 0x40000>;
261724ba675SRob Herring			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
262724ba675SRob Herring			phys = <&usb0_phy>;
263724ba675SRob Herring			phy-names = "usb2-phy";
264724ba675SRob Herring			g-rx-fifo-size = <512>;
265724ba675SRob Herring			g-np-tx-fifo-size = <500>;
266724ba675SRob Herring			g-tx-fifo-size = <256 192 128 128 128>;
267724ba675SRob Herring			dr_mode = "host";
268724ba675SRob Herring			status = "disabled";
269724ba675SRob Herring		};
270724ba675SRob Herring
271724ba675SRob Herring		usb1: usb@c90c0000 {
272724ba675SRob Herring			compatible = "snps,dwc2";
273724ba675SRob Herring			#address-cells = <1>;
274724ba675SRob Herring			#size-cells = <0>;
275724ba675SRob Herring			reg = <0xc90c0000 0x40000>;
276724ba675SRob Herring			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
277724ba675SRob Herring			phys = <&usb1_phy>;
278724ba675SRob Herring			phy-names = "usb2-phy";
279724ba675SRob Herring			dr_mode = "host";
280724ba675SRob Herring			status = "disabled";
281724ba675SRob Herring		};
282724ba675SRob Herring
283724ba675SRob Herring		ethmac: ethernet@c9410000 {
284724ba675SRob Herring			compatible = "amlogic,meson6-dwmac", "snps,dwmac";
285724ba675SRob Herring			reg = <0xc9410000 0x10000
286724ba675SRob Herring			       0xc1108108 0x4>;
287724ba675SRob Herring			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
288724ba675SRob Herring			interrupt-names = "macirq";
289724ba675SRob Herring			status = "disabled";
290724ba675SRob Herring		};
291724ba675SRob Herring
292724ba675SRob Herring		ahb_sram: sram@d9000000 {
293724ba675SRob Herring			compatible = "mmio-sram";
294724ba675SRob Herring			reg = <0xd9000000 0x20000>;
295724ba675SRob Herring			#address-cells = <1>;
296724ba675SRob Herring			#size-cells = <1>;
297724ba675SRob Herring			ranges = <0 0xd9000000 0x20000>;
298724ba675SRob Herring		};
299724ba675SRob Herring
300724ba675SRob Herring		bootrom: bootrom@d9040000 {
301724ba675SRob Herring			compatible = "amlogic,meson-mx-bootrom", "syscon";
302724ba675SRob Herring			reg = <0xd9040000 0x10000>;
303724ba675SRob Herring		};
304724ba675SRob Herring
305*0a20438fSMartin Blumenstingl		secbus: bus@da000000 {
306724ba675SRob Herring			compatible = "simple-bus";
307724ba675SRob Herring			reg = <0xda000000 0x6000>;
308724ba675SRob Herring			#address-cells = <1>;
309724ba675SRob Herring			#size-cells = <1>;
310724ba675SRob Herring			ranges = <0x0 0xda000000 0x6000>;
311724ba675SRob Herring
312724ba675SRob Herring			efuse: nvmem@0 {
313724ba675SRob Herring				compatible = "amlogic,meson6-efuse";
314724ba675SRob Herring				reg = <0x0 0x2000>;
315724ba675SRob Herring				#address-cells = <1>;
316724ba675SRob Herring				#size-cells = <1>;
317724ba675SRob Herring			};
318724ba675SRob Herring		};
319724ba675SRob Herring	};
320724ba675SRob Herring
321724ba675SRob Herring	thermal_sensor: thermal-sensor {
322724ba675SRob Herring		compatible = "generic-adc-thermal";
323724ba675SRob Herring		#thermal-sensor-cells = <0>;
324724ba675SRob Herring		io-channels = <&saradc 8>;
325724ba675SRob Herring		io-channel-names = "sensor-channel";
326724ba675SRob Herring	};
327724ba675SRob Herring
328724ba675SRob Herring	xtal: xtal-clk {
329724ba675SRob Herring		compatible = "fixed-clock";
330724ba675SRob Herring		clock-frequency = <24000000>;
331724ba675SRob Herring		clock-output-names = "xtal";
332724ba675SRob Herring		#clock-cells = <0>;
333724ba675SRob Herring	};
334724ba675SRob Herring}; /* end of / */
335