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/gce/mt8183-gce.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/memory/mt8183-larb-port.h> 13#include <dt-bindings/power/mt8183-power.h> 14#include <dt-bindings/reset-controller/mt8183-resets.h> 15#include <dt-bindings/phy/phy.h> 16#include "mt8183-pinfunc.h" 17 18/ { 19 compatible = "mediatek,mt8183"; 20 interrupt-parent = <&sysirq>; 21 #address-cells = <2>; 22 #size-cells = <2>; 23 24 aliases { 25 i2c0 = &i2c0; 26 i2c1 = &i2c1; 27 i2c2 = &i2c2; 28 i2c3 = &i2c3; 29 i2c4 = &i2c4; 30 i2c5 = &i2c5; 31 i2c6 = &i2c6; 32 i2c7 = &i2c7; 33 i2c8 = &i2c8; 34 i2c9 = &i2c9; 35 i2c10 = &i2c10; 36 i2c11 = &i2c11; 37 ovl0 = &ovl0; 38 ovl-2l0 = &ovl_2l0; 39 ovl-2l1 = &ovl_2l1; 40 rdma0 = &rdma0; 41 rdma1 = &rdma1; 42 }; 43 44 cpus { 45 #address-cells = <1>; 46 #size-cells = <0>; 47 48 cpu-map { 49 cluster0 { 50 core0 { 51 cpu = <&cpu0>; 52 }; 53 core1 { 54 cpu = <&cpu1>; 55 }; 56 core2 { 57 cpu = <&cpu2>; 58 }; 59 core3 { 60 cpu = <&cpu3>; 61 }; 62 }; 63 64 cluster1 { 65 core0 { 66 cpu = <&cpu4>; 67 }; 68 core1 { 69 cpu = <&cpu5>; 70 }; 71 core2 { 72 cpu = <&cpu6>; 73 }; 74 core3 { 75 cpu = <&cpu7>; 76 }; 77 }; 78 }; 79 80 cpu0: cpu@0 { 81 device_type = "cpu"; 82 compatible = "arm,cortex-a53"; 83 reg = <0x000>; 84 enable-method = "psci"; 85 capacity-dmips-mhz = <741>; 86 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 87 dynamic-power-coefficient = <84>; 88 #cooling-cells = <2>; 89 }; 90 91 cpu1: cpu@1 { 92 device_type = "cpu"; 93 compatible = "arm,cortex-a53"; 94 reg = <0x001>; 95 enable-method = "psci"; 96 capacity-dmips-mhz = <741>; 97 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 98 dynamic-power-coefficient = <84>; 99 #cooling-cells = <2>; 100 }; 101 102 cpu2: cpu@2 { 103 device_type = "cpu"; 104 compatible = "arm,cortex-a53"; 105 reg = <0x002>; 106 enable-method = "psci"; 107 capacity-dmips-mhz = <741>; 108 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 109 dynamic-power-coefficient = <84>; 110 #cooling-cells = <2>; 111 }; 112 113 cpu3: cpu@3 { 114 device_type = "cpu"; 115 compatible = "arm,cortex-a53"; 116 reg = <0x003>; 117 enable-method = "psci"; 118 capacity-dmips-mhz = <741>; 119 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>; 120 dynamic-power-coefficient = <84>; 121 #cooling-cells = <2>; 122 }; 123 124 cpu4: cpu@100 { 125 device_type = "cpu"; 126 compatible = "arm,cortex-a73"; 127 reg = <0x100>; 128 enable-method = "psci"; 129 capacity-dmips-mhz = <1024>; 130 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 131 dynamic-power-coefficient = <211>; 132 #cooling-cells = <2>; 133 }; 134 135 cpu5: cpu@101 { 136 device_type = "cpu"; 137 compatible = "arm,cortex-a73"; 138 reg = <0x101>; 139 enable-method = "psci"; 140 capacity-dmips-mhz = <1024>; 141 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 142 dynamic-power-coefficient = <211>; 143 #cooling-cells = <2>; 144 }; 145 146 cpu6: cpu@102 { 147 device_type = "cpu"; 148 compatible = "arm,cortex-a73"; 149 reg = <0x102>; 150 enable-method = "psci"; 151 capacity-dmips-mhz = <1024>; 152 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 153 dynamic-power-coefficient = <211>; 154 #cooling-cells = <2>; 155 }; 156 157 cpu7: cpu@103 { 158 device_type = "cpu"; 159 compatible = "arm,cortex-a73"; 160 reg = <0x103>; 161 enable-method = "psci"; 162 capacity-dmips-mhz = <1024>; 163 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>; 164 dynamic-power-coefficient = <211>; 165 #cooling-cells = <2>; 166 }; 167 168 idle-states { 169 entry-method = "psci"; 170 171 CPU_SLEEP: cpu-sleep { 172 compatible = "arm,idle-state"; 173 local-timer-stop; 174 arm,psci-suspend-param = <0x00010001>; 175 entry-latency-us = <200>; 176 exit-latency-us = <200>; 177 min-residency-us = <800>; 178 }; 179 180 CLUSTER_SLEEP0: cluster-sleep-0 { 181 compatible = "arm,idle-state"; 182 local-timer-stop; 183 arm,psci-suspend-param = <0x01010001>; 184 entry-latency-us = <250>; 185 exit-latency-us = <400>; 186 min-residency-us = <1000>; 187 }; 188 CLUSTER_SLEEP1: cluster-sleep-1 { 189 compatible = "arm,idle-state"; 190 local-timer-stop; 191 arm,psci-suspend-param = <0x01010001>; 192 entry-latency-us = <250>; 193 exit-latency-us = <400>; 194 min-residency-us = <1300>; 195 }; 196 }; 197 }; 198 199 pmu-a53 { 200 compatible = "arm,cortex-a53-pmu"; 201 interrupt-parent = <&gic>; 202 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>; 203 }; 204 205 pmu-a73 { 206 compatible = "arm,cortex-a73-pmu"; 207 interrupt-parent = <&gic>; 208 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>; 209 }; 210 211 psci { 212 compatible = "arm,psci-1.0"; 213 method = "smc"; 214 }; 215 216 clk26m: oscillator { 217 compatible = "fixed-clock"; 218 #clock-cells = <0>; 219 clock-frequency = <26000000>; 220 clock-output-names = "clk26m"; 221 }; 222 223 timer { 224 compatible = "arm,armv8-timer"; 225 interrupt-parent = <&gic>; 226 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 227 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 228 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 229 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; 230 }; 231 232 soc { 233 #address-cells = <2>; 234 #size-cells = <2>; 235 compatible = "simple-bus"; 236 ranges; 237 238 soc_data: soc_data@8000000 { 239 compatible = "mediatek,mt8183-efuse", 240 "mediatek,efuse"; 241 reg = <0 0x08000000 0 0x0010>; 242 #address-cells = <1>; 243 #size-cells = <1>; 244 status = "disabled"; 245 }; 246 247 gic: interrupt-controller@c000000 { 248 compatible = "arm,gic-v3"; 249 #interrupt-cells = <4>; 250 interrupt-parent = <&gic>; 251 interrupt-controller; 252 reg = <0 0x0c000000 0 0x40000>, /* GICD */ 253 <0 0x0c100000 0 0x200000>, /* GICR */ 254 <0 0x0c400000 0 0x2000>, /* GICC */ 255 <0 0x0c410000 0 0x1000>, /* GICH */ 256 <0 0x0c420000 0 0x2000>; /* GICV */ 257 258 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 259 ppi-partitions { 260 ppi_cluster0: interrupt-partition-0 { 261 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 262 }; 263 ppi_cluster1: interrupt-partition-1 { 264 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>; 265 }; 266 }; 267 }; 268 269 mcucfg: syscon@c530000 { 270 compatible = "mediatek,mt8183-mcucfg", "syscon"; 271 reg = <0 0x0c530000 0 0x1000>; 272 #clock-cells = <1>; 273 }; 274 275 sysirq: interrupt-controller@c530a80 { 276 compatible = "mediatek,mt8183-sysirq", 277 "mediatek,mt6577-sysirq"; 278 interrupt-controller; 279 #interrupt-cells = <3>; 280 interrupt-parent = <&gic>; 281 reg = <0 0x0c530a80 0 0x50>; 282 }; 283 284 topckgen: syscon@10000000 { 285 compatible = "mediatek,mt8183-topckgen", "syscon"; 286 reg = <0 0x10000000 0 0x1000>; 287 #clock-cells = <1>; 288 }; 289 290 infracfg: syscon@10001000 { 291 compatible = "mediatek,mt8183-infracfg", "syscon"; 292 reg = <0 0x10001000 0 0x1000>; 293 #clock-cells = <1>; 294 #reset-cells = <1>; 295 }; 296 297 pericfg: syscon@10003000 { 298 compatible = "mediatek,mt8183-pericfg", "syscon"; 299 reg = <0 0x10003000 0 0x1000>; 300 #clock-cells = <1>; 301 }; 302 303 pio: pinctrl@10005000 { 304 compatible = "mediatek,mt8183-pinctrl"; 305 reg = <0 0x10005000 0 0x1000>, 306 <0 0x11f20000 0 0x1000>, 307 <0 0x11e80000 0 0x1000>, 308 <0 0x11e70000 0 0x1000>, 309 <0 0x11e90000 0 0x1000>, 310 <0 0x11d30000 0 0x1000>, 311 <0 0x11d20000 0 0x1000>, 312 <0 0x11c50000 0 0x1000>, 313 <0 0x11f30000 0 0x1000>, 314 <0 0x1000b000 0 0x1000>; 315 reg-names = "iocfg0", "iocfg1", "iocfg2", 316 "iocfg3", "iocfg4", "iocfg5", 317 "iocfg6", "iocfg7", "iocfg8", 318 "eint"; 319 gpio-controller; 320 #gpio-cells = <2>; 321 gpio-ranges = <&pio 0 0 192>; 322 interrupt-controller; 323 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 324 #interrupt-cells = <2>; 325 }; 326 327 scpsys: syscon@10006000 { 328 compatible = "syscon", "simple-mfd"; 329 reg = <0 0x10006000 0 0x1000>; 330 #power-domain-cells = <1>; 331 332 /* System Power Manager */ 333 spm: power-controller { 334 compatible = "mediatek,mt8183-power-controller"; 335 #address-cells = <1>; 336 #size-cells = <0>; 337 #power-domain-cells = <1>; 338 339 /* power domain of the SoC */ 340 power-domain@MT8183_POWER_DOMAIN_AUDIO { 341 reg = <MT8183_POWER_DOMAIN_AUDIO>; 342 clocks = <&topckgen CLK_TOP_MUX_AUD_INTBUS>, 343 <&infracfg CLK_INFRA_AUDIO>, 344 <&infracfg CLK_INFRA_AUDIO_26M_BCLK>; 345 clock-names = "audio", "audio1", "audio2"; 346 #power-domain-cells = <0>; 347 }; 348 349 power-domain@MT8183_POWER_DOMAIN_CONN { 350 reg = <MT8183_POWER_DOMAIN_CONN>; 351 mediatek,infracfg = <&infracfg>; 352 #power-domain-cells = <0>; 353 }; 354 355 power-domain@MT8183_POWER_DOMAIN_MFG_ASYNC { 356 reg = <MT8183_POWER_DOMAIN_MFG_ASYNC>; 357 clocks = <&topckgen CLK_TOP_MUX_MFG>; 358 clock-names = "mfg"; 359 #address-cells = <1>; 360 #size-cells = <0>; 361 #power-domain-cells = <1>; 362 363 mfg: power-domain@MT8183_POWER_DOMAIN_MFG { 364 reg = <MT8183_POWER_DOMAIN_MFG>; 365 #address-cells = <1>; 366 #size-cells = <0>; 367 #power-domain-cells = <1>; 368 369 power-domain@MT8183_POWER_DOMAIN_MFG_CORE0 { 370 reg = <MT8183_POWER_DOMAIN_MFG_CORE0>; 371 #power-domain-cells = <0>; 372 }; 373 374 power-domain@MT8183_POWER_DOMAIN_MFG_CORE1 { 375 reg = <MT8183_POWER_DOMAIN_MFG_CORE1>; 376 #power-domain-cells = <0>; 377 }; 378 379 power-domain@MT8183_POWER_DOMAIN_MFG_2D { 380 reg = <MT8183_POWER_DOMAIN_MFG_2D>; 381 mediatek,infracfg = <&infracfg>; 382 #power-domain-cells = <0>; 383 }; 384 }; 385 }; 386 387 power-domain@MT8183_POWER_DOMAIN_DISP { 388 reg = <MT8183_POWER_DOMAIN_DISP>; 389 clocks = <&topckgen CLK_TOP_MUX_MM>, 390 <&mmsys CLK_MM_SMI_COMMON>, 391 <&mmsys CLK_MM_SMI_LARB0>, 392 <&mmsys CLK_MM_SMI_LARB1>, 393 <&mmsys CLK_MM_GALS_COMM0>, 394 <&mmsys CLK_MM_GALS_COMM1>, 395 <&mmsys CLK_MM_GALS_CCU2MM>, 396 <&mmsys CLK_MM_GALS_IPU12MM>, 397 <&mmsys CLK_MM_GALS_IMG2MM>, 398 <&mmsys CLK_MM_GALS_CAM2MM>, 399 <&mmsys CLK_MM_GALS_IPU2MM>; 400 clock-names = "mm", "mm-0", "mm-1", "mm-2", "mm-3", 401 "mm-4", "mm-5", "mm-6", "mm-7", 402 "mm-8", "mm-9"; 403 mediatek,infracfg = <&infracfg>; 404 mediatek,smi = <&smi_common>; 405 #address-cells = <1>; 406 #size-cells = <0>; 407 #power-domain-cells = <1>; 408 409 power-domain@MT8183_POWER_DOMAIN_CAM { 410 reg = <MT8183_POWER_DOMAIN_CAM>; 411 clocks = <&topckgen CLK_TOP_MUX_CAM>, 412 <&camsys CLK_CAM_LARB6>, 413 <&camsys CLK_CAM_LARB3>, 414 <&camsys CLK_CAM_SENINF>, 415 <&camsys CLK_CAM_CAMSV0>, 416 <&camsys CLK_CAM_CAMSV1>, 417 <&camsys CLK_CAM_CAMSV2>, 418 <&camsys CLK_CAM_CCU>; 419 clock-names = "cam", "cam-0", "cam-1", 420 "cam-2", "cam-3", "cam-4", 421 "cam-5", "cam-6"; 422 mediatek,infracfg = <&infracfg>; 423 mediatek,smi = <&smi_common>; 424 #power-domain-cells = <0>; 425 }; 426 427 power-domain@MT8183_POWER_DOMAIN_ISP { 428 reg = <MT8183_POWER_DOMAIN_ISP>; 429 clocks = <&topckgen CLK_TOP_MUX_IMG>, 430 <&imgsys CLK_IMG_LARB5>, 431 <&imgsys CLK_IMG_LARB2>; 432 clock-names = "isp", "isp-0", "isp-1"; 433 mediatek,infracfg = <&infracfg>; 434 mediatek,smi = <&smi_common>; 435 #power-domain-cells = <0>; 436 }; 437 438 power-domain@MT8183_POWER_DOMAIN_VDEC { 439 reg = <MT8183_POWER_DOMAIN_VDEC>; 440 mediatek,smi = <&smi_common>; 441 #power-domain-cells = <0>; 442 }; 443 444 power-domain@MT8183_POWER_DOMAIN_VENC { 445 reg = <MT8183_POWER_DOMAIN_VENC>; 446 mediatek,smi = <&smi_common>; 447 #power-domain-cells = <0>; 448 }; 449 450 power-domain@MT8183_POWER_DOMAIN_VPU_TOP { 451 reg = <MT8183_POWER_DOMAIN_VPU_TOP>; 452 clocks = <&topckgen CLK_TOP_MUX_IPU_IF>, 453 <&topckgen CLK_TOP_MUX_DSP>, 454 <&ipu_conn CLK_IPU_CONN_IPU>, 455 <&ipu_conn CLK_IPU_CONN_AHB>, 456 <&ipu_conn CLK_IPU_CONN_AXI>, 457 <&ipu_conn CLK_IPU_CONN_ISP>, 458 <&ipu_conn CLK_IPU_CONN_CAM_ADL>, 459 <&ipu_conn CLK_IPU_CONN_IMG_ADL>; 460 clock-names = "vpu", "vpu1", "vpu-0", "vpu-1", 461 "vpu-2", "vpu-3", "vpu-4", "vpu-5"; 462 mediatek,infracfg = <&infracfg>; 463 mediatek,smi = <&smi_common>; 464 #address-cells = <1>; 465 #size-cells = <0>; 466 #power-domain-cells = <1>; 467 468 power-domain@MT8183_POWER_DOMAIN_VPU_CORE0 { 469 reg = <MT8183_POWER_DOMAIN_VPU_CORE0>; 470 clocks = <&topckgen CLK_TOP_MUX_DSP1>; 471 clock-names = "vpu2"; 472 mediatek,infracfg = <&infracfg>; 473 #power-domain-cells = <0>; 474 }; 475 476 power-domain@MT8183_POWER_DOMAIN_VPU_CORE1 { 477 reg = <MT8183_POWER_DOMAIN_VPU_CORE1>; 478 clocks = <&topckgen CLK_TOP_MUX_DSP2>; 479 clock-names = "vpu3"; 480 mediatek,infracfg = <&infracfg>; 481 #power-domain-cells = <0>; 482 }; 483 }; 484 }; 485 }; 486 }; 487 488 watchdog: watchdog@10007000 { 489 compatible = "mediatek,mt8183-wdt"; 490 reg = <0 0x10007000 0 0x100>; 491 #reset-cells = <1>; 492 }; 493 494 apmixedsys: syscon@1000c000 { 495 compatible = "mediatek,mt8183-apmixedsys", "syscon"; 496 reg = <0 0x1000c000 0 0x1000>; 497 #clock-cells = <1>; 498 }; 499 500 pwrap: pwrap@1000d000 { 501 compatible = "mediatek,mt8183-pwrap"; 502 reg = <0 0x1000d000 0 0x1000>; 503 reg-names = "pwrap"; 504 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; 505 clocks = <&topckgen CLK_TOP_MUX_PMICSPI>, 506 <&infracfg CLK_INFRA_PMIC_AP>; 507 clock-names = "spi", "wrap"; 508 }; 509 510 scp: scp@10500000 { 511 compatible = "mediatek,mt8183-scp"; 512 reg = <0 0x10500000 0 0x80000>, 513 <0 0x105c0000 0 0x19080>; 514 reg-names = "sram", "cfg"; 515 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 516 clocks = <&infracfg CLK_INFRA_SCPSYS>; 517 clock-names = "main"; 518 memory-region = <&scp_mem_reserved>; 519 status = "disabled"; 520 }; 521 522 systimer: timer@10017000 { 523 compatible = "mediatek,mt8183-timer", 524 "mediatek,mt6765-timer"; 525 reg = <0 0x10017000 0 0x1000>; 526 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 527 clocks = <&topckgen CLK_TOP_CLK13M>; 528 clock-names = "clk13m"; 529 }; 530 531 iommu: iommu@10205000 { 532 compatible = "mediatek,mt8183-m4u"; 533 reg = <0 0x10205000 0 0x1000>; 534 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>; 535 mediatek,larbs = <&larb0 &larb1 &larb2 &larb3 536 &larb4 &larb5 &larb6>; 537 #iommu-cells = <1>; 538 }; 539 540 gce: mailbox@10238000 { 541 compatible = "mediatek,mt8183-gce"; 542 reg = <0 0x10238000 0 0x4000>; 543 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>; 544 #mbox-cells = <2>; 545 clocks = <&infracfg CLK_INFRA_GCE>; 546 clock-names = "gce"; 547 }; 548 549 auxadc: auxadc@11001000 { 550 compatible = "mediatek,mt8183-auxadc", 551 "mediatek,mt8173-auxadc"; 552 reg = <0 0x11001000 0 0x1000>; 553 clocks = <&infracfg CLK_INFRA_AUXADC>; 554 clock-names = "main"; 555 #io-channel-cells = <1>; 556 status = "disabled"; 557 }; 558 559 uart0: serial@11002000 { 560 compatible = "mediatek,mt8183-uart", 561 "mediatek,mt6577-uart"; 562 reg = <0 0x11002000 0 0x1000>; 563 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 564 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>; 565 clock-names = "baud", "bus"; 566 status = "disabled"; 567 }; 568 569 uart1: serial@11003000 { 570 compatible = "mediatek,mt8183-uart", 571 "mediatek,mt6577-uart"; 572 reg = <0 0x11003000 0 0x1000>; 573 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 574 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>; 575 clock-names = "baud", "bus"; 576 status = "disabled"; 577 }; 578 579 uart2: serial@11004000 { 580 compatible = "mediatek,mt8183-uart", 581 "mediatek,mt6577-uart"; 582 reg = <0 0x11004000 0 0x1000>; 583 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 584 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>; 585 clock-names = "baud", "bus"; 586 status = "disabled"; 587 }; 588 589 i2c6: i2c@11005000 { 590 compatible = "mediatek,mt8183-i2c"; 591 reg = <0 0x11005000 0 0x1000>, 592 <0 0x11000600 0 0x80>; 593 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>; 594 clocks = <&infracfg CLK_INFRA_I2C6>, 595 <&infracfg CLK_INFRA_AP_DMA>; 596 clock-names = "main", "dma"; 597 clock-div = <1>; 598 #address-cells = <1>; 599 #size-cells = <0>; 600 status = "disabled"; 601 }; 602 603 i2c0: i2c@11007000 { 604 compatible = "mediatek,mt8183-i2c"; 605 reg = <0 0x11007000 0 0x1000>, 606 <0 0x11000080 0 0x80>; 607 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 608 clocks = <&infracfg CLK_INFRA_I2C0>, 609 <&infracfg CLK_INFRA_AP_DMA>; 610 clock-names = "main", "dma"; 611 clock-div = <1>; 612 #address-cells = <1>; 613 #size-cells = <0>; 614 status = "disabled"; 615 }; 616 617 i2c4: i2c@11008000 { 618 compatible = "mediatek,mt8183-i2c"; 619 reg = <0 0x11008000 0 0x1000>, 620 <0 0x11000100 0 0x80>; 621 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 622 clocks = <&infracfg CLK_INFRA_I2C1>, 623 <&infracfg CLK_INFRA_AP_DMA>, 624 <&infracfg CLK_INFRA_I2C1_ARBITER>; 625 clock-names = "main", "dma","arb"; 626 clock-div = <1>; 627 #address-cells = <1>; 628 #size-cells = <0>; 629 status = "disabled"; 630 }; 631 632 i2c2: i2c@11009000 { 633 compatible = "mediatek,mt8183-i2c"; 634 reg = <0 0x11009000 0 0x1000>, 635 <0 0x11000280 0 0x80>; 636 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>; 637 clocks = <&infracfg CLK_INFRA_I2C2>, 638 <&infracfg CLK_INFRA_AP_DMA>, 639 <&infracfg CLK_INFRA_I2C2_ARBITER>; 640 clock-names = "main", "dma", "arb"; 641 clock-div = <1>; 642 #address-cells = <1>; 643 #size-cells = <0>; 644 status = "disabled"; 645 }; 646 647 spi0: spi@1100a000 { 648 compatible = "mediatek,mt8183-spi"; 649 #address-cells = <1>; 650 #size-cells = <0>; 651 reg = <0 0x1100a000 0 0x1000>; 652 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>; 653 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 654 <&topckgen CLK_TOP_MUX_SPI>, 655 <&infracfg CLK_INFRA_SPI0>; 656 clock-names = "parent-clk", "sel-clk", "spi-clk"; 657 status = "disabled"; 658 }; 659 660 thermal: thermal@1100b000 { 661 #thermal-sensor-cells = <1>; 662 compatible = "mediatek,mt8183-thermal"; 663 reg = <0 0x1100b000 0 0x1000>; 664 clocks = <&infracfg CLK_INFRA_THERM>, 665 <&infracfg CLK_INFRA_AUXADC>; 666 clock-names = "therm", "auxadc"; 667 resets = <&infracfg MT8183_INFRACFG_AO_THERM_SW_RST>; 668 interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>; 669 mediatek,auxadc = <&auxadc>; 670 mediatek,apmixedsys = <&apmixedsys>; 671 nvmem-cells = <&thermal_calibration>; 672 nvmem-cell-names = "calibration-data"; 673 }; 674 675 thermal-zones { 676 cpu_thermal: cpu_thermal { 677 polling-delay-passive = <100>; 678 polling-delay = <500>; 679 thermal-sensors = <&thermal 0>; 680 sustainable-power = <5000>; 681 }; 682 683 /* The tzts1 ~ tzts6 don't need to polling */ 684 /* The tzts1 ~ tzts6 don't need to thermal throttle */ 685 686 tzts1: tzts1 { 687 polling-delay-passive = <0>; 688 polling-delay = <0>; 689 thermal-sensors = <&thermal 1>; 690 sustainable-power = <5000>; 691 trips {}; 692 cooling-maps {}; 693 }; 694 695 tzts2: tzts2 { 696 polling-delay-passive = <0>; 697 polling-delay = <0>; 698 thermal-sensors = <&thermal 2>; 699 sustainable-power = <5000>; 700 trips {}; 701 cooling-maps {}; 702 }; 703 704 tzts3: tzts3 { 705 polling-delay-passive = <0>; 706 polling-delay = <0>; 707 thermal-sensors = <&thermal 3>; 708 sustainable-power = <5000>; 709 trips {}; 710 cooling-maps {}; 711 }; 712 713 tzts4: tzts4 { 714 polling-delay-passive = <0>; 715 polling-delay = <0>; 716 thermal-sensors = <&thermal 4>; 717 sustainable-power = <5000>; 718 trips {}; 719 cooling-maps {}; 720 }; 721 722 tzts5: tzts5 { 723 polling-delay-passive = <0>; 724 polling-delay = <0>; 725 thermal-sensors = <&thermal 5>; 726 sustainable-power = <5000>; 727 trips {}; 728 cooling-maps {}; 729 }; 730 731 tztsABB: tztsABB { 732 polling-delay-passive = <0>; 733 polling-delay = <0>; 734 thermal-sensors = <&thermal 6>; 735 sustainable-power = <5000>; 736 trips {}; 737 cooling-maps {}; 738 }; 739 }; 740 741 pwm0: pwm@1100e000 { 742 compatible = "mediatek,mt8183-disp-pwm"; 743 reg = <0 0x1100e000 0 0x1000>; 744 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_LOW>; 745 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 746 #pwm-cells = <2>; 747 clocks = <&topckgen CLK_TOP_MUX_DISP_PWM>, 748 <&infracfg CLK_INFRA_DISP_PWM>; 749 clock-names = "main", "mm"; 750 }; 751 752 pwm1: pwm@11006000 { 753 compatible = "mediatek,mt8183-pwm"; 754 reg = <0 0x11006000 0 0x1000>; 755 #pwm-cells = <2>; 756 clocks = <&infracfg CLK_INFRA_PWM>, 757 <&infracfg CLK_INFRA_PWM_HCLK>, 758 <&infracfg CLK_INFRA_PWM1>, 759 <&infracfg CLK_INFRA_PWM2>, 760 <&infracfg CLK_INFRA_PWM3>, 761 <&infracfg CLK_INFRA_PWM4>; 762 clock-names = "top", "main", "pwm1", "pwm2", "pwm3", 763 "pwm4"; 764 }; 765 766 i2c3: i2c@1100f000 { 767 compatible = "mediatek,mt8183-i2c"; 768 reg = <0 0x1100f000 0 0x1000>, 769 <0 0x11000400 0 0x80>; 770 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 771 clocks = <&infracfg CLK_INFRA_I2C3>, 772 <&infracfg CLK_INFRA_AP_DMA>; 773 clock-names = "main", "dma"; 774 clock-div = <1>; 775 #address-cells = <1>; 776 #size-cells = <0>; 777 status = "disabled"; 778 }; 779 780 spi1: spi@11010000 { 781 compatible = "mediatek,mt8183-spi"; 782 #address-cells = <1>; 783 #size-cells = <0>; 784 reg = <0 0x11010000 0 0x1000>; 785 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>; 786 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 787 <&topckgen CLK_TOP_MUX_SPI>, 788 <&infracfg CLK_INFRA_SPI1>; 789 clock-names = "parent-clk", "sel-clk", "spi-clk"; 790 status = "disabled"; 791 }; 792 793 i2c1: i2c@11011000 { 794 compatible = "mediatek,mt8183-i2c"; 795 reg = <0 0x11011000 0 0x1000>, 796 <0 0x11000480 0 0x80>; 797 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 798 clocks = <&infracfg CLK_INFRA_I2C4>, 799 <&infracfg CLK_INFRA_AP_DMA>; 800 clock-names = "main", "dma"; 801 clock-div = <1>; 802 #address-cells = <1>; 803 #size-cells = <0>; 804 status = "disabled"; 805 }; 806 807 spi2: spi@11012000 { 808 compatible = "mediatek,mt8183-spi"; 809 #address-cells = <1>; 810 #size-cells = <0>; 811 reg = <0 0x11012000 0 0x1000>; 812 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>; 813 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 814 <&topckgen CLK_TOP_MUX_SPI>, 815 <&infracfg CLK_INFRA_SPI2>; 816 clock-names = "parent-clk", "sel-clk", "spi-clk"; 817 status = "disabled"; 818 }; 819 820 spi3: spi@11013000 { 821 compatible = "mediatek,mt8183-spi"; 822 #address-cells = <1>; 823 #size-cells = <0>; 824 reg = <0 0x11013000 0 0x1000>; 825 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>; 826 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 827 <&topckgen CLK_TOP_MUX_SPI>, 828 <&infracfg CLK_INFRA_SPI3>; 829 clock-names = "parent-clk", "sel-clk", "spi-clk"; 830 status = "disabled"; 831 }; 832 833 i2c9: i2c@11014000 { 834 compatible = "mediatek,mt8183-i2c"; 835 reg = <0 0x11014000 0 0x1000>, 836 <0 0x11000180 0 0x80>; 837 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>; 838 clocks = <&infracfg CLK_INFRA_I2C1_IMM>, 839 <&infracfg CLK_INFRA_AP_DMA>, 840 <&infracfg CLK_INFRA_I2C1_ARBITER>; 841 clock-names = "main", "dma", "arb"; 842 clock-div = <1>; 843 #address-cells = <1>; 844 #size-cells = <0>; 845 status = "disabled"; 846 }; 847 848 i2c10: i2c@11015000 { 849 compatible = "mediatek,mt8183-i2c"; 850 reg = <0 0x11015000 0 0x1000>, 851 <0 0x11000300 0 0x80>; 852 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 853 clocks = <&infracfg CLK_INFRA_I2C2_IMM>, 854 <&infracfg CLK_INFRA_AP_DMA>, 855 <&infracfg CLK_INFRA_I2C2_ARBITER>; 856 clock-names = "main", "dma", "arb"; 857 clock-div = <1>; 858 #address-cells = <1>; 859 #size-cells = <0>; 860 status = "disabled"; 861 }; 862 863 i2c5: i2c@11016000 { 864 compatible = "mediatek,mt8183-i2c"; 865 reg = <0 0x11016000 0 0x1000>, 866 <0 0x11000500 0 0x80>; 867 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>; 868 clocks = <&infracfg CLK_INFRA_I2C5>, 869 <&infracfg CLK_INFRA_AP_DMA>, 870 <&infracfg CLK_INFRA_I2C5_ARBITER>; 871 clock-names = "main", "dma", "arb"; 872 clock-div = <1>; 873 #address-cells = <1>; 874 #size-cells = <0>; 875 status = "disabled"; 876 }; 877 878 i2c11: i2c@11017000 { 879 compatible = "mediatek,mt8183-i2c"; 880 reg = <0 0x11017000 0 0x1000>, 881 <0 0x11000580 0 0x80>; 882 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>; 883 clocks = <&infracfg CLK_INFRA_I2C5_IMM>, 884 <&infracfg CLK_INFRA_AP_DMA>, 885 <&infracfg CLK_INFRA_I2C5_ARBITER>; 886 clock-names = "main", "dma", "arb"; 887 clock-div = <1>; 888 #address-cells = <1>; 889 #size-cells = <0>; 890 status = "disabled"; 891 }; 892 893 spi4: spi@11018000 { 894 compatible = "mediatek,mt8183-spi"; 895 #address-cells = <1>; 896 #size-cells = <0>; 897 reg = <0 0x11018000 0 0x1000>; 898 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>; 899 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 900 <&topckgen CLK_TOP_MUX_SPI>, 901 <&infracfg CLK_INFRA_SPI4>; 902 clock-names = "parent-clk", "sel-clk", "spi-clk"; 903 status = "disabled"; 904 }; 905 906 spi5: spi@11019000 { 907 compatible = "mediatek,mt8183-spi"; 908 #address-cells = <1>; 909 #size-cells = <0>; 910 reg = <0 0x11019000 0 0x1000>; 911 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; 912 clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>, 913 <&topckgen CLK_TOP_MUX_SPI>, 914 <&infracfg CLK_INFRA_SPI5>; 915 clock-names = "parent-clk", "sel-clk", "spi-clk"; 916 status = "disabled"; 917 }; 918 919 i2c7: i2c@1101a000 { 920 compatible = "mediatek,mt8183-i2c"; 921 reg = <0 0x1101a000 0 0x1000>, 922 <0 0x11000680 0 0x80>; 923 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>; 924 clocks = <&infracfg CLK_INFRA_I2C7>, 925 <&infracfg CLK_INFRA_AP_DMA>; 926 clock-names = "main", "dma"; 927 clock-div = <1>; 928 #address-cells = <1>; 929 #size-cells = <0>; 930 status = "disabled"; 931 }; 932 933 i2c8: i2c@1101b000 { 934 compatible = "mediatek,mt8183-i2c"; 935 reg = <0 0x1101b000 0 0x1000>, 936 <0 0x11000700 0 0x80>; 937 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>; 938 clocks = <&infracfg CLK_INFRA_I2C8>, 939 <&infracfg CLK_INFRA_AP_DMA>; 940 clock-names = "main", "dma"; 941 clock-div = <1>; 942 #address-cells = <1>; 943 #size-cells = <0>; 944 status = "disabled"; 945 }; 946 947 ssusb: usb@11201000 { 948 compatible ="mediatek,mt8183-mtu3", "mediatek,mtu3"; 949 reg = <0 0x11201000 0 0x2e00>, 950 <0 0x11203e00 0 0x0100>; 951 reg-names = "mac", "ippc"; 952 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>; 953 phys = <&u2port0 PHY_TYPE_USB2>, 954 <&u3port0 PHY_TYPE_USB3>; 955 clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>, 956 <&infracfg CLK_INFRA_USB>; 957 clock-names = "sys_ck", "ref_ck"; 958 mediatek,syscon-wakeup = <&pericfg 0x420 101>; 959 #address-cells = <2>; 960 #size-cells = <2>; 961 ranges; 962 status = "disabled"; 963 964 usb_host: usb@11200000 { 965 compatible = "mediatek,mt8183-xhci", 966 "mediatek,mtk-xhci"; 967 reg = <0 0x11200000 0 0x1000>; 968 reg-names = "mac"; 969 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>; 970 clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>, 971 <&infracfg CLK_INFRA_USB>; 972 clock-names = "sys_ck", "ref_ck"; 973 status = "disabled"; 974 }; 975 }; 976 977 audiosys: syscon@11220000 { 978 compatible = "mediatek,mt8183-audiosys", "syscon"; 979 reg = <0 0x11220000 0 0x1000>; 980 #clock-cells = <1>; 981 }; 982 983 mmc0: mmc@11230000 { 984 compatible = "mediatek,mt8183-mmc"; 985 reg = <0 0x11230000 0 0x1000>, 986 <0 0x11f50000 0 0x1000>; 987 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; 988 clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>, 989 <&infracfg CLK_INFRA_MSDC0>, 990 <&infracfg CLK_INFRA_MSDC0_SCK>; 991 clock-names = "source", "hclk", "source_cg"; 992 status = "disabled"; 993 }; 994 995 mmc1: mmc@11240000 { 996 compatible = "mediatek,mt8183-mmc"; 997 reg = <0 0x11240000 0 0x1000>, 998 <0 0x11e10000 0 0x1000>; 999 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 1000 clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>, 1001 <&infracfg CLK_INFRA_MSDC1>, 1002 <&infracfg CLK_INFRA_MSDC1_SCK>; 1003 clock-names = "source", "hclk", "source_cg"; 1004 status = "disabled"; 1005 }; 1006 1007 mipi_tx0: dsi-phy@11e50000 { 1008 compatible = "mediatek,mt8183-mipi-tx"; 1009 reg = <0 0x11e50000 0 0x1000>; 1010 clocks = <&apmixedsys CLK_APMIXED_MIPID0_26M>; 1011 #clock-cells = <0>; 1012 #phy-cells = <0>; 1013 clock-output-names = "mipi_tx0_pll"; 1014 nvmem-cells = <&mipi_tx_calibration>; 1015 nvmem-cell-names = "calibration-data"; 1016 }; 1017 1018 efuse: efuse@11f10000 { 1019 compatible = "mediatek,mt8183-efuse", 1020 "mediatek,efuse"; 1021 reg = <0 0x11f10000 0 0x1000>; 1022 #address-cells = <1>; 1023 #size-cells = <1>; 1024 thermal_calibration: calib@180 { 1025 reg = <0x180 0xc>; 1026 }; 1027 1028 mipi_tx_calibration: calib@190 { 1029 reg = <0x190 0xc>; 1030 }; 1031 }; 1032 1033 u3phy: t-phy@11f40000 { 1034 compatible = "mediatek,mt8183-tphy", 1035 "mediatek,generic-tphy-v2"; 1036 #address-cells = <1>; 1037 #size-cells = <1>; 1038 ranges = <0 0 0x11f40000 0x1000>; 1039 status = "okay"; 1040 1041 u2port0: usb-phy@0 { 1042 reg = <0x0 0x700>; 1043 clocks = <&clk26m>; 1044 clock-names = "ref"; 1045 #phy-cells = <1>; 1046 mediatek,discth = <15>; 1047 status = "okay"; 1048 }; 1049 1050 u3port0: usb-phy@0700 { 1051 reg = <0x0700 0x900>; 1052 clocks = <&clk26m>; 1053 clock-names = "ref"; 1054 #phy-cells = <1>; 1055 status = "okay"; 1056 }; 1057 }; 1058 1059 mfgcfg: syscon@13000000 { 1060 compatible = "mediatek,mt8183-mfgcfg", "syscon"; 1061 reg = <0 0x13000000 0 0x1000>; 1062 #clock-cells = <1>; 1063 }; 1064 1065 mmsys: syscon@14000000 { 1066 compatible = "mediatek,mt8183-mmsys", "syscon"; 1067 reg = <0 0x14000000 0 0x1000>; 1068 #clock-cells = <1>; 1069 mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>, 1070 <&gce 1 CMDQ_THR_PRIO_HIGHEST>; 1071 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>; 1072 }; 1073 1074 ovl0: ovl@14008000 { 1075 compatible = "mediatek,mt8183-disp-ovl"; 1076 reg = <0 0x14008000 0 0x1000>; 1077 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>; 1078 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1079 clocks = <&mmsys CLK_MM_DISP_OVL0>; 1080 iommus = <&iommu M4U_PORT_DISP_OVL0>; 1081 mediatek,larb = <&larb0>; 1082 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x8000 0x1000>; 1083 }; 1084 1085 ovl_2l0: ovl@14009000 { 1086 compatible = "mediatek,mt8183-disp-ovl-2l"; 1087 reg = <0 0x14009000 0 0x1000>; 1088 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_LOW>; 1089 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1090 clocks = <&mmsys CLK_MM_DISP_OVL0_2L>; 1091 iommus = <&iommu M4U_PORT_DISP_2L_OVL0_LARB0>; 1092 mediatek,larb = <&larb0>; 1093 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>; 1094 }; 1095 1096 ovl_2l1: ovl@1400a000 { 1097 compatible = "mediatek,mt8183-disp-ovl-2l"; 1098 reg = <0 0x1400a000 0 0x1000>; 1099 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_LOW>; 1100 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1101 clocks = <&mmsys CLK_MM_DISP_OVL1_2L>; 1102 iommus = <&iommu M4U_PORT_DISP_2L_OVL1_LARB0>; 1103 mediatek,larb = <&larb0>; 1104 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>; 1105 }; 1106 1107 rdma0: rdma@1400b000 { 1108 compatible = "mediatek,mt8183-disp-rdma"; 1109 reg = <0 0x1400b000 0 0x1000>; 1110 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>; 1111 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1112 clocks = <&mmsys CLK_MM_DISP_RDMA0>; 1113 iommus = <&iommu M4U_PORT_DISP_RDMA0>; 1114 mediatek,larb = <&larb0>; 1115 mediatek,rdma-fifo-size = <5120>; 1116 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>; 1117 }; 1118 1119 rdma1: rdma@1400c000 { 1120 compatible = "mediatek,mt8183-disp-rdma"; 1121 reg = <0 0x1400c000 0 0x1000>; 1122 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; 1123 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1124 clocks = <&mmsys CLK_MM_DISP_RDMA1>; 1125 iommus = <&iommu M4U_PORT_DISP_RDMA1>; 1126 mediatek,larb = <&larb0>; 1127 mediatek,rdma-fifo-size = <2048>; 1128 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>; 1129 }; 1130 1131 color0: color@1400e000 { 1132 compatible = "mediatek,mt8183-disp-color", 1133 "mediatek,mt8173-disp-color"; 1134 reg = <0 0x1400e000 0 0x1000>; 1135 interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_LOW>; 1136 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1137 clocks = <&mmsys CLK_MM_DISP_COLOR0>; 1138 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>; 1139 }; 1140 1141 ccorr0: ccorr@1400f000 { 1142 compatible = "mediatek,mt8183-disp-ccorr"; 1143 reg = <0 0x1400f000 0 0x1000>; 1144 interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>; 1145 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1146 clocks = <&mmsys CLK_MM_DISP_CCORR0>; 1147 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xf000 0x1000>; 1148 }; 1149 1150 aal0: aal@14010000 { 1151 compatible = "mediatek,mt8183-disp-aal", 1152 "mediatek,mt8173-disp-aal"; 1153 reg = <0 0x14010000 0 0x1000>; 1154 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_LOW>; 1155 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1156 clocks = <&mmsys CLK_MM_DISP_AAL0>; 1157 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0 0x1000>; 1158 }; 1159 1160 gamma0: gamma@14011000 { 1161 compatible = "mediatek,mt8183-disp-gamma"; 1162 reg = <0 0x14011000 0 0x1000>; 1163 interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_LOW>; 1164 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1165 clocks = <&mmsys CLK_MM_DISP_GAMMA0>; 1166 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>; 1167 }; 1168 1169 dither0: dither@14012000 { 1170 compatible = "mediatek,mt8183-disp-dither"; 1171 reg = <0 0x14012000 0 0x1000>; 1172 interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_LOW>; 1173 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1174 clocks = <&mmsys CLK_MM_DISP_DITHER0>; 1175 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x2000 0x1000>; 1176 }; 1177 1178 dsi0: dsi@14014000 { 1179 compatible = "mediatek,mt8183-dsi"; 1180 reg = <0 0x14014000 0 0x1000>; 1181 interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>; 1182 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1183 mediatek,syscon-dsi = <&mmsys 0x140>; 1184 clocks = <&mmsys CLK_MM_DSI0_MM>, 1185 <&mmsys CLK_MM_DSI0_IF>, 1186 <&mipi_tx0>; 1187 clock-names = "engine", "digital", "hs"; 1188 phys = <&mipi_tx0>; 1189 phy-names = "dphy"; 1190 }; 1191 1192 mutex: mutex@14016000 { 1193 compatible = "mediatek,mt8183-disp-mutex"; 1194 reg = <0 0x14016000 0 0x1000>; 1195 interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_LOW>; 1196 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1197 }; 1198 1199 larb0: larb@14017000 { 1200 compatible = "mediatek,mt8183-smi-larb"; 1201 reg = <0 0x14017000 0 0x1000>; 1202 mediatek,smi = <&smi_common>; 1203 clocks = <&mmsys CLK_MM_SMI_LARB0>, 1204 <&mmsys CLK_MM_SMI_LARB0>; 1205 power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 1206 clock-names = "apb", "smi"; 1207 }; 1208 1209 smi_common: smi@14019000 { 1210 compatible = "mediatek,mt8183-smi-common", "syscon"; 1211 reg = <0 0x14019000 0 0x1000>; 1212 clocks = <&mmsys CLK_MM_SMI_COMMON>, 1213 <&mmsys CLK_MM_SMI_COMMON>, 1214 <&mmsys CLK_MM_GALS_COMM0>, 1215 <&mmsys CLK_MM_GALS_COMM1>; 1216 clock-names = "apb", "smi", "gals0", "gals1"; 1217 }; 1218 1219 imgsys: syscon@15020000 { 1220 compatible = "mediatek,mt8183-imgsys", "syscon"; 1221 reg = <0 0x15020000 0 0x1000>; 1222 #clock-cells = <1>; 1223 }; 1224 1225 larb5: larb@15021000 { 1226 compatible = "mediatek,mt8183-smi-larb"; 1227 reg = <0 0x15021000 0 0x1000>; 1228 mediatek,smi = <&smi_common>; 1229 clocks = <&imgsys CLK_IMG_LARB5>, <&imgsys CLK_IMG_LARB5>, 1230 <&mmsys CLK_MM_GALS_IMG2MM>; 1231 clock-names = "apb", "smi", "gals"; 1232 power-domains = <&spm MT8183_POWER_DOMAIN_ISP>; 1233 }; 1234 1235 larb2: larb@1502f000 { 1236 compatible = "mediatek,mt8183-smi-larb"; 1237 reg = <0 0x1502f000 0 0x1000>; 1238 mediatek,smi = <&smi_common>; 1239 clocks = <&imgsys CLK_IMG_LARB2>, <&imgsys CLK_IMG_LARB2>, 1240 <&mmsys CLK_MM_GALS_IPU2MM>; 1241 clock-names = "apb", "smi", "gals"; 1242 power-domains = <&spm MT8183_POWER_DOMAIN_ISP>; 1243 }; 1244 1245 vdecsys: syscon@16000000 { 1246 compatible = "mediatek,mt8183-vdecsys", "syscon"; 1247 reg = <0 0x16000000 0 0x1000>; 1248 #clock-cells = <1>; 1249 }; 1250 1251 larb1: larb@16010000 { 1252 compatible = "mediatek,mt8183-smi-larb"; 1253 reg = <0 0x16010000 0 0x1000>; 1254 mediatek,smi = <&smi_common>; 1255 clocks = <&vdecsys CLK_VDEC_VDEC>, <&vdecsys CLK_VDEC_LARB1>; 1256 clock-names = "apb", "smi"; 1257 power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>; 1258 }; 1259 1260 vencsys: syscon@17000000 { 1261 compatible = "mediatek,mt8183-vencsys", "syscon"; 1262 reg = <0 0x17000000 0 0x1000>; 1263 #clock-cells = <1>; 1264 }; 1265 1266 larb4: larb@17010000 { 1267 compatible = "mediatek,mt8183-smi-larb"; 1268 reg = <0 0x17010000 0 0x1000>; 1269 mediatek,smi = <&smi_common>; 1270 clocks = <&vencsys CLK_VENC_LARB>, 1271 <&vencsys CLK_VENC_LARB>; 1272 clock-names = "apb", "smi"; 1273 power-domains = <&spm MT8183_POWER_DOMAIN_VENC>; 1274 }; 1275 1276 ipu_conn: syscon@19000000 { 1277 compatible = "mediatek,mt8183-ipu_conn", "syscon"; 1278 reg = <0 0x19000000 0 0x1000>; 1279 #clock-cells = <1>; 1280 }; 1281 1282 ipu_adl: syscon@19010000 { 1283 compatible = "mediatek,mt8183-ipu_adl", "syscon"; 1284 reg = <0 0x19010000 0 0x1000>; 1285 #clock-cells = <1>; 1286 }; 1287 1288 ipu_core0: syscon@19180000 { 1289 compatible = "mediatek,mt8183-ipu_core0", "syscon"; 1290 reg = <0 0x19180000 0 0x1000>; 1291 #clock-cells = <1>; 1292 }; 1293 1294 ipu_core1: syscon@19280000 { 1295 compatible = "mediatek,mt8183-ipu_core1", "syscon"; 1296 reg = <0 0x19280000 0 0x1000>; 1297 #clock-cells = <1>; 1298 }; 1299 1300 camsys: syscon@1a000000 { 1301 compatible = "mediatek,mt8183-camsys", "syscon"; 1302 reg = <0 0x1a000000 0 0x1000>; 1303 #clock-cells = <1>; 1304 }; 1305 1306 larb6: larb@1a001000 { 1307 compatible = "mediatek,mt8183-smi-larb"; 1308 reg = <0 0x1a001000 0 0x1000>; 1309 mediatek,smi = <&smi_common>; 1310 clocks = <&camsys CLK_CAM_LARB6>, <&camsys CLK_CAM_LARB6>, 1311 <&mmsys CLK_MM_GALS_CAM2MM>; 1312 clock-names = "apb", "smi", "gals"; 1313 power-domains = <&spm MT8183_POWER_DOMAIN_CAM>; 1314 }; 1315 1316 larb3: larb@1a002000 { 1317 compatible = "mediatek,mt8183-smi-larb"; 1318 reg = <0 0x1a002000 0 0x1000>; 1319 mediatek,smi = <&smi_common>; 1320 clocks = <&camsys CLK_CAM_LARB3>, <&camsys CLK_CAM_LARB3>, 1321 <&mmsys CLK_MM_GALS_IPU12MM>; 1322 clock-names = "apb", "smi", "gals"; 1323 power-domains = <&spm MT8183_POWER_DOMAIN_CAM>; 1324 }; 1325 }; 1326}; 1327