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