1// 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> 11#include <dt-bindings/reset-controller/mt8183-resets.h> 12#include "mt8183-pinfunc.h" 13 14/ { 15 compatible = "mediatek,mt8183"; 16 interrupt-parent = <&sysirq>; 17 #address-cells = <2>; 18 #size-cells = <2>; 19 20 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 35 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"; 76 capacity-dmips-mhz = <741>; 77 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 78 dynamic-power-coefficient = <84>; 79 #cooling-cells = <2>; 80 }; 81 82 cpu1: cpu@1 { 83 device_type = "cpu"; 84 compatible = "arm,cortex-a53"; 85 reg = <0x001>; 86 enable-method = "psci"; 87 capacity-dmips-mhz = <741>; 88 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 89 dynamic-power-coefficient = <84>; 90 #cooling-cells = <2>; 91 }; 92 93 cpu2: cpu@2 { 94 device_type = "cpu"; 95 compatible = "arm,cortex-a53"; 96 reg = <0x002>; 97 enable-method = "psci"; 98 capacity-dmips-mhz = <741>; 99 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 100 dynamic-power-coefficient = <84>; 101 #cooling-cells = <2>; 102 }; 103 104 cpu3: cpu@3 { 105 device_type = "cpu"; 106 compatible = "arm,cortex-a53"; 107 reg = <0x003>; 108 enable-method = "psci"; 109 capacity-dmips-mhz = <741>; 110 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 111 dynamic-power-coefficient = <84>; 112 #cooling-cells = <2>; 113 }; 114 115 cpu4: cpu@100 { 116 device_type = "cpu"; 117 compatible = "arm,cortex-a73"; 118 reg = <0x100>; 119 enable-method = "psci"; 120 capacity-dmips-mhz = <1024>; 121 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 122 dynamic-power-coefficient = <211>; 123 #cooling-cells = <2>; 124 }; 125 126 cpu5: cpu@101 { 127 device_type = "cpu"; 128 compatible = "arm,cortex-a73"; 129 reg = <0x101>; 130 enable-method = "psci"; 131 capacity-dmips-mhz = <1024>; 132 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 133 dynamic-power-coefficient = <211>; 134 #cooling-cells = <2>; 135 }; 136 137 cpu6: cpu@102 { 138 device_type = "cpu"; 139 compatible = "arm,cortex-a73"; 140 reg = <0x102>; 141 enable-method = "psci"; 142 capacity-dmips-mhz = <1024>; 143 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 144 dynamic-power-coefficient = <211>; 145 #cooling-cells = <2>; 146 }; 147 148 cpu7: cpu@103 { 149 device_type = "cpu"; 150 compatible = "arm,cortex-a73"; 151 reg = <0x103>; 152 enable-method = "psci"; 153 capacity-dmips-mhz = <1024>; 154 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 155 dynamic-power-coefficient = <211>; 156 #cooling-cells = <2>; 157 }; 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 171 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 { 180 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 }; 187 }; 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 229 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 238 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>; 285 #reset-cells = <1>; 286 }; 287 288 pericfg: syscon@10003000 { 289 compatible = "mediatek,mt8183-pericfg", "syscon"; 290 reg = <0 0x10003000 0 0x1000>; 291 #clock-cells = <1>; 292 }; 293 294 pio: pinctrl@10005000 { 295 compatible = "mediatek,mt8183-pinctrl"; 296 reg = <0 0x10005000 0 0x1000>, 297 <0 0x11f20000 0 0x1000>, 298 <0 0x11e80000 0 0x1000>, 299 <0 0x11e70000 0 0x1000>, 300 <0 0x11e90000 0 0x1000>, 301 <0 0x11d30000 0 0x1000>, 302 <0 0x11d20000 0 0x1000>, 303 <0 0x11c50000 0 0x1000>, 304 <0 0x11f30000 0 0x1000>, 305 <0 0x1000b000 0 0x1000>; 306 reg-names = "iocfg0", "iocfg1", "iocfg2", 307 "iocfg3", "iocfg4", "iocfg5", 308 "iocfg6", "iocfg7", "iocfg8", 309 "eint"; 310 gpio-controller; 311 #gpio-cells = <2>; 312 gpio-ranges = <&pio 0 0 192>; 313 interrupt-controller; 314 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 315 #interrupt-cells = <2>; 316 }; 317 318 watchdog: watchdog@10007000 { 319 compatible = "mediatek,mt8183-wdt", 320 "mediatek,mt6589-wdt"; 321 reg = <0 0x10007000 0 0x100>; 322 #reset-cells = <1>; 323 }; 324 325 apmixedsys: syscon@1000c000 { 326 compatible = "mediatek,mt8183-apmixedsys", "syscon"; 327 reg = <0 0x1000c000 0 0x1000>; 328 #clock-cells = <1>; 329 }; 330 331 pwrap: pwrap@1000d000 { 332 compatible = "mediatek,mt8183-pwrap"; 333 reg = <0 0x1000d000 0 0x1000>; 334 reg-names = "pwrap"; 335 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; 336 clocks = <&topckgen CLK_TOP_MUX_PMICSPI>, 337 <&infracfg CLK_INFRA_PMIC_AP>; 338 clock-names = "spi", "wrap"; 339 }; 340 341 systimer: timer@10017000 { 342 compatible = "mediatek,mt8183-timer", 343 "mediatek,mt6765-timer"; 344 reg = <0 0x10017000 0 0x1000>; 345 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 346 clocks = <&topckgen CLK_TOP_CLK13M>; 347 clock-names = "clk13m"; 348 }; 349 350 gce: mailbox@10238000 { 351 compatible = "mediatek,mt8183-gce"; 352 reg = <0 0x10238000 0 0x4000>; 353 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>; 354 #mbox-cells = <3>; 355 clocks = <&infracfg CLK_INFRA_GCE>; 356 clock-names = "gce"; 357 }; 358 359 auxadc: auxadc@11001000 { 360 compatible = "mediatek,mt8183-auxadc", 361 "mediatek,mt8173-auxadc"; 362 reg = <0 0x11001000 0 0x1000>; 363 clocks = <&infracfg CLK_INFRA_AUXADC>; 364 clock-names = "main"; 365 #io-channel-cells = <1>; 366 status = "disabled"; 367 }; 368 369 uart0: serial@11002000 { 370 compatible = "mediatek,mt8183-uart", 371 "mediatek,mt6577-uart"; 372 reg = <0 0x11002000 0 0x1000>; 373 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 374 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>; 375 clock-names = "baud", "bus"; 376 status = "disabled"; 377 }; 378 379 uart1: serial@11003000 { 380 compatible = "mediatek,mt8183-uart", 381 "mediatek,mt6577-uart"; 382 reg = <0 0x11003000 0 0x1000>; 383 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 384 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>; 385 clock-names = "baud", "bus"; 386 status = "disabled"; 387 }; 388 389 uart2: serial@11004000 { 390 compatible = "mediatek,mt8183-uart", 391 "mediatek,mt6577-uart"; 392 reg = <0 0x11004000 0 0x1000>; 393 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 394 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>; 395 clock-names = "baud", "bus"; 396 status = "disabled"; 397 }; 398 399 i2c6: i2c@11005000 { 400 compatible = "mediatek,mt8183-i2c"; 401 reg = <0 0x11005000 0 0x1000>, 402 <0 0x11000600 0 0x80>; 403 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>; 404 clocks = <&infracfg CLK_INFRA_I2C6>, 405 <&infracfg CLK_INFRA_AP_DMA>; 406 clock-names = "main", "dma"; 407 clock-div = <1>; 408 #address-cells = <1>; 409 #size-cells = <0>; 410 status = "disabled"; 411 }; 412 413 i2c0: i2c@11007000 { 414 compatible = "mediatek,mt8183-i2c"; 415 reg = <0 0x11007000 0 0x1000>, 416 <0 0x11000080 0 0x80>; 417 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 418 clocks = <&infracfg CLK_INFRA_I2C0>, 419 <&infracfg CLK_INFRA_AP_DMA>; 420 clock-names = "main", "dma"; 421 clock-div = <1>; 422 #address-cells = <1>; 423 #size-cells = <0>; 424 status = "disabled"; 425 }; 426 427 i2c4: i2c@11008000 { 428 compatible = "mediatek,mt8183-i2c"; 429 reg = <0 0x11008000 0 0x1000>, 430 <0 0x11000100 0 0x80>; 431 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 432 clocks = <&infracfg CLK_INFRA_I2C1>, 433 <&infracfg CLK_INFRA_AP_DMA>, 434 <&infracfg CLK_INFRA_I2C1_ARBITER>; 435 clock-names = "main", "dma","arb"; 436 clock-div = <1>; 437 #address-cells = <1>; 438 #size-cells = <0>; 439 status = "disabled"; 440 }; 441 442 i2c2: i2c@11009000 { 443 compatible = "mediatek,mt8183-i2c"; 444 reg = <0 0x11009000 0 0x1000>, 445 <0 0x11000280 0 0x80>; 446 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>; 447 clocks = <&infracfg CLK_INFRA_I2C2>, 448 <&infracfg CLK_INFRA_AP_DMA>, 449 <&infracfg CLK_INFRA_I2C2_ARBITER>; 450 clock-names = "main", "dma", "arb"; 451 clock-div = <1>; 452 #address-cells = <1>; 453 #size-cells = <0>; 454 status = "disabled"; 455 }; 456 457 spi0: spi@1100a000 { 458 compatible = "mediatek,mt8183-spi"; 459 #address-cells = <1>; 460 #size-cells = <0>; 461 reg = <0 0x1100a000 0 0x1000>; 462 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>; 463 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 464 <&topckgen CLK_TOP_MUX_SPI>, 465 <&infracfg CLK_INFRA_SPI0>; 466 clock-names = "parent-clk", "sel-clk", "spi-clk"; 467 status = "disabled"; 468 }; 469 470 i2c3: i2c@1100f000 { 471 compatible = "mediatek,mt8183-i2c"; 472 reg = <0 0x1100f000 0 0x1000>, 473 <0 0x11000400 0 0x80>; 474 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 475 clocks = <&infracfg CLK_INFRA_I2C3>, 476 <&infracfg CLK_INFRA_AP_DMA>; 477 clock-names = "main", "dma"; 478 clock-div = <1>; 479 #address-cells = <1>; 480 #size-cells = <0>; 481 status = "disabled"; 482 }; 483 484 spi1: spi@11010000 { 485 compatible = "mediatek,mt8183-spi"; 486 #address-cells = <1>; 487 #size-cells = <0>; 488 reg = <0 0x11010000 0 0x1000>; 489 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>; 490 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 491 <&topckgen CLK_TOP_MUX_SPI>, 492 <&infracfg CLK_INFRA_SPI1>; 493 clock-names = "parent-clk", "sel-clk", "spi-clk"; 494 status = "disabled"; 495 }; 496 497 i2c1: i2c@11011000 { 498 compatible = "mediatek,mt8183-i2c"; 499 reg = <0 0x11011000 0 0x1000>, 500 <0 0x11000480 0 0x80>; 501 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 502 clocks = <&infracfg CLK_INFRA_I2C4>, 503 <&infracfg CLK_INFRA_AP_DMA>; 504 clock-names = "main", "dma"; 505 clock-div = <1>; 506 #address-cells = <1>; 507 #size-cells = <0>; 508 status = "disabled"; 509 }; 510 511 spi2: spi@11012000 { 512 compatible = "mediatek,mt8183-spi"; 513 #address-cells = <1>; 514 #size-cells = <0>; 515 reg = <0 0x11012000 0 0x1000>; 516 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>; 517 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 518 <&topckgen CLK_TOP_MUX_SPI>, 519 <&infracfg CLK_INFRA_SPI2>; 520 clock-names = "parent-clk", "sel-clk", "spi-clk"; 521 status = "disabled"; 522 }; 523 524 spi3: spi@11013000 { 525 compatible = "mediatek,mt8183-spi"; 526 #address-cells = <1>; 527 #size-cells = <0>; 528 reg = <0 0x11013000 0 0x1000>; 529 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>; 530 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 531 <&topckgen CLK_TOP_MUX_SPI>, 532 <&infracfg CLK_INFRA_SPI3>; 533 clock-names = "parent-clk", "sel-clk", "spi-clk"; 534 status = "disabled"; 535 }; 536 537 i2c9: i2c@11014000 { 538 compatible = "mediatek,mt8183-i2c"; 539 reg = <0 0x11014000 0 0x1000>, 540 <0 0x11000180 0 0x80>; 541 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>; 542 clocks = <&infracfg CLK_INFRA_I2C1_IMM>, 543 <&infracfg CLK_INFRA_AP_DMA>, 544 <&infracfg CLK_INFRA_I2C1_ARBITER>; 545 clock-names = "main", "dma", "arb"; 546 clock-div = <1>; 547 #address-cells = <1>; 548 #size-cells = <0>; 549 status = "disabled"; 550 }; 551 552 i2c10: i2c@11015000 { 553 compatible = "mediatek,mt8183-i2c"; 554 reg = <0 0x11015000 0 0x1000>, 555 <0 0x11000300 0 0x80>; 556 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 557 clocks = <&infracfg CLK_INFRA_I2C2_IMM>, 558 <&infracfg CLK_INFRA_AP_DMA>, 559 <&infracfg CLK_INFRA_I2C2_ARBITER>; 560 clock-names = "main", "dma", "arb"; 561 clock-div = <1>; 562 #address-cells = <1>; 563 #size-cells = <0>; 564 status = "disabled"; 565 }; 566 567 i2c5: i2c@11016000 { 568 compatible = "mediatek,mt8183-i2c"; 569 reg = <0 0x11016000 0 0x1000>, 570 <0 0x11000500 0 0x80>; 571 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>; 572 clocks = <&infracfg CLK_INFRA_I2C5>, 573 <&infracfg CLK_INFRA_AP_DMA>, 574 <&infracfg CLK_INFRA_I2C5_ARBITER>; 575 clock-names = "main", "dma", "arb"; 576 clock-div = <1>; 577 #address-cells = <1>; 578 #size-cells = <0>; 579 status = "disabled"; 580 }; 581 582 i2c11: i2c@11017000 { 583 compatible = "mediatek,mt8183-i2c"; 584 reg = <0 0x11017000 0 0x1000>, 585 <0 0x11000580 0 0x80>; 586 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>; 587 clocks = <&infracfg CLK_INFRA_I2C5_IMM>, 588 <&infracfg CLK_INFRA_AP_DMA>, 589 <&infracfg CLK_INFRA_I2C5_ARBITER>; 590 clock-names = "main", "dma", "arb"; 591 clock-div = <1>; 592 #address-cells = <1>; 593 #size-cells = <0>; 594 status = "disabled"; 595 }; 596 597 spi4: spi@11018000 { 598 compatible = "mediatek,mt8183-spi"; 599 #address-cells = <1>; 600 #size-cells = <0>; 601 reg = <0 0x11018000 0 0x1000>; 602 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>; 603 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 604 <&topckgen CLK_TOP_MUX_SPI>, 605 <&infracfg CLK_INFRA_SPI4>; 606 clock-names = "parent-clk", "sel-clk", "spi-clk"; 607 status = "disabled"; 608 }; 609 610 spi5: spi@11019000 { 611 compatible = "mediatek,mt8183-spi"; 612 #address-cells = <1>; 613 #size-cells = <0>; 614 reg = <0 0x11019000 0 0x1000>; 615 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; 616 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 617 <&topckgen CLK_TOP_MUX_SPI>, 618 <&infracfg CLK_INFRA_SPI5>; 619 clock-names = "parent-clk", "sel-clk", "spi-clk"; 620 status = "disabled"; 621 }; 622 623 i2c7: i2c@1101a000 { 624 compatible = "mediatek,mt8183-i2c"; 625 reg = <0 0x1101a000 0 0x1000>, 626 <0 0x11000680 0 0x80>; 627 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>; 628 clocks = <&infracfg CLK_INFRA_I2C7>, 629 <&infracfg CLK_INFRA_AP_DMA>; 630 clock-names = "main", "dma"; 631 clock-div = <1>; 632 #address-cells = <1>; 633 #size-cells = <0>; 634 status = "disabled"; 635 }; 636 637 i2c8: i2c@1101b000 { 638 compatible = "mediatek,mt8183-i2c"; 639 reg = <0 0x1101b000 0 0x1000>, 640 <0 0x11000700 0 0x80>; 641 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>; 642 clocks = <&infracfg CLK_INFRA_I2C8>, 643 <&infracfg CLK_INFRA_AP_DMA>; 644 clock-names = "main", "dma"; 645 clock-div = <1>; 646 #address-cells = <1>; 647 #size-cells = <0>; 648 status = "disabled"; 649 }; 650 651 audiosys: syscon@11220000 { 652 compatible = "mediatek,mt8183-audiosys", "syscon"; 653 reg = <0 0x11220000 0 0x1000>; 654 #clock-cells = <1>; 655 }; 656 657 mmc0: mmc@11230000 { 658 compatible = "mediatek,mt8183-mmc"; 659 reg = <0 0x11230000 0 0x1000>, 660 <0 0x11f50000 0 0x1000>; 661 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; 662 clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>, 663 <&infracfg CLK_INFRA_MSDC0>, 664 <&infracfg CLK_INFRA_MSDC0_SCK>; 665 clock-names = "source", "hclk", "source_cg"; 666 status = "disabled"; 667 }; 668 669 mmc1: mmc@11240000 { 670 compatible = "mediatek,mt8183-mmc"; 671 reg = <0 0x11240000 0 0x1000>, 672 <0 0x11e10000 0 0x1000>; 673 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 674 clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>, 675 <&infracfg CLK_INFRA_MSDC1>, 676 <&infracfg CLK_INFRA_MSDC1_SCK>; 677 clock-names = "source", "hclk", "source_cg"; 678 status = "disabled"; 679 }; 680 681 efuse: efuse@11f10000 { 682 compatible = "mediatek,mt8183-efuse", 683 "mediatek,efuse"; 684 reg = <0 0x11f10000 0 0x1000>; 685 }; 686 687 mfgcfg: syscon@13000000 { 688 compatible = "mediatek,mt8183-mfgcfg", "syscon"; 689 reg = <0 0x13000000 0 0x1000>; 690 #clock-cells = <1>; 691 }; 692 693 mmsys: syscon@14000000 { 694 compatible = "mediatek,mt8183-mmsys", "syscon"; 695 reg = <0 0x14000000 0 0x1000>; 696 #clock-cells = <1>; 697 }; 698 699 imgsys: syscon@15020000 { 700 compatible = "mediatek,mt8183-imgsys", "syscon"; 701 reg = <0 0x15020000 0 0x1000>; 702 #clock-cells = <1>; 703 }; 704 705 vdecsys: syscon@16000000 { 706 compatible = "mediatek,mt8183-vdecsys", "syscon"; 707 reg = <0 0x16000000 0 0x1000>; 708 #clock-cells = <1>; 709 }; 710 711 vencsys: syscon@17000000 { 712 compatible = "mediatek,mt8183-vencsys", "syscon"; 713 reg = <0 0x17000000 0 0x1000>; 714 #clock-cells = <1>; 715 }; 716 717 ipu_conn: syscon@19000000 { 718 compatible = "mediatek,mt8183-ipu_conn", "syscon"; 719 reg = <0 0x19000000 0 0x1000>; 720 #clock-cells = <1>; 721 }; 722 723 ipu_adl: syscon@19010000 { 724 compatible = "mediatek,mt8183-ipu_adl", "syscon"; 725 reg = <0 0x19010000 0 0x1000>; 726 #clock-cells = <1>; 727 }; 728 729 ipu_core0: syscon@19180000 { 730 compatible = "mediatek,mt8183-ipu_core0", "syscon"; 731 reg = <0 0x19180000 0 0x1000>; 732 #clock-cells = <1>; 733 }; 734 735 ipu_core1: syscon@19280000 { 736 compatible = "mediatek,mt8183-ipu_core1", "syscon"; 737 reg = <0 0x19280000 0 0x1000>; 738 #clock-cells = <1>; 739 }; 740 741 camsys: syscon@1a000000 { 742 compatible = "mediatek,mt8183-camsys", "syscon"; 743 reg = <0 0x1a000000 0 0x1000>; 744 #clock-cells = <1>; 745 }; 746 }; 747}; 748