blob: 1e03c849dc5d6096b67021076ad86a729867ef42 [file] [log] [blame]
Ben Hoe526c9b2019-05-27 17:04:42 +08001// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (c) 2018 MediaTek Inc.
4 * Author: Ben Ho <ben.ho@mediatek.com>
5 * Erin Lo <erin.lo@mediatek.com>
6 */
7
8#include <dt-bindings/clock/mt8183-clk.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/interrupt-controller/irq.h>
yong.lianga845ad12019-12-26 17:39:30 +080011#include <dt-bindings/reset-controller/mt8183-resets.h>
Zhiyong Taoda719a32019-05-27 17:04:44 +080012#include "mt8183-pinfunc.h"
Ben Hoe526c9b2019-05-27 17:04:42 +080013
14/ {
15 compatible = "mediatek,mt8183";
16 interrupt-parent = <&sysirq>;
17 #address-cells = <2>;
18 #size-cells = <2>;
19
Qii Wang251137b2019-08-22 20:35:16 +080020 aliases {
21 i2c0 = &i2c0;
22 i2c1 = &i2c1;
23 i2c2 = &i2c2;
24 i2c3 = &i2c3;
25 i2c4 = &i2c4;
26 i2c5 = &i2c5;
27 i2c6 = &i2c6;
28 i2c7 = &i2c7;
29 i2c8 = &i2c8;
30 i2c9 = &i2c9;
31 i2c10 = &i2c10;
32 i2c11 = &i2c11;
33 };
34
Ben Hoe526c9b2019-05-27 17:04:42 +080035 cpus {
36 #address-cells = <1>;
37 #size-cells = <0>;
38
39 cpu-map {
40 cluster0 {
41 core0 {
42 cpu = <&cpu0>;
43 };
44 core1 {
45 cpu = <&cpu1>;
46 };
47 core2 {
48 cpu = <&cpu2>;
49 };
50 core3 {
51 cpu = <&cpu3>;
52 };
53 };
54
55 cluster1 {
56 core0 {
57 cpu = <&cpu4>;
58 };
59 core1 {
60 cpu = <&cpu5>;
61 };
62 core2 {
63 cpu = <&cpu6>;
64 };
65 core3 {
66 cpu = <&cpu7>;
67 };
68 };
69 };
70
71 cpu0: cpu@0 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a53";
74 reg = <0x000>;
75 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +080076 capacity-dmips-mhz = <741>;
Ikjoon Jang6b552972020-02-25 16:07:53 +080077 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
michael.kaocc103172020-01-03 14:44:01 +080078 dynamic-power-coefficient = <84>;
michael.kao5323e0f2020-01-03 14:44:02 +080079 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +080080 };
81
82 cpu1: cpu@1 {
83 device_type = "cpu";
84 compatible = "arm,cortex-a53";
85 reg = <0x001>;
86 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +080087 capacity-dmips-mhz = <741>;
Ikjoon Jang6b552972020-02-25 16:07:53 +080088 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
michael.kaocc103172020-01-03 14:44:01 +080089 dynamic-power-coefficient = <84>;
michael.kao5323e0f2020-01-03 14:44:02 +080090 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +080091 };
92
93 cpu2: cpu@2 {
94 device_type = "cpu";
95 compatible = "arm,cortex-a53";
96 reg = <0x002>;
97 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +080098 capacity-dmips-mhz = <741>;
Ikjoon Jang6b552972020-02-25 16:07:53 +080099 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
michael.kaocc103172020-01-03 14:44:01 +0800100 dynamic-power-coefficient = <84>;
michael.kao5323e0f2020-01-03 14:44:02 +0800101 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800102 };
103
104 cpu3: cpu@3 {
105 device_type = "cpu";
106 compatible = "arm,cortex-a53";
107 reg = <0x003>;
108 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +0800109 capacity-dmips-mhz = <741>;
Ikjoon Jang6b552972020-02-25 16:07:53 +0800110 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
michael.kaocc103172020-01-03 14:44:01 +0800111 dynamic-power-coefficient = <84>;
michael.kao5323e0f2020-01-03 14:44:02 +0800112 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800113 };
114
115 cpu4: cpu@100 {
116 device_type = "cpu";
117 compatible = "arm,cortex-a73";
118 reg = <0x100>;
119 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +0800120 capacity-dmips-mhz = <1024>;
Ikjoon Jang6b552972020-02-25 16:07:53 +0800121 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
michael.kaocc103172020-01-03 14:44:01 +0800122 dynamic-power-coefficient = <211>;
michael.kao5323e0f2020-01-03 14:44:02 +0800123 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800124 };
125
126 cpu5: cpu@101 {
127 device_type = "cpu";
128 compatible = "arm,cortex-a73";
129 reg = <0x101>;
130 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +0800131 capacity-dmips-mhz = <1024>;
Ikjoon Jang6b552972020-02-25 16:07:53 +0800132 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
michael.kaocc103172020-01-03 14:44:01 +0800133 dynamic-power-coefficient = <211>;
michael.kao5323e0f2020-01-03 14:44:02 +0800134 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800135 };
136
137 cpu6: cpu@102 {
138 device_type = "cpu";
139 compatible = "arm,cortex-a73";
140 reg = <0x102>;
141 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +0800142 capacity-dmips-mhz = <1024>;
Ikjoon Jang6b552972020-02-25 16:07:53 +0800143 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
michael.kaocc103172020-01-03 14:44:01 +0800144 dynamic-power-coefficient = <211>;
michael.kao5323e0f2020-01-03 14:44:02 +0800145 #cooling-cells = <2>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800146 };
147
148 cpu7: cpu@103 {
149 device_type = "cpu";
150 compatible = "arm,cortex-a73";
151 reg = <0x103>;
152 enable-method = "psci";
Hsin-Yi, Wangcc216df2019-05-27 17:04:43 +0800153 capacity-dmips-mhz = <1024>;
Ikjoon Jang6b552972020-02-25 16:07:53 +0800154 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
michael.kaocc103172020-01-03 14:44:01 +0800155 dynamic-power-coefficient = <211>;
michael.kao5323e0f2020-01-03 14:44:02 +0800156 #cooling-cells = <2>;
James Liao6be021b2020-01-15 13:42:35 +0800157 };
158
159 idle-states {
160 entry-method = "psci";
161
162 CPU_SLEEP: cpu-sleep {
163 compatible = "arm,idle-state";
164 local-timer-stop;
165 arm,psci-suspend-param = <0x00010001>;
166 entry-latency-us = <200>;
167 exit-latency-us = <200>;
168 min-residency-us = <800>;
169 };
170
Ikjoon Jang6b552972020-02-25 16:07:53 +0800171 CLUSTER_SLEEP0: cluster-sleep@0 {
172 compatible = "arm,idle-state";
173 local-timer-stop;
174 arm,psci-suspend-param = <0x01010001>;
175 entry-latency-us = <250>;
176 exit-latency-us = <400>;
177 min-residency-us = <1000>;
178 };
179 CLUSTER_SLEEP1: cluster-sleep@1 {
James Liao6be021b2020-01-15 13:42:35 +0800180 compatible = "arm,idle-state";
181 local-timer-stop;
182 arm,psci-suspend-param = <0x01010001>;
183 entry-latency-us = <250>;
184 exit-latency-us = <400>;
185 min-residency-us = <1300>;
186 };
Ben Hoe526c9b2019-05-27 17:04:42 +0800187 };
188 };
189
190 pmu-a53 {
191 compatible = "arm,cortex-a53-pmu";
192 interrupt-parent = <&gic>;
193 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
194 };
195
196 pmu-a73 {
197 compatible = "arm,cortex-a73-pmu";
198 interrupt-parent = <&gic>;
199 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
200 };
201
202 psci {
203 compatible = "arm,psci-1.0";
204 method = "smc";
205 };
206
207 clk26m: oscillator {
208 compatible = "fixed-clock";
209 #clock-cells = <0>;
210 clock-frequency = <26000000>;
211 clock-output-names = "clk26m";
212 };
213
214 timer {
215 compatible = "arm,armv8-timer";
216 interrupt-parent = <&gic>;
217 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
218 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
219 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
220 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
221 };
222
223 soc {
224 #address-cells = <2>;
225 #size-cells = <2>;
226 compatible = "simple-bus";
227 ranges;
228
Michael Meide103382019-05-27 17:04:47 +0800229 soc_data: soc_data@8000000 {
230 compatible = "mediatek,mt8183-efuse",
231 "mediatek,efuse";
232 reg = <0 0x08000000 0 0x0010>;
233 #address-cells = <1>;
234 #size-cells = <1>;
235 status = "disabled";
236 };
237
Ben Hoe526c9b2019-05-27 17:04:42 +0800238 gic: interrupt-controller@c000000 {
239 compatible = "arm,gic-v3";
240 #interrupt-cells = <4>;
241 interrupt-parent = <&gic>;
242 interrupt-controller;
243 reg = <0 0x0c000000 0 0x40000>, /* GICD */
244 <0 0x0c100000 0 0x200000>, /* GICR */
245 <0 0x0c400000 0 0x2000>, /* GICC */
246 <0 0x0c410000 0 0x1000>, /* GICH */
247 <0 0x0c420000 0 0x2000>; /* GICV */
248
249 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
250 ppi-partitions {
251 ppi_cluster0: interrupt-partition-0 {
252 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
253 };
254 ppi_cluster1: interrupt-partition-1 {
255 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
256 };
257 };
258 };
259
260 mcucfg: syscon@c530000 {
261 compatible = "mediatek,mt8183-mcucfg", "syscon";
262 reg = <0 0x0c530000 0 0x1000>;
263 #clock-cells = <1>;
264 };
265
266 sysirq: interrupt-controller@c530a80 {
267 compatible = "mediatek,mt8183-sysirq",
268 "mediatek,mt6577-sysirq";
269 interrupt-controller;
270 #interrupt-cells = <3>;
271 interrupt-parent = <&gic>;
272 reg = <0 0x0c530a80 0 0x50>;
273 };
274
275 topckgen: syscon@10000000 {
276 compatible = "mediatek,mt8183-topckgen", "syscon";
277 reg = <0 0x10000000 0 0x1000>;
278 #clock-cells = <1>;
279 };
280
281 infracfg: syscon@10001000 {
282 compatible = "mediatek,mt8183-infracfg", "syscon";
283 reg = <0 0x10001000 0 0x1000>;
284 #clock-cells = <1>;
yong.lianga845ad12019-12-26 17:39:30 +0800285 #reset-cells = <1>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800286 };
287
Zhiyong Taoda719a32019-05-27 17:04:44 +0800288 pio: pinctrl@10005000 {
289 compatible = "mediatek,mt8183-pinctrl";
290 reg = <0 0x10005000 0 0x1000>,
291 <0 0x11f20000 0 0x1000>,
292 <0 0x11e80000 0 0x1000>,
293 <0 0x11e70000 0 0x1000>,
294 <0 0x11e90000 0 0x1000>,
295 <0 0x11d30000 0 0x1000>,
296 <0 0x11d20000 0 0x1000>,
297 <0 0x11c50000 0 0x1000>,
298 <0 0x11f30000 0 0x1000>,
299 <0 0x1000b000 0 0x1000>;
300 reg-names = "iocfg0", "iocfg1", "iocfg2",
301 "iocfg3", "iocfg4", "iocfg5",
302 "iocfg6", "iocfg7", "iocfg8",
303 "eint";
304 gpio-controller;
305 #gpio-cells = <2>;
306 gpio-ranges = <&pio 0 0 192>;
307 interrupt-controller;
308 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
309 #interrupt-cells = <2>;
310 };
311
yong.lianga39f8422020-02-17 16:19:22 +0800312 watchdog: watchdog@10007000 {
313 compatible = "mediatek,mt8183-wdt",
314 "mediatek,mt6589-wdt";
315 reg = <0 0x10007000 0 0x100>;
316 #reset-cells = <1>;
317 };
318
Ben Hoe526c9b2019-05-27 17:04:42 +0800319 apmixedsys: syscon@1000c000 {
320 compatible = "mediatek,mt8183-apmixedsys", "syscon";
321 reg = <0 0x1000c000 0 0x1000>;
322 #clock-cells = <1>;
323 };
324
325 pwrap: pwrap@1000d000 {
326 compatible = "mediatek,mt8183-pwrap";
327 reg = <0 0x1000d000 0 0x1000>;
328 reg-names = "pwrap";
Hsin-Hsiung Wangcac33c12019-08-22 16:55:40 +0800329 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
Ben Hoe526c9b2019-05-27 17:04:42 +0800330 clocks = <&topckgen CLK_TOP_MUX_PMICSPI>,
331 <&infracfg CLK_INFRA_PMIC_AP>;
332 clock-names = "spi", "wrap";
333 };
334
Dehui Sun5bc8e282019-10-28 14:09:44 +0800335 systimer: timer@10017000 {
336 compatible = "mediatek,mt8183-timer",
337 "mediatek,mt6765-timer";
338 reg = <0 0x10017000 0 0x1000>;
339 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
340 clocks = <&topckgen CLK_TOP_CLK13M>;
341 clock-names = "clk13m";
342 };
343
Bibby Hsiehd3c306e2019-11-21 09:54:10 +0800344 gce: mailbox@10238000 {
345 compatible = "mediatek,mt8183-gce";
346 reg = <0 0x10238000 0 0x4000>;
347 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
348 #mbox-cells = <3>;
349 clocks = <&infracfg CLK_INFRA_GCE>;
350 clock-names = "gce";
351 };
352
Zhiyong Taoeb59b352019-05-27 17:04:45 +0800353 auxadc: auxadc@11001000 {
354 compatible = "mediatek,mt8183-auxadc",
355 "mediatek,mt8173-auxadc";
356 reg = <0 0x11001000 0 0x1000>;
357 clocks = <&infracfg CLK_INFRA_AUXADC>;
358 clock-names = "main";
359 #io-channel-cells = <1>;
360 status = "disabled";
361 };
362
Ben Hoe526c9b2019-05-27 17:04:42 +0800363 uart0: serial@11002000 {
364 compatible = "mediatek,mt8183-uart",
365 "mediatek,mt6577-uart";
366 reg = <0 0x11002000 0 0x1000>;
367 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
368 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
369 clock-names = "baud", "bus";
370 status = "disabled";
371 };
372
373 uart1: serial@11003000 {
374 compatible = "mediatek,mt8183-uart",
375 "mediatek,mt6577-uart";
376 reg = <0 0x11003000 0 0x1000>;
377 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
378 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
379 clock-names = "baud", "bus";
380 status = "disabled";
381 };
382
383 uart2: serial@11004000 {
384 compatible = "mediatek,mt8183-uart",
385 "mediatek,mt6577-uart";
386 reg = <0 0x11004000 0 0x1000>;
387 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
388 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
389 clock-names = "baud", "bus";
390 status = "disabled";
391 };
392
Qii Wang251137b2019-08-22 20:35:16 +0800393 i2c6: i2c@11005000 {
394 compatible = "mediatek,mt8183-i2c";
395 reg = <0 0x11005000 0 0x1000>,
396 <0 0x11000600 0 0x80>;
397 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
398 clocks = <&infracfg CLK_INFRA_I2C6>,
399 <&infracfg CLK_INFRA_AP_DMA>;
400 clock-names = "main", "dma";
401 clock-div = <1>;
402 #address-cells = <1>;
403 #size-cells = <0>;
404 status = "disabled";
405 };
406
407 i2c0: i2c@11007000 {
408 compatible = "mediatek,mt8183-i2c";
409 reg = <0 0x11007000 0 0x1000>,
410 <0 0x11000080 0 0x80>;
411 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
412 clocks = <&infracfg CLK_INFRA_I2C0>,
413 <&infracfg CLK_INFRA_AP_DMA>;
414 clock-names = "main", "dma";
415 clock-div = <1>;
416 #address-cells = <1>;
417 #size-cells = <0>;
418 status = "disabled";
419 };
420
421 i2c4: i2c@11008000 {
422 compatible = "mediatek,mt8183-i2c";
423 reg = <0 0x11008000 0 0x1000>,
424 <0 0x11000100 0 0x80>;
425 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
426 clocks = <&infracfg CLK_INFRA_I2C1>,
427 <&infracfg CLK_INFRA_AP_DMA>,
428 <&infracfg CLK_INFRA_I2C1_ARBITER>;
429 clock-names = "main", "dma","arb";
430 clock-div = <1>;
431 #address-cells = <1>;
432 #size-cells = <0>;
433 status = "disabled";
434 };
435
436 i2c2: i2c@11009000 {
437 compatible = "mediatek,mt8183-i2c";
438 reg = <0 0x11009000 0 0x1000>,
439 <0 0x11000280 0 0x80>;
440 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
441 clocks = <&infracfg CLK_INFRA_I2C2>,
442 <&infracfg CLK_INFRA_AP_DMA>,
443 <&infracfg CLK_INFRA_I2C2_ARBITER>;
444 clock-names = "main", "dma", "arb";
445 clock-div = <1>;
446 #address-cells = <1>;
447 #size-cells = <0>;
448 status = "disabled";
449 };
450
Erin Lo8e2dd0f2019-05-27 17:04:46 +0800451 spi0: spi@1100a000 {
452 compatible = "mediatek,mt8183-spi";
453 #address-cells = <1>;
454 #size-cells = <0>;
455 reg = <0 0x1100a000 0 0x1000>;
456 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>;
457 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
458 <&topckgen CLK_TOP_MUX_SPI>,
459 <&infracfg CLK_INFRA_SPI0>;
460 clock-names = "parent-clk", "sel-clk", "spi-clk";
461 status = "disabled";
462 };
463
Qii Wang251137b2019-08-22 20:35:16 +0800464 i2c3: i2c@1100f000 {
465 compatible = "mediatek,mt8183-i2c";
466 reg = <0 0x1100f000 0 0x1000>,
467 <0 0x11000400 0 0x80>;
468 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
469 clocks = <&infracfg CLK_INFRA_I2C3>,
470 <&infracfg CLK_INFRA_AP_DMA>;
471 clock-names = "main", "dma";
472 clock-div = <1>;
473 #address-cells = <1>;
474 #size-cells = <0>;
475 status = "disabled";
476 };
477
Erin Lo8e2dd0f2019-05-27 17:04:46 +0800478 spi1: spi@11010000 {
479 compatible = "mediatek,mt8183-spi";
480 #address-cells = <1>;
481 #size-cells = <0>;
482 reg = <0 0x11010000 0 0x1000>;
483 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>;
484 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
485 <&topckgen CLK_TOP_MUX_SPI>,
486 <&infracfg CLK_INFRA_SPI1>;
487 clock-names = "parent-clk", "sel-clk", "spi-clk";
488 status = "disabled";
489 };
490
Qii Wang251137b2019-08-22 20:35:16 +0800491 i2c1: i2c@11011000 {
492 compatible = "mediatek,mt8183-i2c";
493 reg = <0 0x11011000 0 0x1000>,
494 <0 0x11000480 0 0x80>;
495 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
496 clocks = <&infracfg CLK_INFRA_I2C4>,
497 <&infracfg CLK_INFRA_AP_DMA>;
498 clock-names = "main", "dma";
499 clock-div = <1>;
500 #address-cells = <1>;
501 #size-cells = <0>;
502 status = "disabled";
503 };
504
Erin Lo8e2dd0f2019-05-27 17:04:46 +0800505 spi2: spi@11012000 {
506 compatible = "mediatek,mt8183-spi";
507 #address-cells = <1>;
508 #size-cells = <0>;
509 reg = <0 0x11012000 0 0x1000>;
510 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
511 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
512 <&topckgen CLK_TOP_MUX_SPI>,
513 <&infracfg CLK_INFRA_SPI2>;
514 clock-names = "parent-clk", "sel-clk", "spi-clk";
515 status = "disabled";
516 };
517
518 spi3: spi@11013000 {
519 compatible = "mediatek,mt8183-spi";
520 #address-cells = <1>;
521 #size-cells = <0>;
522 reg = <0 0x11013000 0 0x1000>;
523 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>;
524 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
525 <&topckgen CLK_TOP_MUX_SPI>,
526 <&infracfg CLK_INFRA_SPI3>;
527 clock-names = "parent-clk", "sel-clk", "spi-clk";
528 status = "disabled";
529 };
530
Qii Wang251137b2019-08-22 20:35:16 +0800531 i2c9: i2c@11014000 {
532 compatible = "mediatek,mt8183-i2c";
533 reg = <0 0x11014000 0 0x1000>,
534 <0 0x11000180 0 0x80>;
535 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>;
536 clocks = <&infracfg CLK_INFRA_I2C1_IMM>,
537 <&infracfg CLK_INFRA_AP_DMA>,
538 <&infracfg CLK_INFRA_I2C1_ARBITER>;
539 clock-names = "main", "dma", "arb";
540 clock-div = <1>;
541 #address-cells = <1>;
542 #size-cells = <0>;
543 status = "disabled";
544 };
545
546 i2c10: i2c@11015000 {
547 compatible = "mediatek,mt8183-i2c";
548 reg = <0 0x11015000 0 0x1000>,
549 <0 0x11000300 0 0x80>;
550 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
551 clocks = <&infracfg CLK_INFRA_I2C2_IMM>,
552 <&infracfg CLK_INFRA_AP_DMA>,
553 <&infracfg CLK_INFRA_I2C2_ARBITER>;
554 clock-names = "main", "dma", "arb";
555 clock-div = <1>;
556 #address-cells = <1>;
557 #size-cells = <0>;
558 status = "disabled";
559 };
560
561 i2c5: i2c@11016000 {
562 compatible = "mediatek,mt8183-i2c";
563 reg = <0 0x11016000 0 0x1000>,
564 <0 0x11000500 0 0x80>;
565 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
566 clocks = <&infracfg CLK_INFRA_I2C5>,
567 <&infracfg CLK_INFRA_AP_DMA>,
568 <&infracfg CLK_INFRA_I2C5_ARBITER>;
569 clock-names = "main", "dma", "arb";
570 clock-div = <1>;
571 #address-cells = <1>;
572 #size-cells = <0>;
573 status = "disabled";
574 };
575
576 i2c11: i2c@11017000 {
577 compatible = "mediatek,mt8183-i2c";
578 reg = <0 0x11017000 0 0x1000>,
579 <0 0x11000580 0 0x80>;
580 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>;
581 clocks = <&infracfg CLK_INFRA_I2C5_IMM>,
582 <&infracfg CLK_INFRA_AP_DMA>,
583 <&infracfg CLK_INFRA_I2C5_ARBITER>;
584 clock-names = "main", "dma", "arb";
585 clock-div = <1>;
586 #address-cells = <1>;
587 #size-cells = <0>;
588 status = "disabled";
589 };
590
Erin Lo8e2dd0f2019-05-27 17:04:46 +0800591 spi4: spi@11018000 {
592 compatible = "mediatek,mt8183-spi";
593 #address-cells = <1>;
594 #size-cells = <0>;
595 reg = <0 0x11018000 0 0x1000>;
596 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>;
597 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
598 <&topckgen CLK_TOP_MUX_SPI>,
599 <&infracfg CLK_INFRA_SPI4>;
600 clock-names = "parent-clk", "sel-clk", "spi-clk";
601 status = "disabled";
602 };
603
604 spi5: spi@11019000 {
605 compatible = "mediatek,mt8183-spi";
606 #address-cells = <1>;
607 #size-cells = <0>;
608 reg = <0 0x11019000 0 0x1000>;
609 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
610 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
611 <&topckgen CLK_TOP_MUX_SPI>,
612 <&infracfg CLK_INFRA_SPI5>;
613 clock-names = "parent-clk", "sel-clk", "spi-clk";
614 status = "disabled";
615 };
616
Qii Wang251137b2019-08-22 20:35:16 +0800617 i2c7: i2c@1101a000 {
618 compatible = "mediatek,mt8183-i2c";
619 reg = <0 0x1101a000 0 0x1000>,
620 <0 0x11000680 0 0x80>;
621 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
622 clocks = <&infracfg CLK_INFRA_I2C7>,
623 <&infracfg CLK_INFRA_AP_DMA>;
624 clock-names = "main", "dma";
625 clock-div = <1>;
626 #address-cells = <1>;
627 #size-cells = <0>;
628 status = "disabled";
629 };
630
631 i2c8: i2c@1101b000 {
632 compatible = "mediatek,mt8183-i2c";
633 reg = <0 0x1101b000 0 0x1000>,
634 <0 0x11000700 0 0x80>;
635 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
636 clocks = <&infracfg CLK_INFRA_I2C8>,
637 <&infracfg CLK_INFRA_AP_DMA>;
638 clock-names = "main", "dma";
639 clock-div = <1>;
640 #address-cells = <1>;
641 #size-cells = <0>;
642 status = "disabled";
643 };
644
Ben Hoe526c9b2019-05-27 17:04:42 +0800645 audiosys: syscon@11220000 {
646 compatible = "mediatek,mt8183-audiosys", "syscon";
647 reg = <0 0x11220000 0 0x1000>;
648 #clock-cells = <1>;
649 };
650
jjian zhou5e6cdf02019-04-10 17:25:41 +0800651 mmc0: mmc@11230000 {
652 compatible = "mediatek,mt8183-mmc";
653 reg = <0 0x11230000 0 0x1000>,
654 <0 0x11f50000 0 0x1000>;
655 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
656 clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>,
657 <&infracfg CLK_INFRA_MSDC0>,
658 <&infracfg CLK_INFRA_MSDC0_SCK>;
659 clock-names = "source", "hclk", "source_cg";
660 status = "disabled";
661 };
662
663 mmc1: mmc@11240000 {
664 compatible = "mediatek,mt8183-mmc";
665 reg = <0 0x11240000 0 0x1000>,
666 <0 0x11e10000 0 0x1000>;
667 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
668 clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>,
669 <&infracfg CLK_INFRA_MSDC1>,
670 <&infracfg CLK_INFRA_MSDC1_SCK>;
671 clock-names = "source", "hclk", "source_cg";
672 status = "disabled";
673 };
674
Michael Meide103382019-05-27 17:04:47 +0800675 efuse: efuse@11f10000 {
676 compatible = "mediatek,mt8183-efuse",
677 "mediatek,efuse";
678 reg = <0 0x11f10000 0 0x1000>;
679 };
680
Ben Hoe526c9b2019-05-27 17:04:42 +0800681 mfgcfg: syscon@13000000 {
682 compatible = "mediatek,mt8183-mfgcfg", "syscon";
683 reg = <0 0x13000000 0 0x1000>;
684 #clock-cells = <1>;
685 };
686
687 mmsys: syscon@14000000 {
688 compatible = "mediatek,mt8183-mmsys", "syscon";
689 reg = <0 0x14000000 0 0x1000>;
690 #clock-cells = <1>;
691 };
692
693 imgsys: syscon@15020000 {
694 compatible = "mediatek,mt8183-imgsys", "syscon";
695 reg = <0 0x15020000 0 0x1000>;
696 #clock-cells = <1>;
697 };
698
699 vdecsys: syscon@16000000 {
700 compatible = "mediatek,mt8183-vdecsys", "syscon";
701 reg = <0 0x16000000 0 0x1000>;
702 #clock-cells = <1>;
703 };
704
705 vencsys: syscon@17000000 {
706 compatible = "mediatek,mt8183-vencsys", "syscon";
707 reg = <0 0x17000000 0 0x1000>;
708 #clock-cells = <1>;
709 };
710
711 ipu_conn: syscon@19000000 {
712 compatible = "mediatek,mt8183-ipu_conn", "syscon";
713 reg = <0 0x19000000 0 0x1000>;
714 #clock-cells = <1>;
715 };
716
717 ipu_adl: syscon@19010000 {
718 compatible = "mediatek,mt8183-ipu_adl", "syscon";
719 reg = <0 0x19010000 0 0x1000>;
720 #clock-cells = <1>;
721 };
722
723 ipu_core0: syscon@19180000 {
724 compatible = "mediatek,mt8183-ipu_core0", "syscon";
725 reg = <0 0x19180000 0 0x1000>;
726 #clock-cells = <1>;
727 };
728
729 ipu_core1: syscon@19280000 {
730 compatible = "mediatek,mt8183-ipu_core1", "syscon";
731 reg = <0 0x19280000 0 0x1000>;
732 #clock-cells = <1>;
733 };
734
735 camsys: syscon@1a000000 {
736 compatible = "mediatek,mt8183-camsys", "syscon";
737 reg = <0 0x1a000000 0 0x1000>;
738 #clock-cells = <1>;
739 };
740 };
741};