blob: ae89deaa8c9c4f9ae2f0e2b98463f3fefb293e7e [file] [log] [blame]
Neil Armstrong19bda0c2019-05-27 15:38:48 +02001// SPDX-License-Identifier: GPL-2.0 OR MIT
Carlo Caione6b112e22014-09-09 22:12:56 +02002/*
3 * Copyright 2014 Carlo Caione <carlo@caione.org>
Carlo Caione6b112e22014-09-09 22:12:56 +02004 */
5
Martin Blumenstingl5239e052017-06-15 23:33:44 +02006#include <dt-bindings/interrupt-controller/irq.h>
7#include <dt-bindings/interrupt-controller/arm-gic.h>
Carlo Caione6b112e22014-09-09 22:12:56 +02008
9/ {
Rob Herringabe60a32019-01-09 10:26:14 -060010 #address-cells = <1>;
11 #size-cells = <1>;
Carlo Caione6b112e22014-09-09 22:12:56 +020012 interrupt-parent = <&gic>;
13
Beniamino Galvani550ab392014-11-18 15:30:35 +010014 L2: l2-cache-controller@c4200000 {
15 compatible = "arm,pl310-cache";
16 reg = <0xc4200000 0x1000>;
17 cache-unified;
18 cache-level = <2>;
19 };
20
Carlo Caione6b112e22014-09-09 22:12:56 +020021 soc {
22 compatible = "simple-bus";
23 #address-cells = <1>;
24 #size-cells = <1>;
25 ranges;
26
Martin Blumenstingl200a5752017-04-17 23:39:37 +020027 cbus: cbus@c1100000 {
28 compatible = "simple-bus";
29 reg = <0xc1100000 0x200000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +010030 #address-cells = <1>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020031 #size-cells = <1>;
32 ranges = <0x0 0xc1100000 0x200000>;
33
Martin Blumenstinglb6db3932019-01-18 23:52:21 +010034 hhi: system-controller@4000 {
35 compatible = "amlogic,meson-hhi-sysctrl",
36 "simple-mfd",
37 "syscon";
38 reg = <0x4000 0x400>;
39 };
40
Martin Blumenstinglbd835d52017-09-23 16:14:03 +020041 assist: assist@7c00 {
42 compatible = "amlogic,meson-mx-assist", "syscon";
43 reg = <0x7c00 0x200>;
44 };
45
Martin Blumenstingla35910d2017-06-15 23:33:49 +020046 hwrng: rng@8100 {
47 compatible = "amlogic,meson-rng";
48 reg = <0x8100 0x8>;
49 };
50
Martin Blumenstingl200a5752017-04-17 23:39:37 +020051 uart_A: serial@84c0 {
Neil Armstrongec9b5912017-06-21 16:42:12 +020052 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +020053 reg = <0x84c0 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020054 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020055 status = "disabled";
56 };
57
58 uart_B: serial@84dc {
Neil Armstrongec9b5912017-06-21 16:42:12 +020059 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +020060 reg = <0x84dc 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020061 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020062 status = "disabled";
63 };
64
65 i2c_A: i2c@8500 {
66 compatible = "amlogic,meson6-i2c";
67 reg = <0x8500 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020068 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020069 #address-cells = <1>;
70 #size-cells = <0>;
71 status = "disabled";
72 };
73
Martin Blumenstingl440bdcd2017-07-12 00:20:14 +020074 pwm_ab: pwm@8550 {
75 compatible = "amlogic,meson-pwm";
76 reg = <0x8550 0x10>;
77 #pwm-cells = <3>;
78 status = "disabled";
79 };
80
81 pwm_cd: pwm@8650 {
82 compatible = "amlogic,meson-pwm";
83 reg = <0x8650 0x10>;
84 #pwm-cells = <3>;
85 status = "disabled";
86 };
87
Martin Blumenstingla39a3b92017-06-15 23:33:47 +020088 saradc: adc@8680 {
89 compatible = "amlogic,meson-saradc";
90 reg = <0x8680 0x34>;
91 #io-channel-cells = <1>;
92 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
93 status = "disabled";
94 };
95
Martin Blumenstingl200a5752017-04-17 23:39:37 +020096 uart_C: serial@8700 {
Neil Armstrongec9b5912017-06-21 16:42:12 +020097 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +020098 reg = <0x8700 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020099 interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200100 status = "disabled";
101 };
102
103 i2c_B: i2c@87c0 {
104 compatible = "amlogic,meson6-i2c";
105 reg = <0x87c0 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200106 interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200107 #address-cells = <1>;
108 #size-cells = <0>;
109 status = "disabled";
110 };
111
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200112 usb0_phy: phy@8800 {
113 compatible = "amlogic,meson-mx-usb2-phy";
114 #phy-cells = <0>;
115 reg = <0x8800 0x20>;
116 status = "disabled";
117 };
118
119 usb1_phy: phy@8820 {
120 compatible = "amlogic,meson-mx-usb2-phy";
121 #phy-cells = <0>;
122 reg = <0x8820 0x20>;
123 status = "disabled";
124 };
125
Martin Blumenstingl88b1b182017-10-07 18:29:39 +0200126 sdio: mmc@8c20 {
127 compatible = "amlogic,meson-mx-sdio";
128 reg = <0x8c20 0x20>;
129 interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
130 #address-cells = <1>;
131 #size-cells = <0>;
132 status = "disabled";
133 };
134
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200135 spifc: spi@8c80 {
136 compatible = "amlogic,meson6-spifc";
137 reg = <0x8c80 0x80>;
138 #address-cells = <1>;
139 #size-cells = <0>;
140 status = "disabled";
141 };
142
Martin Blumenstingl208e4ea2017-10-30 00:17:14 +0100143 gpio_intc: interrupt-controller@9880 {
144 compatible = "amlogic,meson-gpio-intc";
Martin Blumenstingl9fd7a2e2017-10-30 00:17:15 +0100145 reg = <0x9880 0x10>;
Martin Blumenstingl208e4ea2017-10-30 00:17:14 +0100146 interrupt-controller;
147 #interrupt-cells = <2>;
148 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
149 status = "disabled";
150 };
151
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200152 wdt: watchdog@9900 {
153 compatible = "amlogic,meson6-wdt";
154 reg = <0x9900 0x8>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200155 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200156 };
157
Martin Blumenstingl7b141ab2018-11-16 21:42:35 +0100158 timer_abcde: timer@9940 {
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200159 compatible = "amlogic,meson6-timer";
160 reg = <0x9940 0x18>;
Martin Blumenstingl523b8b32018-11-16 21:42:34 +0100161 interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
162 <GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
163 <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
164 <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200165 };
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100166 };
167
Martin Blumenstingle8c276d2018-11-23 20:53:07 +0100168 periph: bus@c4300000 {
169 compatible = "simple-bus";
170 reg = <0xc4300000 0x10000>;
171 #address-cells = <1>;
172 #size-cells = <1>;
173 ranges = <0x0 0xc4300000 0x10000>;
174
175 gic: interrupt-controller@1000 {
176 compatible = "arm,cortex-a9-gic";
177 reg = <0x1000 0x1000>,
178 <0x100 0x100>;
179 interrupt-controller;
180 #interrupt-cells = <3>;
181 };
182 };
183
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200184 aobus: aobus@c8100000 {
185 compatible = "simple-bus";
186 reg = <0xc8100000 0x100000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100187 #address-cells = <1>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200188 #size-cells = <1>;
189 ranges = <0x0 0xc8100000 0x100000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100190
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200191 ir_receiver: ir-receiver@480 {
192 compatible= "amlogic,meson6-ir";
193 reg = <0x480 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200194 interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200195 status = "disabled";
196 };
Linus Torvalds2183a582014-12-11 11:49:23 -0800197
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200198 uart_AO: serial@4c0 {
Neil Armstrongec9b5912017-06-21 16:42:12 +0200199 compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200200 reg = <0x4c0 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200201 interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200202 status = "disabled";
203 };
Beniamino Galvani03bb9512015-03-01 20:39:51 +0100204
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200205 i2c_AO: i2c@500 {
206 compatible = "amlogic,meson6-i2c";
207 reg = <0x500 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200208 interrupts = <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200209 #address-cells = <1>;
210 #size-cells = <0>;
211 status = "disabled";
212 };
Martin Blumenstinglf6eb9732019-04-13 18:34:21 +0200213
214 rtc: rtc@740 {
215 compatible = "amlogic,meson6-rtc";
216 reg = <0x740 0x14>;
217 interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
218 #address-cells = <1>;
219 #size-cells = <1>;
220 status = "disabled";
221 };
Beniamino Galvani03bb9512015-03-01 20:39:51 +0100222 };
Beniamino Galvani2345d502015-03-01 20:45:37 +0100223
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200224 usb0: usb@c9040000 {
225 compatible = "snps,dwc2";
226 #address-cells = <1>;
227 #size-cells = <0>;
228 reg = <0xc9040000 0x40000>;
Emiliano Ingrassia291f45d2017-09-22 13:57:08 +0200229 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200230 phys = <&usb0_phy>;
231 phy-names = "usb2-phy";
Martin Blumenstingl9530dcf2020-05-04 21:51:05 +0200232 g-rx-fifo-size = <512>;
233 g-np-tx-fifo-size = <500>;
234 g-tx-fifo-size = <256 192 128 128 128>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200235 dr_mode = "host";
236 status = "disabled";
237 };
238
239 usb1: usb@c90c0000 {
240 compatible = "snps,dwc2";
241 #address-cells = <1>;
242 #size-cells = <0>;
243 reg = <0xc90c0000 0x40000>;
Emiliano Ingrassia291f45d2017-09-22 13:57:08 +0200244 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200245 phys = <&usb1_phy>;
246 phy-names = "usb2-phy";
247 dr_mode = "host";
248 status = "disabled";
249 };
250
Beniamino Galvani2345d502015-03-01 20:45:37 +0100251 ethmac: ethernet@c9410000 {
252 compatible = "amlogic,meson6-dwmac", "snps,dwmac";
253 reg = <0xc9410000 0x10000
254 0xc1108108 0x4>;
Carlo Caionee35e26b2018-12-07 10:52:31 +0000255 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
Beniamino Galvani2345d502015-03-01 20:45:37 +0100256 interrupt-names = "macirq";
Beniamino Galvani2345d502015-03-01 20:45:37 +0100257 status = "disabled";
258 };
Martin Blumenstingl40b5c4f2017-07-12 00:26:55 +0200259
260 ahb_sram: sram@d9000000 {
261 compatible = "mmio-sram";
262 reg = <0xd9000000 0x20000>;
263 #address-cells = <1>;
264 #size-cells = <1>;
265 ranges = <0 0xd9000000 0x20000>;
266 };
Martin Blumenstinglbd835d52017-09-23 16:14:03 +0200267
268 bootrom: bootrom@d9040000 {
269 compatible = "amlogic,meson-mx-bootrom", "syscon";
270 reg = <0xd9040000 0x10000>;
271 };
Martin Blumenstingl2cb51a82017-10-03 01:28:04 +0200272
273 secbus: secbus@da000000 {
274 compatible = "simple-bus";
275 reg = <0xda000000 0x6000>;
276 #address-cells = <1>;
277 #size-cells = <1>;
278 ranges = <0x0 0xda000000 0x6000>;
279
280 efuse: nvmem@0 {
281 compatible = "amlogic,meson6-efuse";
282 reg = <0x0 0x2000>;
283 #address-cells = <1>;
284 #size-cells = <1>;
285 };
286 };
Carlo Caione6b112e22014-09-09 22:12:56 +0200287 };
Martin Blumenstingl630ea312019-12-08 19:05:23 +0100288
289 xtal: xtal-clk {
290 compatible = "fixed-clock";
291 clock-frequency = <24000000>;
292 clock-output-names = "xtal";
293 #clock-cells = <0>;
294 };
Carlo Caione6b112e22014-09-09 22:12:56 +0200295}; /* end of / */