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