blob: 3be7cba603d5ac4a78881d3c0a455850dccd27db [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>
Martin Blumenstingl4f8ca132021-07-18 01:30:29 +02008#include <dt-bindings/sound/meson-aiu.h>
Carlo Caione6b112e22014-09-09 22:12:56 +02009
10/ {
Rob Herringabe60a32019-01-09 10:26:14 -060011 #address-cells = <1>;
12 #size-cells = <1>;
Carlo Caione6b112e22014-09-09 22:12:56 +020013 interrupt-parent = <&gic>;
14
Martin Blumenstingle9ced252020-12-21 19:13:02 +010015 iio-hwmon {
16 compatible = "iio-hwmon";
17 io-channels = <&saradc 8>;
18 };
19
Carlo Caione6b112e22014-09-09 22:12:56 +020020 soc {
21 compatible = "simple-bus";
22 #address-cells = <1>;
23 #size-cells = <1>;
24 ranges;
25
Martin Blumenstingl200a5752017-04-17 23:39:37 +020026 cbus: cbus@c1100000 {
27 compatible = "simple-bus";
28 reg = <0xc1100000 0x200000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +010029 #address-cells = <1>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020030 #size-cells = <1>;
31 ranges = <0x0 0xc1100000 0x200000>;
32
Martin Blumenstinglb6db3932019-01-18 23:52:21 +010033 hhi: system-controller@4000 {
34 compatible = "amlogic,meson-hhi-sysctrl",
35 "simple-mfd",
36 "syscon";
37 reg = <0x4000 0x400>;
38 };
39
Martin Blumenstingl4f8ca132021-07-18 01:30:29 +020040 aiu: audio-controller@5400 {
41 compatible = "amlogic,aiu";
42 #sound-dai-cells = <2>;
43 sound-name-prefix = "AIU";
44 reg = <0x5400 0x2ac>;
45 interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
46 <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
47 interrupt-names = "i2s", "spdif";
48 status = "disabled";
49 };
50
Martin Blumenstinglbd835d52017-09-23 16:14:03 +020051 assist: assist@7c00 {
52 compatible = "amlogic,meson-mx-assist", "syscon";
53 reg = <0x7c00 0x200>;
54 };
55
Martin Blumenstingla35910d2017-06-15 23:33:49 +020056 hwrng: rng@8100 {
57 compatible = "amlogic,meson-rng";
58 reg = <0x8100 0x8>;
59 };
60
Martin Blumenstingl200a5752017-04-17 23:39:37 +020061 uart_A: serial@84c0 {
Neil Armstrongec9b5912017-06-21 16:42:12 +020062 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +020063 reg = <0x84c0 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020064 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl7db3cde2021-06-04 19:08:44 +020065 fifo-size = <128>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020066 status = "disabled";
67 };
68
69 uart_B: serial@84dc {
Neil Armstrongec9b5912017-06-21 16:42:12 +020070 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +020071 reg = <0x84dc 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020072 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020073 status = "disabled";
74 };
75
76 i2c_A: i2c@8500 {
77 compatible = "amlogic,meson6-i2c";
78 reg = <0x8500 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +020079 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +020080 #address-cells = <1>;
81 #size-cells = <0>;
82 status = "disabled";
83 };
84
Martin Blumenstingl440bdcd2017-07-12 00:20:14 +020085 pwm_ab: pwm@8550 {
86 compatible = "amlogic,meson-pwm";
87 reg = <0x8550 0x10>;
88 #pwm-cells = <3>;
89 status = "disabled";
90 };
91
92 pwm_cd: pwm@8650 {
93 compatible = "amlogic,meson-pwm";
94 reg = <0x8650 0x10>;
95 #pwm-cells = <3>;
96 status = "disabled";
97 };
98
Martin Blumenstingla39a3b92017-06-15 23:33:47 +020099 saradc: adc@8680 {
100 compatible = "amlogic,meson-saradc";
101 reg = <0x8680 0x34>;
102 #io-channel-cells = <1>;
103 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
104 status = "disabled";
105 };
106
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200107 uart_C: serial@8700 {
Neil Armstrongec9b5912017-06-21 16:42:12 +0200108 compatible = "amlogic,meson6-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200109 reg = <0x8700 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200110 interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200111 status = "disabled";
112 };
113
114 i2c_B: i2c@87c0 {
115 compatible = "amlogic,meson6-i2c";
116 reg = <0x87c0 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200117 interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200118 #address-cells = <1>;
119 #size-cells = <0>;
120 status = "disabled";
121 };
122
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200123 usb0_phy: phy@8800 {
124 compatible = "amlogic,meson-mx-usb2-phy";
125 #phy-cells = <0>;
126 reg = <0x8800 0x20>;
127 status = "disabled";
128 };
129
130 usb1_phy: phy@8820 {
131 compatible = "amlogic,meson-mx-usb2-phy";
132 #phy-cells = <0>;
133 reg = <0x8820 0x20>;
134 status = "disabled";
135 };
136
Martin Blumenstingl88b1b182017-10-07 18:29:39 +0200137 sdio: mmc@8c20 {
138 compatible = "amlogic,meson-mx-sdio";
139 reg = <0x8c20 0x20>;
140 interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
141 #address-cells = <1>;
142 #size-cells = <0>;
143 status = "disabled";
144 };
145
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200146 spifc: spi@8c80 {
147 compatible = "amlogic,meson6-spifc";
148 reg = <0x8c80 0x80>;
149 #address-cells = <1>;
150 #size-cells = <0>;
151 status = "disabled";
152 };
153
Martin Blumenstingl73106f72020-06-20 18:36:52 +0200154 sdhc: mmc@8e00 {
155 compatible = "amlogic,meson-mx-sdhc";
156 reg = <0x8e00 0x42>;
157 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
158 status = "disabled";
159 };
160
Martin Blumenstingl208e4ea2017-10-30 00:17:14 +0100161 gpio_intc: interrupt-controller@9880 {
162 compatible = "amlogic,meson-gpio-intc";
Martin Blumenstingl9fd7a2e2017-10-30 00:17:15 +0100163 reg = <0x9880 0x10>;
Martin Blumenstingl208e4ea2017-10-30 00:17:14 +0100164 interrupt-controller;
165 #interrupt-cells = <2>;
166 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
167 status = "disabled";
168 };
169
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200170 wdt: watchdog@9900 {
171 compatible = "amlogic,meson6-wdt";
172 reg = <0x9900 0x8>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200173 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200174 };
175
Martin Blumenstingl7b141ab2018-11-16 21:42:35 +0100176 timer_abcde: timer@9940 {
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200177 compatible = "amlogic,meson6-timer";
178 reg = <0x9940 0x18>;
Martin Blumenstingl523b8b32018-11-16 21:42:34 +0100179 interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
180 <GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
181 <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
182 <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200183 };
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100184 };
185
Martin Blumenstingl8bcbcdb2020-08-15 20:22:23 +0200186 L2: cache-controller@c4200000 {
187 compatible = "arm,pl310-cache";
188 reg = <0xc4200000 0x1000>;
189 cache-unified;
190 cache-level = <2>;
191 };
192
Martin Blumenstingle8c276d2018-11-23 20:53:07 +0100193 periph: bus@c4300000 {
194 compatible = "simple-bus";
195 reg = <0xc4300000 0x10000>;
196 #address-cells = <1>;
197 #size-cells = <1>;
198 ranges = <0x0 0xc4300000 0x10000>;
199
200 gic: interrupt-controller@1000 {
201 compatible = "arm,cortex-a9-gic";
202 reg = <0x1000 0x1000>,
203 <0x100 0x100>;
204 interrupt-controller;
205 #interrupt-cells = <3>;
206 };
207 };
208
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200209 aobus: aobus@c8100000 {
210 compatible = "simple-bus";
211 reg = <0xc8100000 0x100000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100212 #address-cells = <1>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200213 #size-cells = <1>;
214 ranges = <0x0 0xc8100000 0x100000>;
Beniamino Galvani8fba96f2014-11-13 20:32:03 +0100215
Martin Blumenstinglfb606cd2021-01-02 21:59:04 +0100216 ao_arc_rproc: remoteproc@1c {
217 compatible= "amlogic,meson-mx-ao-arc";
218 reg = <0x1c 0x8>, <0x38 0x8>;
219 reg-names = "remap", "cpu";
220 status = "disabled";
221 };
222
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200223 ir_receiver: ir-receiver@480 {
224 compatible= "amlogic,meson6-ir";
225 reg = <0x480 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200226 interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200227 status = "disabled";
228 };
Linus Torvalds2183a582014-12-11 11:49:23 -0800229
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200230 uart_AO: serial@4c0 {
Neil Armstrongec9b5912017-06-21 16:42:12 +0200231 compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart";
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200232 reg = <0x4c0 0x18>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200233 interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200234 status = "disabled";
235 };
Beniamino Galvani03bb9512015-03-01 20:39:51 +0100236
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200237 i2c_AO: i2c@500 {
238 compatible = "amlogic,meson6-i2c";
239 reg = <0x500 0x20>;
Martin Blumenstingl5239e052017-06-15 23:33:44 +0200240 interrupts = <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>;
Martin Blumenstingl200a5752017-04-17 23:39:37 +0200241 #address-cells = <1>;
242 #size-cells = <0>;
243 status = "disabled";
244 };
Martin Blumenstinglf6eb9732019-04-13 18:34:21 +0200245
246 rtc: rtc@740 {
247 compatible = "amlogic,meson6-rtc";
248 reg = <0x740 0x14>;
249 interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
250 #address-cells = <1>;
251 #size-cells = <1>;
252 status = "disabled";
253 };
Beniamino Galvani03bb9512015-03-01 20:39:51 +0100254 };
Beniamino Galvani2345d502015-03-01 20:45:37 +0100255
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200256 usb0: usb@c9040000 {
257 compatible = "snps,dwc2";
258 #address-cells = <1>;
259 #size-cells = <0>;
260 reg = <0xc9040000 0x40000>;
Emiliano Ingrassia291f45d2017-09-22 13:57:08 +0200261 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200262 phys = <&usb0_phy>;
263 phy-names = "usb2-phy";
Martin Blumenstingl9530dcf2020-05-04 21:51:05 +0200264 g-rx-fifo-size = <512>;
265 g-np-tx-fifo-size = <500>;
266 g-tx-fifo-size = <256 192 128 128 128>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200267 dr_mode = "host";
268 status = "disabled";
269 };
270
271 usb1: usb@c90c0000 {
272 compatible = "snps,dwc2";
273 #address-cells = <1>;
274 #size-cells = <0>;
275 reg = <0xc90c0000 0x40000>;
Emiliano Ingrassia291f45d2017-09-22 13:57:08 +0200276 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Martin Blumenstingle29b1cf2017-06-15 23:33:50 +0200277 phys = <&usb1_phy>;
278 phy-names = "usb2-phy";
279 dr_mode = "host";
280 status = "disabled";
281 };
282
Beniamino Galvani2345d502015-03-01 20:45:37 +0100283 ethmac: ethernet@c9410000 {
284 compatible = "amlogic,meson6-dwmac", "snps,dwmac";
285 reg = <0xc9410000 0x10000
286 0xc1108108 0x4>;
Carlo Caionee35e26b2018-12-07 10:52:31 +0000287 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
Beniamino Galvani2345d502015-03-01 20:45:37 +0100288 interrupt-names = "macirq";
Beniamino Galvani2345d502015-03-01 20:45:37 +0100289 status = "disabled";
290 };
Martin Blumenstingl40b5c4f2017-07-12 00:26:55 +0200291
292 ahb_sram: sram@d9000000 {
293 compatible = "mmio-sram";
294 reg = <0xd9000000 0x20000>;
295 #address-cells = <1>;
296 #size-cells = <1>;
297 ranges = <0 0xd9000000 0x20000>;
298 };
Martin Blumenstinglbd835d52017-09-23 16:14:03 +0200299
300 bootrom: bootrom@d9040000 {
301 compatible = "amlogic,meson-mx-bootrom", "syscon";
302 reg = <0xd9040000 0x10000>;
303 };
Martin Blumenstingl2cb51a82017-10-03 01:28:04 +0200304
305 secbus: secbus@da000000 {
306 compatible = "simple-bus";
307 reg = <0xda000000 0x6000>;
308 #address-cells = <1>;
309 #size-cells = <1>;
310 ranges = <0x0 0xda000000 0x6000>;
311
312 efuse: nvmem@0 {
313 compatible = "amlogic,meson6-efuse";
314 reg = <0x0 0x2000>;
315 #address-cells = <1>;
316 #size-cells = <1>;
317 };
318 };
Carlo Caione6b112e22014-09-09 22:12:56 +0200319 };
Martin Blumenstingl630ea312019-12-08 19:05:23 +0100320
Martin Blumenstinglc8559512020-12-21 19:13:03 +0100321 thermal_sensor: thermal-sensor {
322 compatible = "generic-adc-thermal";
323 #thermal-sensor-cells = <0>;
324 io-channels = <&saradc 8>;
325 io-channel-names = "sensor-channel";
326 };
327
Martin Blumenstingl630ea312019-12-08 19:05:23 +0100328 xtal: xtal-clk {
329 compatible = "fixed-clock";
330 clock-frequency = <24000000>;
331 clock-output-names = "xtal";
332 #clock-cells = <0>;
333 };
Carlo Caione6b112e22014-09-09 22:12:56 +0200334}; /* end of / */