1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Copyright (c) 2021 MediaTek Inc. 4 * Author: Seiya Wang <seiya.wang@mediatek.com> 5 */ 6 7/dts-v1/; 8#include <dt-bindings/clock/mt8195-clk.h> 9#include <dt-bindings/gce/mt8195-gce.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/memory/mt8195-memory-port.h> 13#include <dt-bindings/phy/phy.h> 14#include <dt-bindings/pinctrl/mt8195-pinfunc.h> 15#include <dt-bindings/power/mt8195-power.h> 16#include <dt-bindings/reset/mt8195-resets.h> 17#include <dt-bindings/thermal/thermal.h> 18#include <dt-bindings/thermal/mediatek,lvts-thermal.h> 19 20/ { 21 compatible = "mediatek,mt8195"; 22 interrupt-parent = <&gic>; 23 #address-cells = <2>; 24 #size-cells = <2>; 25 26 aliases { 27 dp-intf0 = &dp_intf0; 28 dp-intf1 = &dp_intf1; 29 gce0 = &gce0; 30 gce1 = &gce1; 31 ethdr0 = ðdr0; 32 mutex0 = &mutex; 33 mutex1 = &mutex1; 34 merge1 = &merge1; 35 merge2 = &merge2; 36 merge3 = &merge3; 37 merge4 = &merge4; 38 merge5 = &merge5; 39 vdo1-rdma0 = &vdo1_rdma0; 40 vdo1-rdma1 = &vdo1_rdma1; 41 vdo1-rdma2 = &vdo1_rdma2; 42 vdo1-rdma3 = &vdo1_rdma3; 43 vdo1-rdma4 = &vdo1_rdma4; 44 vdo1-rdma5 = &vdo1_rdma5; 45 vdo1-rdma6 = &vdo1_rdma6; 46 vdo1-rdma7 = &vdo1_rdma7; 47 }; 48 49 cpus { 50 #address-cells = <1>; 51 #size-cells = <0>; 52 53 cpu0: cpu@0 { 54 device_type = "cpu"; 55 compatible = "arm,cortex-a55"; 56 reg = <0x000>; 57 enable-method = "psci"; 58 performance-domains = <&performance 0>; 59 clock-frequency = <1701000000>; 60 capacity-dmips-mhz = <308>; 61 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 62 i-cache-size = <32768>; 63 i-cache-line-size = <64>; 64 i-cache-sets = <128>; 65 d-cache-size = <32768>; 66 d-cache-line-size = <64>; 67 d-cache-sets = <128>; 68 next-level-cache = <&l2_0>; 69 #cooling-cells = <2>; 70 }; 71 72 cpu1: cpu@100 { 73 device_type = "cpu"; 74 compatible = "arm,cortex-a55"; 75 reg = <0x100>; 76 enable-method = "psci"; 77 performance-domains = <&performance 0>; 78 clock-frequency = <1701000000>; 79 capacity-dmips-mhz = <308>; 80 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 81 i-cache-size = <32768>; 82 i-cache-line-size = <64>; 83 i-cache-sets = <128>; 84 d-cache-size = <32768>; 85 d-cache-line-size = <64>; 86 d-cache-sets = <128>; 87 next-level-cache = <&l2_0>; 88 #cooling-cells = <2>; 89 }; 90 91 cpu2: cpu@200 { 92 device_type = "cpu"; 93 compatible = "arm,cortex-a55"; 94 reg = <0x200>; 95 enable-method = "psci"; 96 performance-domains = <&performance 0>; 97 clock-frequency = <1701000000>; 98 capacity-dmips-mhz = <308>; 99 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 100 i-cache-size = <32768>; 101 i-cache-line-size = <64>; 102 i-cache-sets = <128>; 103 d-cache-size = <32768>; 104 d-cache-line-size = <64>; 105 d-cache-sets = <128>; 106 next-level-cache = <&l2_0>; 107 #cooling-cells = <2>; 108 }; 109 110 cpu3: cpu@300 { 111 device_type = "cpu"; 112 compatible = "arm,cortex-a55"; 113 reg = <0x300>; 114 enable-method = "psci"; 115 performance-domains = <&performance 0>; 116 clock-frequency = <1701000000>; 117 capacity-dmips-mhz = <308>; 118 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 119 i-cache-size = <32768>; 120 i-cache-line-size = <64>; 121 i-cache-sets = <128>; 122 d-cache-size = <32768>; 123 d-cache-line-size = <64>; 124 d-cache-sets = <128>; 125 next-level-cache = <&l2_0>; 126 #cooling-cells = <2>; 127 }; 128 129 cpu4: cpu@400 { 130 device_type = "cpu"; 131 compatible = "arm,cortex-a78"; 132 reg = <0x400>; 133 enable-method = "psci"; 134 performance-domains = <&performance 1>; 135 clock-frequency = <2171000000>; 136 capacity-dmips-mhz = <1024>; 137 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 138 i-cache-size = <65536>; 139 i-cache-line-size = <64>; 140 i-cache-sets = <256>; 141 d-cache-size = <65536>; 142 d-cache-line-size = <64>; 143 d-cache-sets = <256>; 144 next-level-cache = <&l2_1>; 145 #cooling-cells = <2>; 146 }; 147 148 cpu5: cpu@500 { 149 device_type = "cpu"; 150 compatible = "arm,cortex-a78"; 151 reg = <0x500>; 152 enable-method = "psci"; 153 performance-domains = <&performance 1>; 154 clock-frequency = <2171000000>; 155 capacity-dmips-mhz = <1024>; 156 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 157 i-cache-size = <65536>; 158 i-cache-line-size = <64>; 159 i-cache-sets = <256>; 160 d-cache-size = <65536>; 161 d-cache-line-size = <64>; 162 d-cache-sets = <256>; 163 next-level-cache = <&l2_1>; 164 #cooling-cells = <2>; 165 }; 166 167 cpu6: cpu@600 { 168 device_type = "cpu"; 169 compatible = "arm,cortex-a78"; 170 reg = <0x600>; 171 enable-method = "psci"; 172 performance-domains = <&performance 1>; 173 clock-frequency = <2171000000>; 174 capacity-dmips-mhz = <1024>; 175 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 176 i-cache-size = <65536>; 177 i-cache-line-size = <64>; 178 i-cache-sets = <256>; 179 d-cache-size = <65536>; 180 d-cache-line-size = <64>; 181 d-cache-sets = <256>; 182 next-level-cache = <&l2_1>; 183 #cooling-cells = <2>; 184 }; 185 186 cpu7: cpu@700 { 187 device_type = "cpu"; 188 compatible = "arm,cortex-a78"; 189 reg = <0x700>; 190 enable-method = "psci"; 191 performance-domains = <&performance 1>; 192 clock-frequency = <2171000000>; 193 capacity-dmips-mhz = <1024>; 194 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 195 i-cache-size = <65536>; 196 i-cache-line-size = <64>; 197 i-cache-sets = <256>; 198 d-cache-size = <65536>; 199 d-cache-line-size = <64>; 200 d-cache-sets = <256>; 201 next-level-cache = <&l2_1>; 202 #cooling-cells = <2>; 203 }; 204 205 cpu-map { 206 cluster0 { 207 core0 { 208 cpu = <&cpu0>; 209 }; 210 211 core1 { 212 cpu = <&cpu1>; 213 }; 214 215 core2 { 216 cpu = <&cpu2>; 217 }; 218 219 core3 { 220 cpu = <&cpu3>; 221 }; 222 223 core4 { 224 cpu = <&cpu4>; 225 }; 226 227 core5 { 228 cpu = <&cpu5>; 229 }; 230 231 core6 { 232 cpu = <&cpu6>; 233 }; 234 235 core7 { 236 cpu = <&cpu7>; 237 }; 238 }; 239 }; 240 241 idle-states { 242 entry-method = "psci"; 243 244 cpu_ret_l: cpu-retention-l { 245 compatible = "arm,idle-state"; 246 arm,psci-suspend-param = <0x00010001>; 247 local-timer-stop; 248 entry-latency-us = <50>; 249 exit-latency-us = <95>; 250 min-residency-us = <580>; 251 }; 252 253 cpu_ret_b: cpu-retention-b { 254 compatible = "arm,idle-state"; 255 arm,psci-suspend-param = <0x00010001>; 256 local-timer-stop; 257 entry-latency-us = <45>; 258 exit-latency-us = <140>; 259 min-residency-us = <740>; 260 }; 261 262 cpu_off_l: cpu-off-l { 263 compatible = "arm,idle-state"; 264 arm,psci-suspend-param = <0x01010002>; 265 local-timer-stop; 266 entry-latency-us = <55>; 267 exit-latency-us = <155>; 268 min-residency-us = <840>; 269 }; 270 271 cpu_off_b: cpu-off-b { 272 compatible = "arm,idle-state"; 273 arm,psci-suspend-param = <0x01010002>; 274 local-timer-stop; 275 entry-latency-us = <50>; 276 exit-latency-us = <200>; 277 min-residency-us = <1000>; 278 }; 279 }; 280 281 l2_0: l2-cache0 { 282 compatible = "cache"; 283 cache-level = <2>; 284 cache-size = <131072>; 285 cache-line-size = <64>; 286 cache-sets = <512>; 287 next-level-cache = <&l3_0>; 288 cache-unified; 289 }; 290 291 l2_1: l2-cache1 { 292 compatible = "cache"; 293 cache-level = <2>; 294 cache-size = <262144>; 295 cache-line-size = <64>; 296 cache-sets = <512>; 297 next-level-cache = <&l3_0>; 298 cache-unified; 299 }; 300 301 l3_0: l3-cache { 302 compatible = "cache"; 303 cache-level = <3>; 304 cache-size = <2097152>; 305 cache-line-size = <64>; 306 cache-sets = <2048>; 307 cache-unified; 308 }; 309 }; 310 311 dsu-pmu { 312 compatible = "arm,dsu-pmu"; 313 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>; 314 cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, 315 <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; 316 }; 317 318 dmic_codec: dmic-codec { 319 compatible = "dmic-codec"; 320 num-channels = <2>; 321 wakeup-delay-ms = <50>; 322 }; 323 324 sound: mt8195-sound { 325 mediatek,platform = <&afe>; 326 status = "disabled"; 327 }; 328 329 clk13m: fixed-factor-clock-13m { 330 compatible = "fixed-factor-clock"; 331 #clock-cells = <0>; 332 clocks = <&clk26m>; 333 clock-div = <2>; 334 clock-mult = <1>; 335 clock-output-names = "clk13m"; 336 }; 337 338 clk26m: oscillator-26m { 339 compatible = "fixed-clock"; 340 #clock-cells = <0>; 341 clock-frequency = <26000000>; 342 clock-output-names = "clk26m"; 343 }; 344 345 clk32k: oscillator-32k { 346 compatible = "fixed-clock"; 347 #clock-cells = <0>; 348 clock-frequency = <32768>; 349 clock-output-names = "clk32k"; 350 }; 351 352 performance: performance-controller@11bc10 { 353 compatible = "mediatek,cpufreq-hw"; 354 reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>; 355 #performance-domain-cells = <1>; 356 }; 357 358 gpu_opp_table: opp-table-gpu { 359 compatible = "operating-points-v2"; 360 opp-shared; 361 362 opp-390000000 { 363 opp-hz = /bits/ 64 <390000000>; 364 opp-microvolt = <625000>; 365 }; 366 opp-410000000 { 367 opp-hz = /bits/ 64 <410000000>; 368 opp-microvolt = <631250>; 369 }; 370 opp-431000000 { 371 opp-hz = /bits/ 64 <431000000>; 372 opp-microvolt = <631250>; 373 }; 374 opp-473000000 { 375 opp-hz = /bits/ 64 <473000000>; 376 opp-microvolt = <637500>; 377 }; 378 opp-515000000 { 379 opp-hz = /bits/ 64 <515000000>; 380 opp-microvolt = <637500>; 381 }; 382 opp-556000000 { 383 opp-hz = /bits/ 64 <556000000>; 384 opp-microvolt = <643750>; 385 }; 386 opp-598000000 { 387 opp-hz = /bits/ 64 <598000000>; 388 opp-microvolt = <650000>; 389 }; 390 opp-640000000 { 391 opp-hz = /bits/ 64 <640000000>; 392 opp-microvolt = <650000>; 393 }; 394 opp-670000000 { 395 opp-hz = /bits/ 64 <670000000>; 396 opp-microvolt = <662500>; 397 }; 398 opp-700000000 { 399 opp-hz = /bits/ 64 <700000000>; 400 opp-microvolt = <675000>; 401 }; 402 opp-730000000 { 403 opp-hz = /bits/ 64 <730000000>; 404 opp-microvolt = <687500>; 405 }; 406 opp-760000000 { 407 opp-hz = /bits/ 64 <760000000>; 408 opp-microvolt = <700000>; 409 }; 410 opp-790000000 { 411 opp-hz = /bits/ 64 <790000000>; 412 opp-microvolt = <712500>; 413 }; 414 opp-820000000 { 415 opp-hz = /bits/ 64 <820000000>; 416 opp-microvolt = <725000>; 417 }; 418 opp-850000000 { 419 opp-hz = /bits/ 64 <850000000>; 420 opp-microvolt = <737500>; 421 }; 422 opp-880000000 { 423 opp-hz = /bits/ 64 <880000000>; 424 opp-microvolt = <750000>; 425 }; 426 }; 427 428 pmu-a55 { 429 compatible = "arm,cortex-a55-pmu"; 430 interrupt-parent = <&gic>; 431 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 432 }; 433 434 pmu-a78 { 435 compatible = "arm,cortex-a78-pmu"; 436 interrupt-parent = <&gic>; 437 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 438 }; 439 440 psci { 441 compatible = "arm,psci-1.0"; 442 method = "smc"; 443 }; 444 445 timer: timer { 446 compatible = "arm,armv8-timer"; 447 interrupt-parent = <&gic>; 448 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 449 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 450 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 451 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 452 }; 453 454 soc { 455 #address-cells = <2>; 456 #size-cells = <2>; 457 compatible = "simple-bus"; 458 ranges; 459 dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>; 460 461 gic: interrupt-controller@c000000 { 462 compatible = "arm,gic-v3"; 463 #interrupt-cells = <4>; 464 #redistributor-regions = <1>; 465 interrupt-parent = <&gic>; 466 interrupt-controller; 467 reg = <0 0x0c000000 0 0x40000>, 468 <0 0x0c040000 0 0x200000>; 469 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 470 471 ppi-partitions { 472 ppi_cluster0: interrupt-partition-0 { 473 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 474 }; 475 476 ppi_cluster1: interrupt-partition-1 { 477 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>; 478 }; 479 }; 480 }; 481 482 topckgen: syscon@10000000 { 483 compatible = "mediatek,mt8195-topckgen", "syscon"; 484 reg = <0 0x10000000 0 0x1000>; 485 #clock-cells = <1>; 486 }; 487 488 infracfg_ao: syscon@10001000 { 489 compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd"; 490 reg = <0 0x10001000 0 0x1000>; 491 #clock-cells = <1>; 492 #reset-cells = <1>; 493 }; 494 495 pericfg: syscon@10003000 { 496 compatible = "mediatek,mt8195-pericfg", "syscon"; 497 reg = <0 0x10003000 0 0x1000>; 498 #clock-cells = <1>; 499 }; 500 501 pio: pinctrl@10005000 { 502 compatible = "mediatek,mt8195-pinctrl"; 503 reg = <0 0x10005000 0 0x1000>, 504 <0 0x11d10000 0 0x1000>, 505 <0 0x11d30000 0 0x1000>, 506 <0 0x11d40000 0 0x1000>, 507 <0 0x11e20000 0 0x1000>, 508 <0 0x11eb0000 0 0x1000>, 509 <0 0x11f40000 0 0x1000>, 510 <0 0x1000b000 0 0x1000>; 511 reg-names = "iocfg0", "iocfg_bm", "iocfg_bl", 512 "iocfg_br", "iocfg_lm", "iocfg_rb", 513 "iocfg_tl", "eint"; 514 gpio-controller; 515 #gpio-cells = <2>; 516 gpio-ranges = <&pio 0 0 144>; 517 interrupt-controller; 518 interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>; 519 #interrupt-cells = <2>; 520 }; 521 522 scpsys: syscon@10006000 { 523 compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd"; 524 reg = <0 0x10006000 0 0x1000>; 525 526 /* System Power Manager */ 527 spm: power-controller { 528 compatible = "mediatek,mt8195-power-controller"; 529 #address-cells = <1>; 530 #size-cells = <0>; 531 #power-domain-cells = <1>; 532 533 /* power domain of the SoC */ 534 mfg0: power-domain@MT8195_POWER_DOMAIN_MFG0 { 535 reg = <MT8195_POWER_DOMAIN_MFG0>; 536 #address-cells = <1>; 537 #size-cells = <0>; 538 #power-domain-cells = <1>; 539 540 power-domain@MT8195_POWER_DOMAIN_MFG1 { 541 reg = <MT8195_POWER_DOMAIN_MFG1>; 542 clocks = <&apmixedsys CLK_APMIXED_MFGPLL>, 543 <&topckgen CLK_TOP_MFG_CORE_TMP>; 544 clock-names = "mfg", "alt"; 545 mediatek,infracfg = <&infracfg_ao>; 546 #address-cells = <1>; 547 #size-cells = <0>; 548 #power-domain-cells = <1>; 549 550 power-domain@MT8195_POWER_DOMAIN_MFG2 { 551 reg = <MT8195_POWER_DOMAIN_MFG2>; 552 #power-domain-cells = <0>; 553 }; 554 555 power-domain@MT8195_POWER_DOMAIN_MFG3 { 556 reg = <MT8195_POWER_DOMAIN_MFG3>; 557 #power-domain-cells = <0>; 558 }; 559 560 power-domain@MT8195_POWER_DOMAIN_MFG4 { 561 reg = <MT8195_POWER_DOMAIN_MFG4>; 562 #power-domain-cells = <0>; 563 }; 564 565 power-domain@MT8195_POWER_DOMAIN_MFG5 { 566 reg = <MT8195_POWER_DOMAIN_MFG5>; 567 #power-domain-cells = <0>; 568 }; 569 570 power-domain@MT8195_POWER_DOMAIN_MFG6 { 571 reg = <MT8195_POWER_DOMAIN_MFG6>; 572 #power-domain-cells = <0>; 573 }; 574 }; 575 }; 576 577 power-domain@MT8195_POWER_DOMAIN_VPPSYS0 { 578 reg = <MT8195_POWER_DOMAIN_VPPSYS0>; 579 clocks = <&topckgen CLK_TOP_VPP>, 580 <&topckgen CLK_TOP_CAM>, 581 <&topckgen CLK_TOP_CCU>, 582 <&topckgen CLK_TOP_IMG>, 583 <&topckgen CLK_TOP_VENC>, 584 <&topckgen CLK_TOP_VDEC>, 585 <&topckgen CLK_TOP_WPE_VPP>, 586 <&topckgen CLK_TOP_CFG_VPP0>, 587 <&vppsys0 CLK_VPP0_SMI_COMMON>, 588 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>, 589 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>, 590 <&vppsys0 CLK_VPP0_GALS_VENCSYS>, 591 <&vppsys0 CLK_VPP0_GALS_VENCSYS_CORE1>, 592 <&vppsys0 CLK_VPP0_GALS_INFRA>, 593 <&vppsys0 CLK_VPP0_GALS_CAMSYS>, 594 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>, 595 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>, 596 <&vppsys0 CLK_VPP0_SMI_REORDER>, 597 <&vppsys0 CLK_VPP0_SMI_IOMMU>, 598 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>, 599 <&vppsys0 CLK_VPP0_GALS_EMI0_EMI1>, 600 <&vppsys0 CLK_VPP0_SMI_SUB_COMMON_REORDER>, 601 <&vppsys0 CLK_VPP0_SMI_RSI>, 602 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 603 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 604 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 605 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 606 clock-names = "vppsys", "vppsys1", "vppsys2", "vppsys3", 607 "vppsys4", "vppsys5", "vppsys6", "vppsys7", 608 "vppsys0-0", "vppsys0-1", "vppsys0-2", "vppsys0-3", 609 "vppsys0-4", "vppsys0-5", "vppsys0-6", "vppsys0-7", 610 "vppsys0-8", "vppsys0-9", "vppsys0-10", "vppsys0-11", 611 "vppsys0-12", "vppsys0-13", "vppsys0-14", 612 "vppsys0-15", "vppsys0-16", "vppsys0-17", 613 "vppsys0-18"; 614 mediatek,infracfg = <&infracfg_ao>; 615 #address-cells = <1>; 616 #size-cells = <0>; 617 #power-domain-cells = <1>; 618 619 power-domain@MT8195_POWER_DOMAIN_VDEC1 { 620 reg = <MT8195_POWER_DOMAIN_VDEC1>; 621 clocks = <&vdecsys CLK_VDEC_LARB1>; 622 clock-names = "vdec1-0"; 623 mediatek,infracfg = <&infracfg_ao>; 624 #power-domain-cells = <0>; 625 }; 626 627 power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 { 628 reg = <MT8195_POWER_DOMAIN_VENC_CORE1>; 629 mediatek,infracfg = <&infracfg_ao>; 630 #power-domain-cells = <0>; 631 }; 632 633 power-domain@MT8195_POWER_DOMAIN_VDOSYS0 { 634 reg = <MT8195_POWER_DOMAIN_VDOSYS0>; 635 clocks = <&topckgen CLK_TOP_CFG_VDO0>, 636 <&vdosys0 CLK_VDO0_SMI_GALS>, 637 <&vdosys0 CLK_VDO0_SMI_COMMON>, 638 <&vdosys0 CLK_VDO0_SMI_EMI>, 639 <&vdosys0 CLK_VDO0_SMI_IOMMU>, 640 <&vdosys0 CLK_VDO0_SMI_LARB>, 641 <&vdosys0 CLK_VDO0_SMI_RSI>; 642 clock-names = "vdosys0", "vdosys0-0", "vdosys0-1", 643 "vdosys0-2", "vdosys0-3", 644 "vdosys0-4", "vdosys0-5"; 645 mediatek,infracfg = <&infracfg_ao>; 646 #address-cells = <1>; 647 #size-cells = <0>; 648 #power-domain-cells = <1>; 649 650 power-domain@MT8195_POWER_DOMAIN_VPPSYS1 { 651 reg = <MT8195_POWER_DOMAIN_VPPSYS1>; 652 clocks = <&topckgen CLK_TOP_CFG_VPP1>, 653 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 654 <&vppsys1 CLK_VPP1_VPPSYS1_LARB>; 655 clock-names = "vppsys1", "vppsys1-0", 656 "vppsys1-1"; 657 mediatek,infracfg = <&infracfg_ao>; 658 #power-domain-cells = <0>; 659 }; 660 661 power-domain@MT8195_POWER_DOMAIN_WPESYS { 662 reg = <MT8195_POWER_DOMAIN_WPESYS>; 663 clocks = <&wpesys CLK_WPE_SMI_LARB7>, 664 <&wpesys CLK_WPE_SMI_LARB8>, 665 <&wpesys CLK_WPE_SMI_LARB7_P>, 666 <&wpesys CLK_WPE_SMI_LARB8_P>; 667 clock-names = "wepsys-0", "wepsys-1", "wepsys-2", 668 "wepsys-3"; 669 mediatek,infracfg = <&infracfg_ao>; 670 #power-domain-cells = <0>; 671 }; 672 673 power-domain@MT8195_POWER_DOMAIN_VDEC0 { 674 reg = <MT8195_POWER_DOMAIN_VDEC0>; 675 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 676 clock-names = "vdec0-0"; 677 mediatek,infracfg = <&infracfg_ao>; 678 #power-domain-cells = <0>; 679 }; 680 681 power-domain@MT8195_POWER_DOMAIN_VDEC2 { 682 reg = <MT8195_POWER_DOMAIN_VDEC2>; 683 clocks = <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>; 684 clock-names = "vdec2-0"; 685 mediatek,infracfg = <&infracfg_ao>; 686 #power-domain-cells = <0>; 687 }; 688 689 power-domain@MT8195_POWER_DOMAIN_VENC { 690 reg = <MT8195_POWER_DOMAIN_VENC>; 691 mediatek,infracfg = <&infracfg_ao>; 692 #power-domain-cells = <0>; 693 }; 694 695 power-domain@MT8195_POWER_DOMAIN_VDOSYS1 { 696 reg = <MT8195_POWER_DOMAIN_VDOSYS1>; 697 clocks = <&topckgen CLK_TOP_CFG_VDO1>, 698 <&vdosys1 CLK_VDO1_SMI_LARB2>, 699 <&vdosys1 CLK_VDO1_SMI_LARB3>, 700 <&vdosys1 CLK_VDO1_GALS>; 701 clock-names = "vdosys1", "vdosys1-0", 702 "vdosys1-1", "vdosys1-2"; 703 mediatek,infracfg = <&infracfg_ao>; 704 #address-cells = <1>; 705 #size-cells = <0>; 706 #power-domain-cells = <1>; 707 708 power-domain@MT8195_POWER_DOMAIN_DP_TX { 709 reg = <MT8195_POWER_DOMAIN_DP_TX>; 710 mediatek,infracfg = <&infracfg_ao>; 711 #power-domain-cells = <0>; 712 }; 713 714 power-domain@MT8195_POWER_DOMAIN_EPD_TX { 715 reg = <MT8195_POWER_DOMAIN_EPD_TX>; 716 mediatek,infracfg = <&infracfg_ao>; 717 #power-domain-cells = <0>; 718 }; 719 720 power-domain@MT8195_POWER_DOMAIN_HDMI_TX { 721 reg = <MT8195_POWER_DOMAIN_HDMI_TX>; 722 clocks = <&topckgen CLK_TOP_HDMI_APB>; 723 clock-names = "hdmi_tx"; 724 #power-domain-cells = <0>; 725 }; 726 }; 727 728 power-domain@MT8195_POWER_DOMAIN_IMG { 729 reg = <MT8195_POWER_DOMAIN_IMG>; 730 clocks = <&imgsys CLK_IMG_LARB9>, 731 <&imgsys CLK_IMG_GALS>; 732 clock-names = "img-0", "img-1"; 733 mediatek,infracfg = <&infracfg_ao>; 734 #address-cells = <1>; 735 #size-cells = <0>; 736 #power-domain-cells = <1>; 737 738 power-domain@MT8195_POWER_DOMAIN_DIP { 739 reg = <MT8195_POWER_DOMAIN_DIP>; 740 #power-domain-cells = <0>; 741 }; 742 743 power-domain@MT8195_POWER_DOMAIN_IPE { 744 reg = <MT8195_POWER_DOMAIN_IPE>; 745 clocks = <&topckgen CLK_TOP_IPE>, 746 <&imgsys CLK_IMG_IPE>, 747 <&ipesys CLK_IPE_SMI_LARB12>; 748 clock-names = "ipe", "ipe-0", "ipe-1"; 749 mediatek,infracfg = <&infracfg_ao>; 750 #power-domain-cells = <0>; 751 }; 752 }; 753 754 power-domain@MT8195_POWER_DOMAIN_CAM { 755 reg = <MT8195_POWER_DOMAIN_CAM>; 756 clocks = <&camsys CLK_CAM_LARB13>, 757 <&camsys CLK_CAM_LARB14>, 758 <&camsys CLK_CAM_CAM2MM0_GALS>, 759 <&camsys CLK_CAM_CAM2MM1_GALS>, 760 <&camsys CLK_CAM_CAM2SYS_GALS>; 761 clock-names = "cam-0", "cam-1", "cam-2", "cam-3", 762 "cam-4"; 763 mediatek,infracfg = <&infracfg_ao>; 764 #address-cells = <1>; 765 #size-cells = <0>; 766 #power-domain-cells = <1>; 767 768 power-domain@MT8195_POWER_DOMAIN_CAM_RAWA { 769 reg = <MT8195_POWER_DOMAIN_CAM_RAWA>; 770 #power-domain-cells = <0>; 771 }; 772 773 power-domain@MT8195_POWER_DOMAIN_CAM_RAWB { 774 reg = <MT8195_POWER_DOMAIN_CAM_RAWB>; 775 #power-domain-cells = <0>; 776 }; 777 778 power-domain@MT8195_POWER_DOMAIN_CAM_MRAW { 779 reg = <MT8195_POWER_DOMAIN_CAM_MRAW>; 780 #power-domain-cells = <0>; 781 }; 782 }; 783 }; 784 }; 785 786 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P0 { 787 reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P0>; 788 mediatek,infracfg = <&infracfg_ao>; 789 #power-domain-cells = <0>; 790 }; 791 792 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P1 { 793 reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P1>; 794 mediatek,infracfg = <&infracfg_ao>; 795 #power-domain-cells = <0>; 796 }; 797 798 power-domain@MT8195_POWER_DOMAIN_PCIE_PHY { 799 reg = <MT8195_POWER_DOMAIN_PCIE_PHY>; 800 #power-domain-cells = <0>; 801 }; 802 803 power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY { 804 reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>; 805 #power-domain-cells = <0>; 806 }; 807 808 power-domain@MT8195_POWER_DOMAIN_CSI_RX_TOP { 809 reg = <MT8195_POWER_DOMAIN_CSI_RX_TOP>; 810 clocks = <&topckgen CLK_TOP_SENINF>, 811 <&topckgen CLK_TOP_SENINF2>; 812 clock-names = "csi_rx_top", "csi_rx_top1"; 813 #power-domain-cells = <0>; 814 }; 815 816 power-domain@MT8195_POWER_DOMAIN_ETHER { 817 reg = <MT8195_POWER_DOMAIN_ETHER>; 818 clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>; 819 clock-names = "ether"; 820 #power-domain-cells = <0>; 821 }; 822 823 power-domain@MT8195_POWER_DOMAIN_ADSP { 824 reg = <MT8195_POWER_DOMAIN_ADSP>; 825 clocks = <&topckgen CLK_TOP_ADSP>, 826 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>; 827 clock-names = "adsp", "adsp1"; 828 #address-cells = <1>; 829 #size-cells = <0>; 830 mediatek,infracfg = <&infracfg_ao>; 831 #power-domain-cells = <1>; 832 833 power-domain@MT8195_POWER_DOMAIN_AUDIO { 834 reg = <MT8195_POWER_DOMAIN_AUDIO>; 835 clocks = <&topckgen CLK_TOP_A1SYS_HP>, 836 <&topckgen CLK_TOP_AUD_INTBUS>, 837 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 838 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>; 839 clock-names = "audio", "audio1", "audio2", 840 "audio3"; 841 mediatek,infracfg = <&infracfg_ao>; 842 #power-domain-cells = <0>; 843 }; 844 }; 845 }; 846 }; 847 848 watchdog: watchdog@10007000 { 849 compatible = "mediatek,mt8195-wdt"; 850 mediatek,disable-extrst; 851 reg = <0 0x10007000 0 0x100>; 852 #reset-cells = <1>; 853 }; 854 855 apmixedsys: syscon@1000c000 { 856 compatible = "mediatek,mt8195-apmixedsys", "syscon"; 857 reg = <0 0x1000c000 0 0x1000>; 858 #clock-cells = <1>; 859 }; 860 861 systimer: timer@10017000 { 862 compatible = "mediatek,mt8195-timer", 863 "mediatek,mt6765-timer"; 864 reg = <0 0x10017000 0 0x1000>; 865 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>; 866 clocks = <&clk13m>; 867 }; 868 869 pwrap: pwrap@10024000 { 870 compatible = "mediatek,mt8195-pwrap", "syscon"; 871 reg = <0 0x10024000 0 0x1000>; 872 reg-names = "pwrap"; 873 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>; 874 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 875 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>; 876 clock-names = "spi", "wrap"; 877 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>; 878 assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 879 }; 880 881 spmi: spmi@10027000 { 882 compatible = "mediatek,mt8195-spmi"; 883 reg = <0 0x10027000 0 0x000e00>, 884 <0 0x10029000 0 0x000100>; 885 reg-names = "pmif", "spmimst"; 886 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 887 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>, 888 <&topckgen CLK_TOP_SPMI_M_MST>; 889 clock-names = "pmif_sys_ck", 890 "pmif_tmr_ck", 891 "spmimst_clk_mux"; 892 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>; 893 assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 894 }; 895 896 iommu_infra: infra-iommu@10315000 { 897 compatible = "mediatek,mt8195-iommu-infra"; 898 reg = <0 0x10315000 0 0x5000>; 899 interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH 0>, 900 <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH 0>, 901 <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH 0>, 902 <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH 0>, 903 <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH 0>; 904 #iommu-cells = <1>; 905 }; 906 907 gce0: mailbox@10320000 { 908 compatible = "mediatek,mt8195-gce"; 909 reg = <0 0x10320000 0 0x4000>; 910 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>; 911 #mbox-cells = <2>; 912 clocks = <&infracfg_ao CLK_INFRA_AO_GCE>; 913 }; 914 915 gce1: mailbox@10330000 { 916 compatible = "mediatek,mt8195-gce"; 917 reg = <0 0x10330000 0 0x4000>; 918 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH 0>; 919 #mbox-cells = <2>; 920 clocks = <&infracfg_ao CLK_INFRA_AO_GCE2>; 921 }; 922 923 scp: scp@10500000 { 924 compatible = "mediatek,mt8195-scp"; 925 reg = <0 0x10500000 0 0x100000>, 926 <0 0x10720000 0 0xe0000>, 927 <0 0x10700000 0 0x8000>; 928 reg-names = "sram", "cfg", "l1tcm"; 929 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH 0>; 930 status = "disabled"; 931 }; 932 933 scp_adsp: clock-controller@10720000 { 934 compatible = "mediatek,mt8195-scp_adsp"; 935 reg = <0 0x10720000 0 0x1000>; 936 #clock-cells = <1>; 937 }; 938 939 adsp: dsp@10803000 { 940 compatible = "mediatek,mt8195-dsp"; 941 reg = <0 0x10803000 0 0x1000>, 942 <0 0x10840000 0 0x40000>; 943 reg-names = "cfg", "sram"; 944 clocks = <&topckgen CLK_TOP_ADSP>, 945 <&clk26m>, 946 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 947 <&topckgen CLK_TOP_MAINPLL_D7_D2>, 948 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>, 949 <&topckgen CLK_TOP_AUDIO_H>; 950 clock-names = "adsp_sel", 951 "clk26m_ck", 952 "audio_local_bus", 953 "mainpll_d7_d2", 954 "scp_adsp_audiodsp", 955 "audio_h"; 956 power-domains = <&spm MT8195_POWER_DOMAIN_ADSP>; 957 mbox-names = "rx", "tx"; 958 mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>; 959 status = "disabled"; 960 }; 961 962 adsp_mailbox0: mailbox@10816000 { 963 compatible = "mediatek,mt8195-adsp-mbox"; 964 #mbox-cells = <0>; 965 reg = <0 0x10816000 0 0x1000>; 966 interrupts = <GIC_SPI 702 IRQ_TYPE_LEVEL_HIGH 0>; 967 }; 968 969 adsp_mailbox1: mailbox@10817000 { 970 compatible = "mediatek,mt8195-adsp-mbox"; 971 #mbox-cells = <0>; 972 reg = <0 0x10817000 0 0x1000>; 973 interrupts = <GIC_SPI 703 IRQ_TYPE_LEVEL_HIGH 0>; 974 }; 975 976 afe: mt8195-afe-pcm@10890000 { 977 compatible = "mediatek,mt8195-audio"; 978 reg = <0 0x10890000 0 0x10000>; 979 mediatek,topckgen = <&topckgen>; 980 power-domains = <&spm MT8195_POWER_DOMAIN_AUDIO>; 981 interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>; 982 resets = <&watchdog 14>; 983 reset-names = "audiosys"; 984 clocks = <&clk26m>, 985 <&apmixedsys CLK_APMIXED_APLL1>, 986 <&apmixedsys CLK_APMIXED_APLL2>, 987 <&topckgen CLK_TOP_APLL12_DIV0>, 988 <&topckgen CLK_TOP_APLL12_DIV1>, 989 <&topckgen CLK_TOP_APLL12_DIV2>, 990 <&topckgen CLK_TOP_APLL12_DIV3>, 991 <&topckgen CLK_TOP_APLL12_DIV9>, 992 <&topckgen CLK_TOP_A1SYS_HP>, 993 <&topckgen CLK_TOP_AUD_INTBUS>, 994 <&topckgen CLK_TOP_AUDIO_H>, 995 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 996 <&topckgen CLK_TOP_DPTX_MCK>, 997 <&topckgen CLK_TOP_I2SO1_MCK>, 998 <&topckgen CLK_TOP_I2SO2_MCK>, 999 <&topckgen CLK_TOP_I2SI1_MCK>, 1000 <&topckgen CLK_TOP_I2SI2_MCK>, 1001 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>, 1002 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>; 1003 clock-names = "clk26m", 1004 "apll1_ck", 1005 "apll2_ck", 1006 "apll12_div0", 1007 "apll12_div1", 1008 "apll12_div2", 1009 "apll12_div3", 1010 "apll12_div9", 1011 "a1sys_hp_sel", 1012 "aud_intbus_sel", 1013 "audio_h_sel", 1014 "audio_local_bus_sel", 1015 "dptx_m_sel", 1016 "i2so1_m_sel", 1017 "i2so2_m_sel", 1018 "i2si1_m_sel", 1019 "i2si2_m_sel", 1020 "infra_ao_audio_26m_b", 1021 "scp_adsp_audiodsp"; 1022 status = "disabled"; 1023 }; 1024 1025 uart0: serial@11001100 { 1026 compatible = "mediatek,mt8195-uart", 1027 "mediatek,mt6577-uart"; 1028 reg = <0 0x11001100 0 0x100>; 1029 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>; 1030 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>; 1031 clock-names = "baud", "bus"; 1032 status = "disabled"; 1033 }; 1034 1035 uart1: serial@11001200 { 1036 compatible = "mediatek,mt8195-uart", 1037 "mediatek,mt6577-uart"; 1038 reg = <0 0x11001200 0 0x100>; 1039 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>; 1040 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>; 1041 clock-names = "baud", "bus"; 1042 status = "disabled"; 1043 }; 1044 1045 uart2: serial@11001300 { 1046 compatible = "mediatek,mt8195-uart", 1047 "mediatek,mt6577-uart"; 1048 reg = <0 0x11001300 0 0x100>; 1049 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>; 1050 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>; 1051 clock-names = "baud", "bus"; 1052 status = "disabled"; 1053 }; 1054 1055 uart3: serial@11001400 { 1056 compatible = "mediatek,mt8195-uart", 1057 "mediatek,mt6577-uart"; 1058 reg = <0 0x11001400 0 0x100>; 1059 interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>; 1060 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>; 1061 clock-names = "baud", "bus"; 1062 status = "disabled"; 1063 }; 1064 1065 uart4: serial@11001500 { 1066 compatible = "mediatek,mt8195-uart", 1067 "mediatek,mt6577-uart"; 1068 reg = <0 0x11001500 0 0x100>; 1069 interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>; 1070 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>; 1071 clock-names = "baud", "bus"; 1072 status = "disabled"; 1073 }; 1074 1075 uart5: serial@11001600 { 1076 compatible = "mediatek,mt8195-uart", 1077 "mediatek,mt6577-uart"; 1078 reg = <0 0x11001600 0 0x100>; 1079 interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>; 1080 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>; 1081 clock-names = "baud", "bus"; 1082 status = "disabled"; 1083 }; 1084 1085 auxadc: auxadc@11002000 { 1086 compatible = "mediatek,mt8195-auxadc", 1087 "mediatek,mt8173-auxadc"; 1088 reg = <0 0x11002000 0 0x1000>; 1089 clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>; 1090 clock-names = "main"; 1091 #io-channel-cells = <1>; 1092 status = "disabled"; 1093 }; 1094 1095 pericfg_ao: syscon@11003000 { 1096 compatible = "mediatek,mt8195-pericfg_ao", "syscon"; 1097 reg = <0 0x11003000 0 0x1000>; 1098 #clock-cells = <1>; 1099 }; 1100 1101 spi0: spi@1100a000 { 1102 compatible = "mediatek,mt8195-spi", 1103 "mediatek,mt6765-spi"; 1104 #address-cells = <1>; 1105 #size-cells = <0>; 1106 reg = <0 0x1100a000 0 0x1000>; 1107 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>; 1108 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1109 <&topckgen CLK_TOP_SPI>, 1110 <&infracfg_ao CLK_INFRA_AO_SPI0>; 1111 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1112 status = "disabled"; 1113 }; 1114 1115 lvts_ap: thermal-sensor@1100b000 { 1116 compatible = "mediatek,mt8195-lvts-ap"; 1117 reg = <0 0x1100b000 0 0x1000>; 1118 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>; 1119 clocks = <&infracfg_ao CLK_INFRA_AO_THERM>; 1120 resets = <&infracfg_ao MT8195_INFRA_RST0_THERM_CTRL_SWRST>; 1121 nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>; 1122 nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2"; 1123 #thermal-sensor-cells = <1>; 1124 }; 1125 1126 disp_pwm0: pwm@1100e000 { 1127 compatible = "mediatek,mt8195-disp-pwm", "mediatek,mt8183-disp-pwm"; 1128 reg = <0 0x1100e000 0 0x1000>; 1129 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_LOW 0>; 1130 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 1131 #pwm-cells = <2>; 1132 clocks = <&topckgen CLK_TOP_DISP_PWM0>, 1133 <&infracfg_ao CLK_INFRA_AO_DISP_PWM>; 1134 clock-names = "main", "mm"; 1135 status = "disabled"; 1136 }; 1137 1138 disp_pwm1: pwm@1100f000 { 1139 compatible = "mediatek,mt8195-disp-pwm", "mediatek,mt8183-disp-pwm"; 1140 reg = <0 0x1100f000 0 0x1000>; 1141 interrupts = <GIC_SPI 793 IRQ_TYPE_LEVEL_HIGH 0>; 1142 #pwm-cells = <2>; 1143 clocks = <&topckgen CLK_TOP_DISP_PWM1>, 1144 <&infracfg_ao CLK_INFRA_AO_DISP_PWM1>; 1145 clock-names = "main", "mm"; 1146 status = "disabled"; 1147 }; 1148 1149 spi1: spi@11010000 { 1150 compatible = "mediatek,mt8195-spi", 1151 "mediatek,mt6765-spi"; 1152 #address-cells = <1>; 1153 #size-cells = <0>; 1154 reg = <0 0x11010000 0 0x1000>; 1155 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>; 1156 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1157 <&topckgen CLK_TOP_SPI>, 1158 <&infracfg_ao CLK_INFRA_AO_SPI1>; 1159 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1160 status = "disabled"; 1161 }; 1162 1163 spi2: spi@11012000 { 1164 compatible = "mediatek,mt8195-spi", 1165 "mediatek,mt6765-spi"; 1166 #address-cells = <1>; 1167 #size-cells = <0>; 1168 reg = <0 0x11012000 0 0x1000>; 1169 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>; 1170 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1171 <&topckgen CLK_TOP_SPI>, 1172 <&infracfg_ao CLK_INFRA_AO_SPI2>; 1173 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1174 status = "disabled"; 1175 }; 1176 1177 spi3: spi@11013000 { 1178 compatible = "mediatek,mt8195-spi", 1179 "mediatek,mt6765-spi"; 1180 #address-cells = <1>; 1181 #size-cells = <0>; 1182 reg = <0 0x11013000 0 0x1000>; 1183 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>; 1184 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1185 <&topckgen CLK_TOP_SPI>, 1186 <&infracfg_ao CLK_INFRA_AO_SPI3>; 1187 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1188 status = "disabled"; 1189 }; 1190 1191 spi4: spi@11018000 { 1192 compatible = "mediatek,mt8195-spi", 1193 "mediatek,mt6765-spi"; 1194 #address-cells = <1>; 1195 #size-cells = <0>; 1196 reg = <0 0x11018000 0 0x1000>; 1197 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>; 1198 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1199 <&topckgen CLK_TOP_SPI>, 1200 <&infracfg_ao CLK_INFRA_AO_SPI4>; 1201 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1202 status = "disabled"; 1203 }; 1204 1205 spi5: spi@11019000 { 1206 compatible = "mediatek,mt8195-spi", 1207 "mediatek,mt6765-spi"; 1208 #address-cells = <1>; 1209 #size-cells = <0>; 1210 reg = <0 0x11019000 0 0x1000>; 1211 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>; 1212 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1213 <&topckgen CLK_TOP_SPI>, 1214 <&infracfg_ao CLK_INFRA_AO_SPI5>; 1215 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1216 status = "disabled"; 1217 }; 1218 1219 spis0: spi@1101d000 { 1220 compatible = "mediatek,mt8195-spi-slave"; 1221 reg = <0 0x1101d000 0 0x1000>; 1222 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>; 1223 clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>; 1224 clock-names = "spi"; 1225 assigned-clocks = <&topckgen CLK_TOP_SPIS>; 1226 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 1227 status = "disabled"; 1228 }; 1229 1230 spis1: spi@1101e000 { 1231 compatible = "mediatek,mt8195-spi-slave"; 1232 reg = <0 0x1101e000 0 0x1000>; 1233 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>; 1234 clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>; 1235 clock-names = "spi"; 1236 assigned-clocks = <&topckgen CLK_TOP_SPIS>; 1237 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 1238 status = "disabled"; 1239 }; 1240 1241 eth: ethernet@11021000 { 1242 compatible = "mediatek,mt8195-gmac", "snps,dwmac-5.10a"; 1243 reg = <0 0x11021000 0 0x4000>; 1244 interrupts = <GIC_SPI 716 IRQ_TYPE_LEVEL_HIGH 0>; 1245 interrupt-names = "macirq"; 1246 clock-names = "axi", 1247 "apb", 1248 "mac_main", 1249 "ptp_ref", 1250 "rmii_internal", 1251 "mac_cg"; 1252 clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET>, 1253 <&pericfg_ao CLK_PERI_AO_ETHERNET_BUS>, 1254 <&topckgen CLK_TOP_SNPS_ETH_250M>, 1255 <&topckgen CLK_TOP_SNPS_ETH_62P4M_PTP>, 1256 <&topckgen CLK_TOP_SNPS_ETH_50M_RMII>, 1257 <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>; 1258 assigned-clocks = <&topckgen CLK_TOP_SNPS_ETH_250M>, 1259 <&topckgen CLK_TOP_SNPS_ETH_62P4M_PTP>, 1260 <&topckgen CLK_TOP_SNPS_ETH_50M_RMII>; 1261 assigned-clock-parents = <&topckgen CLK_TOP_ETHPLL_D2>, 1262 <&topckgen CLK_TOP_ETHPLL_D8>, 1263 <&topckgen CLK_TOP_ETHPLL_D10>; 1264 power-domains = <&spm MT8195_POWER_DOMAIN_ETHER>; 1265 mediatek,pericfg = <&infracfg_ao>; 1266 snps,axi-config = <&stmmac_axi_setup>; 1267 snps,mtl-rx-config = <&mtl_rx_setup>; 1268 snps,mtl-tx-config = <&mtl_tx_setup>; 1269 snps,txpbl = <16>; 1270 snps,rxpbl = <16>; 1271 snps,clk-csr = <0>; 1272 status = "disabled"; 1273 1274 mdio { 1275 compatible = "snps,dwmac-mdio"; 1276 #address-cells = <1>; 1277 #size-cells = <0>; 1278 }; 1279 1280 stmmac_axi_setup: stmmac-axi-config { 1281 snps,wr_osr_lmt = <0x7>; 1282 snps,rd_osr_lmt = <0x7>; 1283 snps,blen = <0 0 0 0 16 8 4>; 1284 }; 1285 1286 mtl_rx_setup: rx-queues-config { 1287 snps,rx-queues-to-use = <4>; 1288 snps,rx-sched-sp; 1289 queue0 { 1290 snps,dcb-algorithm; 1291 snps,map-to-dma-channel = <0x0>; 1292 }; 1293 queue1 { 1294 snps,dcb-algorithm; 1295 snps,map-to-dma-channel = <0x0>; 1296 }; 1297 queue2 { 1298 snps,dcb-algorithm; 1299 snps,map-to-dma-channel = <0x0>; 1300 }; 1301 queue3 { 1302 snps,dcb-algorithm; 1303 snps,map-to-dma-channel = <0x0>; 1304 }; 1305 }; 1306 1307 mtl_tx_setup: tx-queues-config { 1308 snps,tx-queues-to-use = <4>; 1309 snps,tx-sched-wrr; 1310 queue0 { 1311 snps,weight = <0x10>; 1312 snps,dcb-algorithm; 1313 snps,priority = <0x0>; 1314 }; 1315 queue1 { 1316 snps,weight = <0x11>; 1317 snps,dcb-algorithm; 1318 snps,priority = <0x1>; 1319 }; 1320 queue2 { 1321 snps,weight = <0x12>; 1322 snps,dcb-algorithm; 1323 snps,priority = <0x2>; 1324 }; 1325 queue3 { 1326 snps,weight = <0x13>; 1327 snps,dcb-algorithm; 1328 snps,priority = <0x3>; 1329 }; 1330 }; 1331 }; 1332 1333 xhci0: usb@11200000 { 1334 compatible = "mediatek,mt8195-xhci", 1335 "mediatek,mtk-xhci"; 1336 reg = <0 0x11200000 0 0x1000>, 1337 <0 0x11203e00 0 0x0100>; 1338 reg-names = "mac", "ippc"; 1339 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>; 1340 phys = <&u2port0 PHY_TYPE_USB2>, 1341 <&u3port0 PHY_TYPE_USB3>; 1342 assigned-clocks = <&topckgen CLK_TOP_USB_TOP>, 1343 <&topckgen CLK_TOP_SSUSB_XHCI>; 1344 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1345 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1346 clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>, 1347 <&topckgen CLK_TOP_SSUSB_REF>, 1348 <&apmixedsys CLK_APMIXED_USB1PLL>, 1349 <&clk26m>, 1350 <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>; 1351 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1352 "xhci_ck"; 1353 mediatek,syscon-wakeup = <&pericfg 0x400 103>; 1354 wakeup-source; 1355 status = "disabled"; 1356 }; 1357 1358 mmc0: mmc@11230000 { 1359 compatible = "mediatek,mt8195-mmc", 1360 "mediatek,mt8183-mmc"; 1361 reg = <0 0x11230000 0 0x10000>, 1362 <0 0x11f50000 0 0x1000>; 1363 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>; 1364 clocks = <&topckgen CLK_TOP_MSDC50_0>, 1365 <&infracfg_ao CLK_INFRA_AO_MSDC0>, 1366 <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>; 1367 clock-names = "source", "hclk", "source_cg"; 1368 status = "disabled"; 1369 }; 1370 1371 mmc1: mmc@11240000 { 1372 compatible = "mediatek,mt8195-mmc", 1373 "mediatek,mt8183-mmc"; 1374 reg = <0 0x11240000 0 0x1000>, 1375 <0 0x11c70000 0 0x1000>; 1376 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>; 1377 clocks = <&topckgen CLK_TOP_MSDC30_1>, 1378 <&infracfg_ao CLK_INFRA_AO_MSDC1>, 1379 <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>; 1380 clock-names = "source", "hclk", "source_cg"; 1381 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>; 1382 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 1383 status = "disabled"; 1384 }; 1385 1386 mmc2: mmc@11250000 { 1387 compatible = "mediatek,mt8195-mmc", 1388 "mediatek,mt8183-mmc"; 1389 reg = <0 0x11250000 0 0x1000>, 1390 <0 0x11e60000 0 0x1000>; 1391 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>; 1392 clocks = <&topckgen CLK_TOP_MSDC30_2>, 1393 <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>, 1394 <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>; 1395 clock-names = "source", "hclk", "source_cg"; 1396 assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>; 1397 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 1398 status = "disabled"; 1399 }; 1400 1401 lvts_mcu: thermal-sensor@11278000 { 1402 compatible = "mediatek,mt8195-lvts-mcu"; 1403 reg = <0 0x11278000 0 0x1000>; 1404 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>; 1405 clocks = <&infracfg_ao CLK_INFRA_AO_THERM>; 1406 resets = <&infracfg_ao MT8195_INFRA_RST4_THERM_CTRL_MCU_SWRST>; 1407 nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>; 1408 nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2"; 1409 #thermal-sensor-cells = <1>; 1410 }; 1411 1412 xhci1: usb@11290000 { 1413 compatible = "mediatek,mt8195-xhci", 1414 "mediatek,mtk-xhci"; 1415 reg = <0 0x11290000 0 0x1000>, 1416 <0 0x11293e00 0 0x0100>; 1417 reg-names = "mac", "ippc"; 1418 interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>; 1419 phys = <&u2port1 PHY_TYPE_USB2>; 1420 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>, 1421 <&topckgen CLK_TOP_SSUSB_XHCI_1P>; 1422 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1423 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1424 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>, 1425 <&topckgen CLK_TOP_SSUSB_P1_REF>, 1426 <&apmixedsys CLK_APMIXED_USB1PLL>, 1427 <&clk26m>, 1428 <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>; 1429 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1430 "xhci_ck"; 1431 mediatek,syscon-wakeup = <&pericfg 0x400 104>; 1432 wakeup-source; 1433 status = "disabled"; 1434 }; 1435 1436 xhci2: usb@112a0000 { 1437 compatible = "mediatek,mt8195-xhci", 1438 "mediatek,mtk-xhci"; 1439 reg = <0 0x112a0000 0 0x1000>, 1440 <0 0x112a3e00 0 0x0100>; 1441 reg-names = "mac", "ippc"; 1442 interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>; 1443 phys = <&u2port2 PHY_TYPE_USB2>; 1444 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>, 1445 <&topckgen CLK_TOP_SSUSB_XHCI_2P>; 1446 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1447 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1448 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>, 1449 <&topckgen CLK_TOP_SSUSB_P2_REF>, 1450 <&clk26m>, 1451 <&clk26m>, 1452 <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>; 1453 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1454 "xhci_ck"; 1455 mediatek,syscon-wakeup = <&pericfg 0x400 105>; 1456 wakeup-source; 1457 status = "disabled"; 1458 }; 1459 1460 xhci3: usb@112b0000 { 1461 compatible = "mediatek,mt8195-xhci", 1462 "mediatek,mtk-xhci"; 1463 reg = <0 0x112b0000 0 0x1000>, 1464 <0 0x112b3e00 0 0x0100>; 1465 reg-names = "mac", "ippc"; 1466 interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>; 1467 phys = <&u2port3 PHY_TYPE_USB2>; 1468 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>, 1469 <&topckgen CLK_TOP_SSUSB_XHCI_3P>; 1470 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1471 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1472 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>, 1473 <&topckgen CLK_TOP_SSUSB_P3_REF>, 1474 <&clk26m>, 1475 <&clk26m>, 1476 <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>; 1477 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1478 "xhci_ck"; 1479 mediatek,syscon-wakeup = <&pericfg 0x400 106>; 1480 wakeup-source; 1481 status = "disabled"; 1482 }; 1483 1484 pcie0: pcie@112f0000 { 1485 compatible = "mediatek,mt8195-pcie", 1486 "mediatek,mt8192-pcie"; 1487 device_type = "pci"; 1488 #address-cells = <3>; 1489 #size-cells = <2>; 1490 reg = <0 0x112f0000 0 0x4000>; 1491 reg-names = "pcie-mac"; 1492 interrupts = <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH 0>; 1493 bus-range = <0x00 0xff>; 1494 ranges = <0x81000000 0 0x20000000 1495 0x0 0x20000000 0 0x200000>, 1496 <0x82000000 0 0x20200000 1497 0x0 0x20200000 0 0x3e00000>; 1498 1499 iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE0 0x2>; 1500 iommu-map-mask = <0x0>; 1501 1502 clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P0>, 1503 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_26M>, 1504 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_96M>, 1505 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_32K>, 1506 <&infracfg_ao CLK_INFRA_AO_PCIE_PERI_26M>, 1507 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>; 1508 clock-names = "pl_250m", "tl_26m", "tl_96m", 1509 "tl_32k", "peri_26m", "peri_mem"; 1510 assigned-clocks = <&topckgen CLK_TOP_TL>; 1511 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>; 1512 1513 phys = <&pciephy>; 1514 phy-names = "pcie-phy"; 1515 1516 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P0>; 1517 1518 resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P0_SWRST>; 1519 reset-names = "mac"; 1520 1521 #interrupt-cells = <1>; 1522 interrupt-map-mask = <0 0 0 7>; 1523 interrupt-map = <0 0 0 1 &pcie_intc0 0>, 1524 <0 0 0 2 &pcie_intc0 1>, 1525 <0 0 0 3 &pcie_intc0 2>, 1526 <0 0 0 4 &pcie_intc0 3>; 1527 status = "disabled"; 1528 1529 pcie_intc0: interrupt-controller { 1530 interrupt-controller; 1531 #address-cells = <0>; 1532 #interrupt-cells = <1>; 1533 }; 1534 }; 1535 1536 pcie1: pcie@112f8000 { 1537 compatible = "mediatek,mt8195-pcie", 1538 "mediatek,mt8192-pcie"; 1539 device_type = "pci"; 1540 #address-cells = <3>; 1541 #size-cells = <2>; 1542 reg = <0 0x112f8000 0 0x4000>; 1543 reg-names = "pcie-mac"; 1544 interrupts = <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH 0>; 1545 bus-range = <0x00 0xff>; 1546 ranges = <0x81000000 0 0x24000000 1547 0x0 0x24000000 0 0x200000>, 1548 <0x82000000 0 0x24200000 1549 0x0 0x24200000 0 0x3e00000>; 1550 1551 iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE1 0x2>; 1552 iommu-map-mask = <0x0>; 1553 1554 clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P1>, 1555 <&clk26m>, 1556 <&infracfg_ao CLK_INFRA_AO_PCIE_P1_TL_96M>, 1557 <&clk26m>, 1558 <&infracfg_ao CLK_INFRA_AO_PCIE_P1_PERI_26M>, 1559 /* Designer has connect pcie1 with peri_mem_p0 clock */ 1560 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>; 1561 clock-names = "pl_250m", "tl_26m", "tl_96m", 1562 "tl_32k", "peri_26m", "peri_mem"; 1563 assigned-clocks = <&topckgen CLK_TOP_TL_P1>; 1564 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>; 1565 1566 phys = <&u3port1 PHY_TYPE_PCIE>; 1567 phy-names = "pcie-phy"; 1568 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P1>; 1569 1570 resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P1_SWRST>; 1571 reset-names = "mac"; 1572 1573 #interrupt-cells = <1>; 1574 interrupt-map-mask = <0 0 0 7>; 1575 interrupt-map = <0 0 0 1 &pcie_intc1 0>, 1576 <0 0 0 2 &pcie_intc1 1>, 1577 <0 0 0 3 &pcie_intc1 2>, 1578 <0 0 0 4 &pcie_intc1 3>; 1579 status = "disabled"; 1580 1581 pcie_intc1: interrupt-controller { 1582 interrupt-controller; 1583 #address-cells = <0>; 1584 #interrupt-cells = <1>; 1585 }; 1586 }; 1587 1588 nor_flash: spi@1132c000 { 1589 compatible = "mediatek,mt8195-nor", 1590 "mediatek,mt8173-nor"; 1591 reg = <0 0x1132c000 0 0x1000>; 1592 interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>; 1593 clocks = <&topckgen CLK_TOP_SPINOR>, 1594 <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>, 1595 <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>; 1596 clock-names = "spi", "sf", "axi"; 1597 #address-cells = <1>; 1598 #size-cells = <0>; 1599 status = "disabled"; 1600 }; 1601 1602 efuse: efuse@11c10000 { 1603 compatible = "mediatek,mt8195-efuse", "mediatek,efuse"; 1604 reg = <0 0x11c10000 0 0x1000>; 1605 #address-cells = <1>; 1606 #size-cells = <1>; 1607 u3_tx_imp_p0: usb3-tx-imp@184,1 { 1608 reg = <0x184 0x1>; 1609 bits = <0 5>; 1610 }; 1611 u3_rx_imp_p0: usb3-rx-imp@184,2 { 1612 reg = <0x184 0x2>; 1613 bits = <5 5>; 1614 }; 1615 u3_intr_p0: usb3-intr@185 { 1616 reg = <0x185 0x1>; 1617 bits = <2 6>; 1618 }; 1619 comb_tx_imp_p1: usb3-tx-imp@186,1 { 1620 reg = <0x186 0x1>; 1621 bits = <0 5>; 1622 }; 1623 comb_rx_imp_p1: usb3-rx-imp@186,2 { 1624 reg = <0x186 0x2>; 1625 bits = <5 5>; 1626 }; 1627 comb_intr_p1: usb3-intr@187 { 1628 reg = <0x187 0x1>; 1629 bits = <2 6>; 1630 }; 1631 u2_intr_p0: usb2-intr-p0@188,1 { 1632 reg = <0x188 0x1>; 1633 bits = <0 5>; 1634 }; 1635 u2_intr_p1: usb2-intr-p1@188,2 { 1636 reg = <0x188 0x2>; 1637 bits = <5 5>; 1638 }; 1639 u2_intr_p2: usb2-intr-p2@189,1 { 1640 reg = <0x189 0x1>; 1641 bits = <2 5>; 1642 }; 1643 u2_intr_p3: usb2-intr-p3@189,2 { 1644 reg = <0x189 0x2>; 1645 bits = <7 5>; 1646 }; 1647 pciephy_rx_ln1: pciephy-rx-ln1@190,1 { 1648 reg = <0x190 0x1>; 1649 bits = <0 4>; 1650 }; 1651 pciephy_tx_ln1_nmos: pciephy-tx-ln1-nmos@190,2 { 1652 reg = <0x190 0x1>; 1653 bits = <4 4>; 1654 }; 1655 pciephy_tx_ln1_pmos: pciephy-tx-ln1-pmos@191,1 { 1656 reg = <0x191 0x1>; 1657 bits = <0 4>; 1658 }; 1659 pciephy_rx_ln0: pciephy-rx-ln0@191,2 { 1660 reg = <0x191 0x1>; 1661 bits = <4 4>; 1662 }; 1663 pciephy_tx_ln0_nmos: pciephy-tx-ln0-nmos@192,1 { 1664 reg = <0x192 0x1>; 1665 bits = <0 4>; 1666 }; 1667 pciephy_tx_ln0_pmos: pciephy-tx-ln0-pmos@192,2 { 1668 reg = <0x192 0x1>; 1669 bits = <4 4>; 1670 }; 1671 pciephy_glb_intr: pciephy-glb-intr@193 { 1672 reg = <0x193 0x1>; 1673 bits = <0 4>; 1674 }; 1675 dp_calibration: dp-data@1ac { 1676 reg = <0x1ac 0x10>; 1677 }; 1678 lvts_efuse_data1: lvts1-calib@1bc { 1679 reg = <0x1bc 0x14>; 1680 }; 1681 lvts_efuse_data2: lvts2-calib@1d0 { 1682 reg = <0x1d0 0x38>; 1683 }; 1684 }; 1685 1686 u3phy2: t-phy@11c40000 { 1687 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1688 #address-cells = <1>; 1689 #size-cells = <1>; 1690 ranges = <0 0 0x11c40000 0x700>; 1691 status = "disabled"; 1692 1693 u2port2: usb-phy@0 { 1694 reg = <0x0 0x700>; 1695 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>; 1696 clock-names = "ref"; 1697 #phy-cells = <1>; 1698 }; 1699 }; 1700 1701 u3phy3: t-phy@11c50000 { 1702 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1703 #address-cells = <1>; 1704 #size-cells = <1>; 1705 ranges = <0 0 0x11c50000 0x700>; 1706 status = "disabled"; 1707 1708 u2port3: usb-phy@0 { 1709 reg = <0x0 0x700>; 1710 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>; 1711 clock-names = "ref"; 1712 #phy-cells = <1>; 1713 }; 1714 }; 1715 1716 i2c5: i2c@11d00000 { 1717 compatible = "mediatek,mt8195-i2c", 1718 "mediatek,mt8192-i2c"; 1719 reg = <0 0x11d00000 0 0x1000>, 1720 <0 0x10220580 0 0x80>; 1721 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>; 1722 clock-div = <1>; 1723 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>, 1724 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1725 clock-names = "main", "dma"; 1726 #address-cells = <1>; 1727 #size-cells = <0>; 1728 status = "disabled"; 1729 }; 1730 1731 i2c6: i2c@11d01000 { 1732 compatible = "mediatek,mt8195-i2c", 1733 "mediatek,mt8192-i2c"; 1734 reg = <0 0x11d01000 0 0x1000>, 1735 <0 0x10220600 0 0x80>; 1736 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>; 1737 clock-div = <1>; 1738 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>, 1739 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1740 clock-names = "main", "dma"; 1741 #address-cells = <1>; 1742 #size-cells = <0>; 1743 status = "disabled"; 1744 }; 1745 1746 i2c7: i2c@11d02000 { 1747 compatible = "mediatek,mt8195-i2c", 1748 "mediatek,mt8192-i2c"; 1749 reg = <0 0x11d02000 0 0x1000>, 1750 <0 0x10220680 0 0x80>; 1751 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>; 1752 clock-div = <1>; 1753 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>, 1754 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1755 clock-names = "main", "dma"; 1756 #address-cells = <1>; 1757 #size-cells = <0>; 1758 status = "disabled"; 1759 }; 1760 1761 imp_iic_wrap_s: clock-controller@11d03000 { 1762 compatible = "mediatek,mt8195-imp_iic_wrap_s"; 1763 reg = <0 0x11d03000 0 0x1000>; 1764 #clock-cells = <1>; 1765 }; 1766 1767 i2c0: i2c@11e00000 { 1768 compatible = "mediatek,mt8195-i2c", 1769 "mediatek,mt8192-i2c"; 1770 reg = <0 0x11e00000 0 0x1000>, 1771 <0 0x10220080 0 0x80>; 1772 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>; 1773 clock-div = <1>; 1774 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>, 1775 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1776 clock-names = "main", "dma"; 1777 #address-cells = <1>; 1778 #size-cells = <0>; 1779 status = "disabled"; 1780 }; 1781 1782 i2c1: i2c@11e01000 { 1783 compatible = "mediatek,mt8195-i2c", 1784 "mediatek,mt8192-i2c"; 1785 reg = <0 0x11e01000 0 0x1000>, 1786 <0 0x10220200 0 0x80>; 1787 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>; 1788 clock-div = <1>; 1789 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>, 1790 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1791 clock-names = "main", "dma"; 1792 #address-cells = <1>; 1793 #size-cells = <0>; 1794 status = "disabled"; 1795 }; 1796 1797 i2c2: i2c@11e02000 { 1798 compatible = "mediatek,mt8195-i2c", 1799 "mediatek,mt8192-i2c"; 1800 reg = <0 0x11e02000 0 0x1000>, 1801 <0 0x10220380 0 0x80>; 1802 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>; 1803 clock-div = <1>; 1804 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>, 1805 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1806 clock-names = "main", "dma"; 1807 #address-cells = <1>; 1808 #size-cells = <0>; 1809 status = "disabled"; 1810 }; 1811 1812 i2c3: i2c@11e03000 { 1813 compatible = "mediatek,mt8195-i2c", 1814 "mediatek,mt8192-i2c"; 1815 reg = <0 0x11e03000 0 0x1000>, 1816 <0 0x10220480 0 0x80>; 1817 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>; 1818 clock-div = <1>; 1819 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>, 1820 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1821 clock-names = "main", "dma"; 1822 #address-cells = <1>; 1823 #size-cells = <0>; 1824 status = "disabled"; 1825 }; 1826 1827 i2c4: i2c@11e04000 { 1828 compatible = "mediatek,mt8195-i2c", 1829 "mediatek,mt8192-i2c"; 1830 reg = <0 0x11e04000 0 0x1000>, 1831 <0 0x10220500 0 0x80>; 1832 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>; 1833 clock-div = <1>; 1834 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>, 1835 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1836 clock-names = "main", "dma"; 1837 #address-cells = <1>; 1838 #size-cells = <0>; 1839 status = "disabled"; 1840 }; 1841 1842 imp_iic_wrap_w: clock-controller@11e05000 { 1843 compatible = "mediatek,mt8195-imp_iic_wrap_w"; 1844 reg = <0 0x11e05000 0 0x1000>; 1845 #clock-cells = <1>; 1846 }; 1847 1848 u3phy1: t-phy@11e30000 { 1849 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1850 #address-cells = <1>; 1851 #size-cells = <1>; 1852 ranges = <0 0 0x11e30000 0xe00>; 1853 power-domains = <&spm MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>; 1854 status = "disabled"; 1855 1856 u2port1: usb-phy@0 { 1857 reg = <0x0 0x700>; 1858 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>, 1859 <&clk26m>; 1860 clock-names = "ref", "da_ref"; 1861 #phy-cells = <1>; 1862 }; 1863 1864 u3port1: usb-phy@700 { 1865 reg = <0x700 0x700>; 1866 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1867 <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>; 1868 clock-names = "ref", "da_ref"; 1869 nvmem-cells = <&comb_intr_p1>, 1870 <&comb_rx_imp_p1>, 1871 <&comb_tx_imp_p1>; 1872 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1873 #phy-cells = <1>; 1874 }; 1875 }; 1876 1877 u3phy0: t-phy@11e40000 { 1878 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1879 #address-cells = <1>; 1880 #size-cells = <1>; 1881 ranges = <0 0 0x11e40000 0xe00>; 1882 status = "disabled"; 1883 1884 u2port0: usb-phy@0 { 1885 reg = <0x0 0x700>; 1886 clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>, 1887 <&clk26m>; 1888 clock-names = "ref", "da_ref"; 1889 #phy-cells = <1>; 1890 }; 1891 1892 u3port0: usb-phy@700 { 1893 reg = <0x700 0x700>; 1894 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1895 <&topckgen CLK_TOP_SSUSB_PHY_REF>; 1896 clock-names = "ref", "da_ref"; 1897 nvmem-cells = <&u3_intr_p0>, 1898 <&u3_rx_imp_p0>, 1899 <&u3_tx_imp_p0>; 1900 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1901 #phy-cells = <1>; 1902 }; 1903 }; 1904 1905 pciephy: phy@11e80000 { 1906 compatible = "mediatek,mt8195-pcie-phy"; 1907 reg = <0 0x11e80000 0 0x10000>; 1908 reg-names = "sif"; 1909 nvmem-cells = <&pciephy_glb_intr>, <&pciephy_tx_ln0_pmos>, 1910 <&pciephy_tx_ln0_nmos>, <&pciephy_rx_ln0>, 1911 <&pciephy_tx_ln1_pmos>, <&pciephy_tx_ln1_nmos>, 1912 <&pciephy_rx_ln1>; 1913 nvmem-cell-names = "glb_intr", "tx_ln0_pmos", 1914 "tx_ln0_nmos", "rx_ln0", 1915 "tx_ln1_pmos", "tx_ln1_nmos", 1916 "rx_ln1"; 1917 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_PHY>; 1918 #phy-cells = <0>; 1919 status = "disabled"; 1920 }; 1921 1922 ufsphy: ufs-phy@11fa0000 { 1923 compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy"; 1924 reg = <0 0x11fa0000 0 0xc000>; 1925 clocks = <&clk26m>, <&clk26m>; 1926 clock-names = "unipro", "mp"; 1927 #phy-cells = <0>; 1928 status = "disabled"; 1929 }; 1930 1931 gpu: gpu@13000000 { 1932 compatible = "mediatek,mt8195-mali", "mediatek,mt8192-mali", 1933 "arm,mali-valhall-jm"; 1934 reg = <0 0x13000000 0 0x4000>; 1935 1936 clocks = <&mfgcfg CLK_MFG_BG3D>; 1937 interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>, 1938 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH 0>, 1939 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH 0>; 1940 interrupt-names = "job", "mmu", "gpu"; 1941 operating-points-v2 = <&gpu_opp_table>; 1942 power-domains = <&spm MT8195_POWER_DOMAIN_MFG2>, 1943 <&spm MT8195_POWER_DOMAIN_MFG3>, 1944 <&spm MT8195_POWER_DOMAIN_MFG4>, 1945 <&spm MT8195_POWER_DOMAIN_MFG5>, 1946 <&spm MT8195_POWER_DOMAIN_MFG6>; 1947 power-domain-names = "core0", "core1", "core2", "core3", "core4"; 1948 status = "disabled"; 1949 }; 1950 1951 mfgcfg: clock-controller@13fbf000 { 1952 compatible = "mediatek,mt8195-mfgcfg"; 1953 reg = <0 0x13fbf000 0 0x1000>; 1954 #clock-cells = <1>; 1955 }; 1956 1957 vppsys0: syscon@14000000 { 1958 compatible = "mediatek,mt8195-vppsys0", "syscon"; 1959 reg = <0 0x14000000 0 0x1000>; 1960 #clock-cells = <1>; 1961 }; 1962 1963 mutex@1400f000 { 1964 compatible = "mediatek,mt8195-vpp-mutex"; 1965 reg = <0 0x1400f000 0 0x1000>; 1966 interrupts = <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH 0>; 1967 mediatek,gce-client-reg = <&gce1 SUBSYS_1400XXXX 0xf000 0x1000>; 1968 clocks = <&vppsys0 CLK_VPP0_MUTEX>; 1969 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1970 }; 1971 1972 smi_sub_common_vpp0_vpp1_2x1: smi@14010000 { 1973 compatible = "mediatek,mt8195-smi-sub-common"; 1974 reg = <0 0x14010000 0 0x1000>; 1975 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1976 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1977 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 1978 clock-names = "apb", "smi", "gals0"; 1979 mediatek,smi = <&smi_common_vpp>; 1980 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1981 }; 1982 1983 smi_sub_common_vdec_vpp0_2x1: smi@14011000 { 1984 compatible = "mediatek,mt8195-smi-sub-common"; 1985 reg = <0 0x14011000 0 0x1000>; 1986 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1987 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1988 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>; 1989 clock-names = "apb", "smi", "gals0"; 1990 mediatek,smi = <&smi_common_vpp>; 1991 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1992 }; 1993 1994 smi_common_vpp: smi@14012000 { 1995 compatible = "mediatek,mt8195-smi-common-vpp"; 1996 reg = <0 0x14012000 0 0x1000>; 1997 clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1998 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1999 <&vppsys0 CLK_VPP0_SMI_RSI>, 2000 <&vppsys0 CLK_VPP0_SMI_RSI>; 2001 clock-names = "apb", "smi", "gals0", "gals1"; 2002 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 2003 }; 2004 2005 larb4: larb@14013000 { 2006 compatible = "mediatek,mt8195-smi-larb"; 2007 reg = <0 0x14013000 0 0x1000>; 2008 mediatek,larb-id = <4>; 2009 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 2010 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 2011 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>; 2012 clock-names = "apb", "smi"; 2013 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 2014 }; 2015 2016 iommu_vpp: iommu@14018000 { 2017 compatible = "mediatek,mt8195-iommu-vpp"; 2018 reg = <0 0x14018000 0 0x1000>; 2019 mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8 2020 &larb12 &larb14 &larb16 &larb18 2021 &larb20 &larb22 &larb23 &larb26 2022 &larb27>; 2023 interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>; 2024 clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>; 2025 clock-names = "bclk"; 2026 #iommu-cells = <1>; 2027 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 2028 }; 2029 2030 wpesys: clock-controller@14e00000 { 2031 compatible = "mediatek,mt8195-wpesys"; 2032 reg = <0 0x14e00000 0 0x1000>; 2033 #clock-cells = <1>; 2034 }; 2035 2036 wpesys_vpp0: clock-controller@14e02000 { 2037 compatible = "mediatek,mt8195-wpesys_vpp0"; 2038 reg = <0 0x14e02000 0 0x1000>; 2039 #clock-cells = <1>; 2040 }; 2041 2042 wpesys_vpp1: clock-controller@14e03000 { 2043 compatible = "mediatek,mt8195-wpesys_vpp1"; 2044 reg = <0 0x14e03000 0 0x1000>; 2045 #clock-cells = <1>; 2046 }; 2047 2048 larb7: larb@14e04000 { 2049 compatible = "mediatek,mt8195-smi-larb"; 2050 reg = <0 0x14e04000 0 0x1000>; 2051 mediatek,larb-id = <7>; 2052 mediatek,smi = <&smi_common_vdo>; 2053 clocks = <&wpesys CLK_WPE_SMI_LARB7>, 2054 <&wpesys CLK_WPE_SMI_LARB7>; 2055 clock-names = "apb", "smi"; 2056 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 2057 }; 2058 2059 larb8: larb@14e05000 { 2060 compatible = "mediatek,mt8195-smi-larb"; 2061 reg = <0 0x14e05000 0 0x1000>; 2062 mediatek,larb-id = <8>; 2063 mediatek,smi = <&smi_common_vpp>; 2064 clocks = <&wpesys CLK_WPE_SMI_LARB8>, 2065 <&wpesys CLK_WPE_SMI_LARB8>, 2066 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 2067 clock-names = "apb", "smi", "gals"; 2068 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 2069 }; 2070 2071 vppsys1: syscon@14f00000 { 2072 compatible = "mediatek,mt8195-vppsys1", "syscon"; 2073 reg = <0 0x14f00000 0 0x1000>; 2074 #clock-cells = <1>; 2075 }; 2076 2077 mutex@14f01000 { 2078 compatible = "mediatek,mt8195-vpp-mutex"; 2079 reg = <0 0x14f01000 0 0x1000>; 2080 interrupts = <GIC_SPI 635 IRQ_TYPE_LEVEL_HIGH 0>; 2081 mediatek,gce-client-reg = <&gce1 SUBSYS_14f0XXXX 0x1000 0x1000>; 2082 clocks = <&vppsys1 CLK_VPP1_DISP_MUTEX>; 2083 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 2084 }; 2085 2086 larb5: larb@14f02000 { 2087 compatible = "mediatek,mt8195-smi-larb"; 2088 reg = <0 0x14f02000 0 0x1000>; 2089 mediatek,larb-id = <5>; 2090 mediatek,smi = <&smi_common_vdo>; 2091 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 2092 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 2093 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>; 2094 clock-names = "apb", "smi", "gals"; 2095 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 2096 }; 2097 2098 larb6: larb@14f03000 { 2099 compatible = "mediatek,mt8195-smi-larb"; 2100 reg = <0 0x14f03000 0 0x1000>; 2101 mediatek,larb-id = <6>; 2102 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 2103 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 2104 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 2105 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>; 2106 clock-names = "apb", "smi", "gals"; 2107 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 2108 }; 2109 2110 imgsys: clock-controller@15000000 { 2111 compatible = "mediatek,mt8195-imgsys"; 2112 reg = <0 0x15000000 0 0x1000>; 2113 #clock-cells = <1>; 2114 }; 2115 2116 larb9: larb@15001000 { 2117 compatible = "mediatek,mt8195-smi-larb"; 2118 reg = <0 0x15001000 0 0x1000>; 2119 mediatek,larb-id = <9>; 2120 mediatek,smi = <&smi_sub_common_img1_3x1>; 2121 clocks = <&imgsys CLK_IMG_LARB9>, 2122 <&imgsys CLK_IMG_LARB9>, 2123 <&imgsys CLK_IMG_GALS>; 2124 clock-names = "apb", "smi", "gals"; 2125 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 2126 }; 2127 2128 smi_sub_common_img0_3x1: smi@15002000 { 2129 compatible = "mediatek,mt8195-smi-sub-common"; 2130 reg = <0 0x15002000 0 0x1000>; 2131 clocks = <&imgsys CLK_IMG_IPE>, 2132 <&imgsys CLK_IMG_IPE>, 2133 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 2134 clock-names = "apb", "smi", "gals0"; 2135 mediatek,smi = <&smi_common_vpp>; 2136 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 2137 }; 2138 2139 smi_sub_common_img1_3x1: smi@15003000 { 2140 compatible = "mediatek,mt8195-smi-sub-common"; 2141 reg = <0 0x15003000 0 0x1000>; 2142 clocks = <&imgsys CLK_IMG_LARB9>, 2143 <&imgsys CLK_IMG_LARB9>, 2144 <&imgsys CLK_IMG_GALS>; 2145 clock-names = "apb", "smi", "gals0"; 2146 mediatek,smi = <&smi_common_vdo>; 2147 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 2148 }; 2149 2150 imgsys1_dip_top: clock-controller@15110000 { 2151 compatible = "mediatek,mt8195-imgsys1_dip_top"; 2152 reg = <0 0x15110000 0 0x1000>; 2153 #clock-cells = <1>; 2154 }; 2155 2156 larb10: larb@15120000 { 2157 compatible = "mediatek,mt8195-smi-larb"; 2158 reg = <0 0x15120000 0 0x1000>; 2159 mediatek,larb-id = <10>; 2160 mediatek,smi = <&smi_sub_common_img1_3x1>; 2161 clocks = <&imgsys CLK_IMG_DIP0>, 2162 <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>; 2163 clock-names = "apb", "smi"; 2164 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 2165 }; 2166 2167 imgsys1_dip_nr: clock-controller@15130000 { 2168 compatible = "mediatek,mt8195-imgsys1_dip_nr"; 2169 reg = <0 0x15130000 0 0x1000>; 2170 #clock-cells = <1>; 2171 }; 2172 2173 imgsys1_wpe: clock-controller@15220000 { 2174 compatible = "mediatek,mt8195-imgsys1_wpe"; 2175 reg = <0 0x15220000 0 0x1000>; 2176 #clock-cells = <1>; 2177 }; 2178 2179 larb11: larb@15230000 { 2180 compatible = "mediatek,mt8195-smi-larb"; 2181 reg = <0 0x15230000 0 0x1000>; 2182 mediatek,larb-id = <11>; 2183 mediatek,smi = <&smi_sub_common_img1_3x1>; 2184 clocks = <&imgsys CLK_IMG_WPE0>, 2185 <&imgsys1_wpe CLK_IMG1_WPE_LARB11>; 2186 clock-names = "apb", "smi"; 2187 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 2188 }; 2189 2190 ipesys: clock-controller@15330000 { 2191 compatible = "mediatek,mt8195-ipesys"; 2192 reg = <0 0x15330000 0 0x1000>; 2193 #clock-cells = <1>; 2194 }; 2195 2196 larb12: larb@15340000 { 2197 compatible = "mediatek,mt8195-smi-larb"; 2198 reg = <0 0x15340000 0 0x1000>; 2199 mediatek,larb-id = <12>; 2200 mediatek,smi = <&smi_sub_common_img0_3x1>; 2201 clocks = <&ipesys CLK_IPE_SMI_LARB12>, 2202 <&ipesys CLK_IPE_SMI_LARB12>; 2203 clock-names = "apb", "smi"; 2204 power-domains = <&spm MT8195_POWER_DOMAIN_IPE>; 2205 }; 2206 2207 camsys: clock-controller@16000000 { 2208 compatible = "mediatek,mt8195-camsys"; 2209 reg = <0 0x16000000 0 0x1000>; 2210 #clock-cells = <1>; 2211 }; 2212 2213 larb13: larb@16001000 { 2214 compatible = "mediatek,mt8195-smi-larb"; 2215 reg = <0 0x16001000 0 0x1000>; 2216 mediatek,larb-id = <13>; 2217 mediatek,smi = <&smi_sub_common_cam_4x1>; 2218 clocks = <&camsys CLK_CAM_LARB13>, 2219 <&camsys CLK_CAM_LARB13>, 2220 <&camsys CLK_CAM_CAM2MM0_GALS>; 2221 clock-names = "apb", "smi", "gals"; 2222 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2223 }; 2224 2225 larb14: larb@16002000 { 2226 compatible = "mediatek,mt8195-smi-larb"; 2227 reg = <0 0x16002000 0 0x1000>; 2228 mediatek,larb-id = <14>; 2229 mediatek,smi = <&smi_sub_common_cam_7x1>; 2230 clocks = <&camsys CLK_CAM_LARB14>, 2231 <&camsys CLK_CAM_LARB14>; 2232 clock-names = "apb", "smi"; 2233 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2234 }; 2235 2236 smi_sub_common_cam_4x1: smi@16004000 { 2237 compatible = "mediatek,mt8195-smi-sub-common"; 2238 reg = <0 0x16004000 0 0x1000>; 2239 clocks = <&camsys CLK_CAM_LARB13>, 2240 <&camsys CLK_CAM_LARB13>, 2241 <&camsys CLK_CAM_CAM2MM0_GALS>; 2242 clock-names = "apb", "smi", "gals0"; 2243 mediatek,smi = <&smi_common_vdo>; 2244 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2245 }; 2246 2247 smi_sub_common_cam_7x1: smi@16005000 { 2248 compatible = "mediatek,mt8195-smi-sub-common"; 2249 reg = <0 0x16005000 0 0x1000>; 2250 clocks = <&camsys CLK_CAM_LARB14>, 2251 <&camsys CLK_CAM_CAM2MM1_GALS>, 2252 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 2253 clock-names = "apb", "smi", "gals0"; 2254 mediatek,smi = <&smi_common_vpp>; 2255 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2256 }; 2257 2258 larb16: larb@16012000 { 2259 compatible = "mediatek,mt8195-smi-larb"; 2260 reg = <0 0x16012000 0 0x1000>; 2261 mediatek,larb-id = <16>; 2262 mediatek,smi = <&smi_sub_common_cam_7x1>; 2263 clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>, 2264 <&camsys_rawa CLK_CAM_RAWA_LARBX>; 2265 clock-names = "apb", "smi"; 2266 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 2267 }; 2268 2269 larb17: larb@16013000 { 2270 compatible = "mediatek,mt8195-smi-larb"; 2271 reg = <0 0x16013000 0 0x1000>; 2272 mediatek,larb-id = <17>; 2273 mediatek,smi = <&smi_sub_common_cam_4x1>; 2274 clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>, 2275 <&camsys_yuva CLK_CAM_YUVA_LARBX>; 2276 clock-names = "apb", "smi"; 2277 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 2278 }; 2279 2280 larb27: larb@16014000 { 2281 compatible = "mediatek,mt8195-smi-larb"; 2282 reg = <0 0x16014000 0 0x1000>; 2283 mediatek,larb-id = <27>; 2284 mediatek,smi = <&smi_sub_common_cam_7x1>; 2285 clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>, 2286 <&camsys_rawb CLK_CAM_RAWB_LARBX>; 2287 clock-names = "apb", "smi"; 2288 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 2289 }; 2290 2291 larb28: larb@16015000 { 2292 compatible = "mediatek,mt8195-smi-larb"; 2293 reg = <0 0x16015000 0 0x1000>; 2294 mediatek,larb-id = <28>; 2295 mediatek,smi = <&smi_sub_common_cam_4x1>; 2296 clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>, 2297 <&camsys_yuvb CLK_CAM_YUVB_LARBX>; 2298 clock-names = "apb", "smi"; 2299 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 2300 }; 2301 2302 camsys_rawa: clock-controller@1604f000 { 2303 compatible = "mediatek,mt8195-camsys_rawa"; 2304 reg = <0 0x1604f000 0 0x1000>; 2305 #clock-cells = <1>; 2306 }; 2307 2308 camsys_yuva: clock-controller@1606f000 { 2309 compatible = "mediatek,mt8195-camsys_yuva"; 2310 reg = <0 0x1606f000 0 0x1000>; 2311 #clock-cells = <1>; 2312 }; 2313 2314 camsys_rawb: clock-controller@1608f000 { 2315 compatible = "mediatek,mt8195-camsys_rawb"; 2316 reg = <0 0x1608f000 0 0x1000>; 2317 #clock-cells = <1>; 2318 }; 2319 2320 camsys_yuvb: clock-controller@160af000 { 2321 compatible = "mediatek,mt8195-camsys_yuvb"; 2322 reg = <0 0x160af000 0 0x1000>; 2323 #clock-cells = <1>; 2324 }; 2325 2326 camsys_mraw: clock-controller@16140000 { 2327 compatible = "mediatek,mt8195-camsys_mraw"; 2328 reg = <0 0x16140000 0 0x1000>; 2329 #clock-cells = <1>; 2330 }; 2331 2332 larb25: larb@16141000 { 2333 compatible = "mediatek,mt8195-smi-larb"; 2334 reg = <0 0x16141000 0 0x1000>; 2335 mediatek,larb-id = <25>; 2336 mediatek,smi = <&smi_sub_common_cam_4x1>; 2337 clocks = <&camsys CLK_CAM_LARB13>, 2338 <&camsys_mraw CLK_CAM_MRAW_LARBX>, 2339 <&camsys CLK_CAM_CAM2MM0_GALS>; 2340 clock-names = "apb", "smi", "gals"; 2341 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 2342 }; 2343 2344 larb26: larb@16142000 { 2345 compatible = "mediatek,mt8195-smi-larb"; 2346 reg = <0 0x16142000 0 0x1000>; 2347 mediatek,larb-id = <26>; 2348 mediatek,smi = <&smi_sub_common_cam_7x1>; 2349 clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>, 2350 <&camsys_mraw CLK_CAM_MRAW_LARBX>; 2351 clock-names = "apb", "smi"; 2352 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 2353 2354 }; 2355 2356 ccusys: clock-controller@17200000 { 2357 compatible = "mediatek,mt8195-ccusys"; 2358 reg = <0 0x17200000 0 0x1000>; 2359 #clock-cells = <1>; 2360 }; 2361 2362 larb18: larb@17201000 { 2363 compatible = "mediatek,mt8195-smi-larb"; 2364 reg = <0 0x17201000 0 0x1000>; 2365 mediatek,larb-id = <18>; 2366 mediatek,smi = <&smi_sub_common_cam_7x1>; 2367 clocks = <&ccusys CLK_CCU_LARB18>, 2368 <&ccusys CLK_CCU_LARB18>; 2369 clock-names = "apb", "smi"; 2370 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2371 }; 2372 2373 video-codec@18000000 { 2374 compatible = "mediatek,mt8195-vcodec-dec"; 2375 mediatek,scp = <&scp>; 2376 iommus = <&iommu_vdo M4U_PORT_L21_VDEC_MC_EXT>; 2377 #address-cells = <2>; 2378 #size-cells = <2>; 2379 reg = <0 0x18000000 0 0x1000>, 2380 <0 0x18004000 0 0x1000>; 2381 ranges = <0 0 0 0x18000000 0 0x26000>; 2382 2383 video-codec@2000 { 2384 compatible = "mediatek,mtk-vcodec-lat-soc"; 2385 reg = <0 0x2000 0 0x800>; 2386 iommus = <&iommu_vpp M4U_PORT_L23_VDEC_UFO_ENC_EXT>, 2387 <&iommu_vpp M4U_PORT_L23_VDEC_RDMA_EXT>; 2388 clocks = <&topckgen CLK_TOP_VDEC>, 2389 <&vdecsys_soc CLK_VDEC_SOC_VDEC>, 2390 <&vdecsys_soc CLK_VDEC_SOC_LAT>, 2391 <&topckgen CLK_TOP_UNIVPLL_D4>; 2392 clock-names = "sel", "vdec", "lat", "top"; 2393 assigned-clocks = <&topckgen CLK_TOP_VDEC>; 2394 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2395 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2396 }; 2397 2398 video-codec@10000 { 2399 compatible = "mediatek,mtk-vcodec-lat"; 2400 reg = <0 0x10000 0 0x800>; 2401 interrupts = <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH 0>; 2402 iommus = <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_VLD_EXT>, 2403 <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_VLD2_EXT>, 2404 <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_AVC_MC_EXT>, 2405 <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_PRED_RD_EXT>, 2406 <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_TILE_EXT>, 2407 <&iommu_vdo M4U_PORT_L24_VDEC_LAT0_WDMA_EXT>; 2408 clocks = <&topckgen CLK_TOP_VDEC>, 2409 <&vdecsys_soc CLK_VDEC_SOC_VDEC>, 2410 <&vdecsys_soc CLK_VDEC_SOC_LAT>, 2411 <&topckgen CLK_TOP_UNIVPLL_D4>; 2412 clock-names = "sel", "vdec", "lat", "top"; 2413 assigned-clocks = <&topckgen CLK_TOP_VDEC>; 2414 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2415 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2416 }; 2417 2418 video-codec@25000 { 2419 compatible = "mediatek,mtk-vcodec-core"; 2420 reg = <0 0x25000 0 0x1000>; /* VDEC_CORE_MISC */ 2421 interrupts = <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH 0>; 2422 iommus = <&iommu_vdo M4U_PORT_L21_VDEC_MC_EXT>, 2423 <&iommu_vdo M4U_PORT_L21_VDEC_UFO_EXT>, 2424 <&iommu_vdo M4U_PORT_L21_VDEC_PP_EXT>, 2425 <&iommu_vdo M4U_PORT_L21_VDEC_PRED_RD_EXT>, 2426 <&iommu_vdo M4U_PORT_L21_VDEC_PRED_WR_EXT>, 2427 <&iommu_vdo M4U_PORT_L21_VDEC_PPWRAP_EXT>, 2428 <&iommu_vdo M4U_PORT_L21_VDEC_TILE_EXT>, 2429 <&iommu_vdo M4U_PORT_L21_VDEC_VLD_EXT>, 2430 <&iommu_vdo M4U_PORT_L21_VDEC_VLD2_EXT>, 2431 <&iommu_vdo M4U_PORT_L21_VDEC_AVC_MV_EXT>; 2432 clocks = <&topckgen CLK_TOP_VDEC>, 2433 <&vdecsys CLK_VDEC_VDEC>, 2434 <&vdecsys CLK_VDEC_LAT>, 2435 <&topckgen CLK_TOP_UNIVPLL_D4>; 2436 clock-names = "sel", "vdec", "lat", "top"; 2437 assigned-clocks = <&topckgen CLK_TOP_VDEC>; 2438 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2439 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2440 }; 2441 }; 2442 2443 larb24: larb@1800d000 { 2444 compatible = "mediatek,mt8195-smi-larb"; 2445 reg = <0 0x1800d000 0 0x1000>; 2446 mediatek,larb-id = <24>; 2447 mediatek,smi = <&smi_common_vdo>; 2448 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>, 2449 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2450 clock-names = "apb", "smi"; 2451 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2452 }; 2453 2454 larb23: larb@1800e000 { 2455 compatible = "mediatek,mt8195-smi-larb"; 2456 reg = <0 0x1800e000 0 0x1000>; 2457 mediatek,larb-id = <23>; 2458 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2459 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2460 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2461 clock-names = "apb", "smi"; 2462 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2463 }; 2464 2465 vdecsys_soc: clock-controller@1800f000 { 2466 compatible = "mediatek,mt8195-vdecsys_soc"; 2467 reg = <0 0x1800f000 0 0x1000>; 2468 #clock-cells = <1>; 2469 }; 2470 2471 larb21: larb@1802e000 { 2472 compatible = "mediatek,mt8195-smi-larb"; 2473 reg = <0 0x1802e000 0 0x1000>; 2474 mediatek,larb-id = <21>; 2475 mediatek,smi = <&smi_common_vdo>; 2476 clocks = <&vdecsys CLK_VDEC_LARB1>, 2477 <&vdecsys CLK_VDEC_LARB1>; 2478 clock-names = "apb", "smi"; 2479 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2480 }; 2481 2482 vdecsys: clock-controller@1802f000 { 2483 compatible = "mediatek,mt8195-vdecsys"; 2484 reg = <0 0x1802f000 0 0x1000>; 2485 #clock-cells = <1>; 2486 }; 2487 2488 larb22: larb@1803e000 { 2489 compatible = "mediatek,mt8195-smi-larb"; 2490 reg = <0 0x1803e000 0 0x1000>; 2491 mediatek,larb-id = <22>; 2492 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2493 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2494 <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>; 2495 clock-names = "apb", "smi"; 2496 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>; 2497 }; 2498 2499 vdecsys_core1: clock-controller@1803f000 { 2500 compatible = "mediatek,mt8195-vdecsys_core1"; 2501 reg = <0 0x1803f000 0 0x1000>; 2502 #clock-cells = <1>; 2503 }; 2504 2505 apusys_pll: clock-controller@190f3000 { 2506 compatible = "mediatek,mt8195-apusys_pll"; 2507 reg = <0 0x190f3000 0 0x1000>; 2508 #clock-cells = <1>; 2509 }; 2510 2511 vencsys: clock-controller@1a000000 { 2512 compatible = "mediatek,mt8195-vencsys"; 2513 reg = <0 0x1a000000 0 0x1000>; 2514 #clock-cells = <1>; 2515 }; 2516 2517 larb19: larb@1a010000 { 2518 compatible = "mediatek,mt8195-smi-larb"; 2519 reg = <0 0x1a010000 0 0x1000>; 2520 mediatek,larb-id = <19>; 2521 mediatek,smi = <&smi_common_vdo>; 2522 clocks = <&vencsys CLK_VENC_VENC>, 2523 <&vencsys CLK_VENC_GALS>; 2524 clock-names = "apb", "smi"; 2525 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2526 }; 2527 2528 venc: video-codec@1a020000 { 2529 compatible = "mediatek,mt8195-vcodec-enc"; 2530 reg = <0 0x1a020000 0 0x10000>; 2531 iommus = <&iommu_vdo M4U_PORT_L19_VENC_RCPU>, 2532 <&iommu_vdo M4U_PORT_L19_VENC_REC>, 2533 <&iommu_vdo M4U_PORT_L19_VENC_BSDMA>, 2534 <&iommu_vdo M4U_PORT_L19_VENC_SV_COMV>, 2535 <&iommu_vdo M4U_PORT_L19_VENC_RD_COMV>, 2536 <&iommu_vdo M4U_PORT_L19_VENC_CUR_LUMA>, 2537 <&iommu_vdo M4U_PORT_L19_VENC_CUR_CHROMA>, 2538 <&iommu_vdo M4U_PORT_L19_VENC_REF_LUMA>, 2539 <&iommu_vdo M4U_PORT_L19_VENC_REF_CHROMA>; 2540 interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>; 2541 mediatek,scp = <&scp>; 2542 clocks = <&vencsys CLK_VENC_VENC>; 2543 clock-names = "venc_sel"; 2544 assigned-clocks = <&topckgen CLK_TOP_VENC>; 2545 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2546 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2547 #address-cells = <2>; 2548 #size-cells = <2>; 2549 }; 2550 2551 jpgdec-master { 2552 compatible = "mediatek,mt8195-jpgdec"; 2553 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2554 iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>, 2555 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>, 2556 <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>, 2557 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>, 2558 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>, 2559 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>; 2560 #address-cells = <2>; 2561 #size-cells = <2>; 2562 ranges; 2563 2564 jpgdec@1a040000 { 2565 compatible = "mediatek,mt8195-jpgdec-hw"; 2566 reg = <0 0x1a040000 0 0x10000>;/* JPGDEC_C0 */ 2567 iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>, 2568 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>, 2569 <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>, 2570 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>, 2571 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>, 2572 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>; 2573 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH 0>; 2574 clocks = <&vencsys CLK_VENC_JPGDEC>; 2575 clock-names = "jpgdec"; 2576 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2577 }; 2578 2579 jpgdec@1a050000 { 2580 compatible = "mediatek,mt8195-jpgdec-hw"; 2581 reg = <0 0x1a050000 0 0x10000>;/* JPGDEC_C1 */ 2582 iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>, 2583 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>, 2584 <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>, 2585 <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>, 2586 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>, 2587 <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>; 2588 interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH 0>; 2589 clocks = <&vencsys CLK_VENC_JPGDEC_C1>; 2590 clock-names = "jpgdec"; 2591 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2592 }; 2593 2594 jpgdec@1b040000 { 2595 compatible = "mediatek,mt8195-jpgdec-hw"; 2596 reg = <0 0x1b040000 0 0x10000>;/* JPGDEC_C2 */ 2597 iommus = <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA0>, 2598 <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA0>, 2599 <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA1>, 2600 <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA1>, 2601 <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET1>, 2602 <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET0>; 2603 interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH 0>; 2604 clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGDEC>; 2605 clock-names = "jpgdec"; 2606 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>; 2607 }; 2608 }; 2609 2610 vencsys_core1: clock-controller@1b000000 { 2611 compatible = "mediatek,mt8195-vencsys_core1"; 2612 reg = <0 0x1b000000 0 0x1000>; 2613 #clock-cells = <1>; 2614 }; 2615 2616 vdosys0: syscon@1c01a000 { 2617 compatible = "mediatek,mt8195-vdosys0", "mediatek,mt8195-mmsys", "syscon"; 2618 reg = <0 0x1c01a000 0 0x1000>; 2619 mboxes = <&gce0 0 CMDQ_THR_PRIO_4>; 2620 #clock-cells = <1>; 2621 }; 2622 2623 2624 jpgenc-master { 2625 compatible = "mediatek,mt8195-jpgenc"; 2626 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 2627 iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, 2628 <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, 2629 <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, 2630 <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; 2631 #address-cells = <2>; 2632 #size-cells = <2>; 2633 ranges; 2634 2635 jpgenc@1a030000 { 2636 compatible = "mediatek,mt8195-jpgenc-hw"; 2637 reg = <0 0x1a030000 0 0x10000>; 2638 iommus = <&iommu_vdo M4U_PORT_L19_JPGENC_Y_RDMA>, 2639 <&iommu_vdo M4U_PORT_L19_JPGENC_C_RDMA>, 2640 <&iommu_vdo M4U_PORT_L19_JPGENC_Q_TABLE>, 2641 <&iommu_vdo M4U_PORT_L19_JPGENC_BSDMA>; 2642 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH 0>; 2643 clocks = <&vencsys CLK_VENC_JPGENC>; 2644 clock-names = "jpgenc"; 2645 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2646 }; 2647 2648 jpgenc@1b030000 { 2649 compatible = "mediatek,mt8195-jpgenc-hw"; 2650 reg = <0 0x1b030000 0 0x10000>; 2651 iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, 2652 <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, 2653 <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, 2654 <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; 2655 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 0>; 2656 clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGENC>; 2657 clock-names = "jpgenc"; 2658 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 2659 }; 2660 }; 2661 2662 larb20: larb@1b010000 { 2663 compatible = "mediatek,mt8195-smi-larb"; 2664 reg = <0 0x1b010000 0 0x1000>; 2665 mediatek,larb-id = <20>; 2666 mediatek,smi = <&smi_common_vpp>; 2667 clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>, 2668 <&vencsys_core1 CLK_VENC_CORE1_GALS>, 2669 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2670 clock-names = "apb", "smi", "gals"; 2671 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 2672 }; 2673 2674 ovl0: ovl@1c000000 { 2675 compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl"; 2676 reg = <0 0x1c000000 0 0x1000>; 2677 interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>; 2678 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2679 clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>; 2680 iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>; 2681 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>; 2682 }; 2683 2684 rdma0: rdma@1c002000 { 2685 compatible = "mediatek,mt8195-disp-rdma"; 2686 reg = <0 0x1c002000 0 0x1000>; 2687 interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>; 2688 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2689 clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>; 2690 iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>; 2691 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>; 2692 }; 2693 2694 color0: color@1c003000 { 2695 compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color"; 2696 reg = <0 0x1c003000 0 0x1000>; 2697 interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>; 2698 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2699 clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>; 2700 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>; 2701 }; 2702 2703 ccorr0: ccorr@1c004000 { 2704 compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr"; 2705 reg = <0 0x1c004000 0 0x1000>; 2706 interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>; 2707 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2708 clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>; 2709 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>; 2710 }; 2711 2712 aal0: aal@1c005000 { 2713 compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal"; 2714 reg = <0 0x1c005000 0 0x1000>; 2715 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>; 2716 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2717 clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>; 2718 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>; 2719 }; 2720 2721 gamma0: gamma@1c006000 { 2722 compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma"; 2723 reg = <0 0x1c006000 0 0x1000>; 2724 interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>; 2725 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2726 clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>; 2727 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>; 2728 }; 2729 2730 dither0: dither@1c007000 { 2731 compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither"; 2732 reg = <0 0x1c007000 0 0x1000>; 2733 interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>; 2734 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2735 clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>; 2736 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>; 2737 }; 2738 2739 dsc0: dsc@1c009000 { 2740 compatible = "mediatek,mt8195-disp-dsc"; 2741 reg = <0 0x1c009000 0 0x1000>; 2742 interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>; 2743 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2744 clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>; 2745 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>; 2746 }; 2747 2748 merge0: merge@1c014000 { 2749 compatible = "mediatek,mt8195-disp-merge"; 2750 reg = <0 0x1c014000 0 0x1000>; 2751 interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>; 2752 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2753 clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>; 2754 mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>; 2755 }; 2756 2757 dp_intf0: dp-intf@1c015000 { 2758 compatible = "mediatek,mt8195-dp-intf"; 2759 reg = <0 0x1c015000 0 0x1000>; 2760 interrupts = <GIC_SPI 657 IRQ_TYPE_LEVEL_HIGH 0>; 2761 clocks = <&vdosys0 CLK_VDO0_DP_INTF0>, 2762 <&vdosys0 CLK_VDO0_DP_INTF0_DP_INTF>, 2763 <&apmixedsys CLK_APMIXED_TVDPLL1>; 2764 clock-names = "engine", "pixel", "pll"; 2765 status = "disabled"; 2766 }; 2767 2768 mutex: mutex@1c016000 { 2769 compatible = "mediatek,mt8195-disp-mutex"; 2770 reg = <0 0x1c016000 0 0x1000>; 2771 interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>; 2772 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2773 clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>; 2774 mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>; 2775 }; 2776 2777 larb0: larb@1c018000 { 2778 compatible = "mediatek,mt8195-smi-larb"; 2779 reg = <0 0x1c018000 0 0x1000>; 2780 mediatek,larb-id = <0>; 2781 mediatek,smi = <&smi_common_vdo>; 2782 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2783 <&vdosys0 CLK_VDO0_SMI_LARB>, 2784 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>; 2785 clock-names = "apb", "smi", "gals"; 2786 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2787 }; 2788 2789 larb1: larb@1c019000 { 2790 compatible = "mediatek,mt8195-smi-larb"; 2791 reg = <0 0x1c019000 0 0x1000>; 2792 mediatek,larb-id = <1>; 2793 mediatek,smi = <&smi_common_vpp>; 2794 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2795 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>, 2796 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>; 2797 clock-names = "apb", "smi", "gals"; 2798 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2799 }; 2800 2801 vdosys1: syscon@1c100000 { 2802 compatible = "mediatek,mt8195-vdosys1", "syscon"; 2803 reg = <0 0x1c100000 0 0x1000>; 2804 mboxes = <&gce0 1 CMDQ_THR_PRIO_4>; 2805 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x0000 0x1000>; 2806 #clock-cells = <1>; 2807 #reset-cells = <1>; 2808 }; 2809 2810 smi_common_vdo: smi@1c01b000 { 2811 compatible = "mediatek,mt8195-smi-common-vdo"; 2812 reg = <0 0x1c01b000 0 0x1000>; 2813 clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>, 2814 <&vdosys0 CLK_VDO0_SMI_EMI>, 2815 <&vdosys0 CLK_VDO0_SMI_RSI>, 2816 <&vdosys0 CLK_VDO0_SMI_GALS>; 2817 clock-names = "apb", "smi", "gals0", "gals1"; 2818 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2819 2820 }; 2821 2822 iommu_vdo: iommu@1c01f000 { 2823 compatible = "mediatek,mt8195-iommu-vdo"; 2824 reg = <0 0x1c01f000 0 0x1000>; 2825 mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9 2826 &larb10 &larb11 &larb13 &larb17 2827 &larb19 &larb21 &larb24 &larb25 2828 &larb28>; 2829 interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>; 2830 #iommu-cells = <1>; 2831 clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>; 2832 clock-names = "bclk"; 2833 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2834 }; 2835 2836 mutex1: mutex@1c101000 { 2837 compatible = "mediatek,mt8195-disp-mutex"; 2838 reg = <0 0x1c101000 0 0x1000>; 2839 reg-names = "vdo1_mutex"; 2840 interrupts = <GIC_SPI 494 IRQ_TYPE_LEVEL_HIGH 0>; 2841 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2842 clocks = <&vdosys1 CLK_VDO1_DISP_MUTEX>; 2843 clock-names = "vdo1_mutex"; 2844 mediatek,gce-events = <CMDQ_EVENT_VDO1_STREAM_DONE_ENG_0>; 2845 }; 2846 2847 larb2: larb@1c102000 { 2848 compatible = "mediatek,mt8195-smi-larb"; 2849 reg = <0 0x1c102000 0 0x1000>; 2850 mediatek,larb-id = <2>; 2851 mediatek,smi = <&smi_common_vdo>; 2852 clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>, 2853 <&vdosys1 CLK_VDO1_SMI_LARB2>, 2854 <&vdosys1 CLK_VDO1_GALS>; 2855 clock-names = "apb", "smi", "gals"; 2856 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2857 }; 2858 2859 larb3: larb@1c103000 { 2860 compatible = "mediatek,mt8195-smi-larb"; 2861 reg = <0 0x1c103000 0 0x1000>; 2862 mediatek,larb-id = <3>; 2863 mediatek,smi = <&smi_common_vpp>; 2864 clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>, 2865 <&vdosys1 CLK_VDO1_GALS>, 2866 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2867 clock-names = "apb", "smi", "gals"; 2868 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2869 }; 2870 2871 vdo1_rdma0: rdma@1c104000 { 2872 compatible = "mediatek,mt8195-vdo1-rdma"; 2873 reg = <0 0x1c104000 0 0x1000>; 2874 interrupts = <GIC_SPI 495 IRQ_TYPE_LEVEL_HIGH 0>; 2875 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA0>; 2876 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2877 iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA0>; 2878 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x4000 0x1000>; 2879 }; 2880 2881 vdo1_rdma1: rdma@1c105000 { 2882 compatible = "mediatek,mt8195-vdo1-rdma"; 2883 reg = <0 0x1c105000 0 0x1000>; 2884 interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH 0>; 2885 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA1>; 2886 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2887 iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA1>; 2888 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x5000 0x1000>; 2889 }; 2890 2891 vdo1_rdma2: rdma@1c106000 { 2892 compatible = "mediatek,mt8195-vdo1-rdma"; 2893 reg = <0 0x1c106000 0 0x1000>; 2894 interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH 0>; 2895 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA2>; 2896 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2897 iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA2>; 2898 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x6000 0x1000>; 2899 }; 2900 2901 vdo1_rdma3: rdma@1c107000 { 2902 compatible = "mediatek,mt8195-vdo1-rdma"; 2903 reg = <0 0x1c107000 0 0x1000>; 2904 interrupts = <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH 0>; 2905 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA3>; 2906 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2907 iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA3>; 2908 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x7000 0x1000>; 2909 }; 2910 2911 vdo1_rdma4: rdma@1c108000 { 2912 compatible = "mediatek,mt8195-vdo1-rdma"; 2913 reg = <0 0x1c108000 0 0x1000>; 2914 interrupts = <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH 0>; 2915 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA4>; 2916 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2917 iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA4>; 2918 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x8000 0x1000>; 2919 }; 2920 2921 vdo1_rdma5: rdma@1c109000 { 2922 compatible = "mediatek,mt8195-vdo1-rdma"; 2923 reg = <0 0x1c109000 0 0x1000>; 2924 interrupts = <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH 0>; 2925 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA5>; 2926 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2927 iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA5>; 2928 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x9000 0x1000>; 2929 }; 2930 2931 vdo1_rdma6: rdma@1c10a000 { 2932 compatible = "mediatek,mt8195-vdo1-rdma"; 2933 reg = <0 0x1c10a000 0 0x1000>; 2934 interrupts = <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH 0>; 2935 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA6>; 2936 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2937 iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA6>; 2938 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xa000 0x1000>; 2939 }; 2940 2941 vdo1_rdma7: rdma@1c10b000 { 2942 compatible = "mediatek,mt8195-vdo1-rdma"; 2943 reg = <0 0x1c10b000 0 0x1000>; 2944 interrupts = <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH 0>; 2945 clocks = <&vdosys1 CLK_VDO1_MDP_RDMA7>; 2946 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2947 iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA7>; 2948 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xb000 0x1000>; 2949 }; 2950 2951 merge1: vpp-merge@1c10c000 { 2952 compatible = "mediatek,mt8195-disp-merge"; 2953 reg = <0 0x1c10c000 0 0x1000>; 2954 interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>; 2955 clocks = <&vdosys1 CLK_VDO1_VPP_MERGE0>, 2956 <&vdosys1 CLK_VDO1_MERGE0_DL_ASYNC>; 2957 clock-names = "merge","merge_async"; 2958 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2959 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xc000 0x1000>; 2960 mediatek,merge-mute; 2961 resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE0_DL_ASYNC>; 2962 }; 2963 2964 merge2: vpp-merge@1c10d000 { 2965 compatible = "mediatek,mt8195-disp-merge"; 2966 reg = <0 0x1c10d000 0 0x1000>; 2967 interrupts = <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH 0>; 2968 clocks = <&vdosys1 CLK_VDO1_VPP_MERGE1>, 2969 <&vdosys1 CLK_VDO1_MERGE1_DL_ASYNC>; 2970 clock-names = "merge","merge_async"; 2971 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2972 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xd000 0x1000>; 2973 mediatek,merge-mute; 2974 resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE1_DL_ASYNC>; 2975 }; 2976 2977 merge3: vpp-merge@1c10e000 { 2978 compatible = "mediatek,mt8195-disp-merge"; 2979 reg = <0 0x1c10e000 0 0x1000>; 2980 interrupts = <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH 0>; 2981 clocks = <&vdosys1 CLK_VDO1_VPP_MERGE2>, 2982 <&vdosys1 CLK_VDO1_MERGE2_DL_ASYNC>; 2983 clock-names = "merge","merge_async"; 2984 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2985 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xe000 0x1000>; 2986 mediatek,merge-mute; 2987 resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE2_DL_ASYNC>; 2988 }; 2989 2990 merge4: vpp-merge@1c10f000 { 2991 compatible = "mediatek,mt8195-disp-merge"; 2992 reg = <0 0x1c10f000 0 0x1000>; 2993 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH 0>; 2994 clocks = <&vdosys1 CLK_VDO1_VPP_MERGE3>, 2995 <&vdosys1 CLK_VDO1_MERGE3_DL_ASYNC>; 2996 clock-names = "merge","merge_async"; 2997 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2998 mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xf000 0x1000>; 2999 mediatek,merge-mute; 3000 resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE3_DL_ASYNC>; 3001 }; 3002 3003 merge5: vpp-merge@1c110000 { 3004 compatible = "mediatek,mt8195-disp-merge"; 3005 reg = <0 0x1c110000 0 0x1000>; 3006 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH 0>; 3007 clocks = <&vdosys1 CLK_VDO1_VPP_MERGE4>, 3008 <&vdosys1 CLK_VDO1_MERGE4_DL_ASYNC>; 3009 clock-names = "merge","merge_async"; 3010 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 3011 mediatek,gce-client-reg = <&gce0 SUBSYS_1c11XXXX 0x0000 0x1000>; 3012 mediatek,merge-fifo-en; 3013 resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE4_DL_ASYNC>; 3014 }; 3015 3016 dp_intf1: dp-intf@1c113000 { 3017 compatible = "mediatek,mt8195-dp-intf"; 3018 reg = <0 0x1c113000 0 0x1000>; 3019 interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH 0>; 3020 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 3021 clocks = <&vdosys1 CLK_VDO1_DP_INTF0_MM>, 3022 <&vdosys1 CLK_VDO1_DPINTF>, 3023 <&apmixedsys CLK_APMIXED_TVDPLL2>; 3024 clock-names = "engine", "pixel", "pll"; 3025 status = "disabled"; 3026 }; 3027 3028 ethdr0: hdr-engine@1c114000 { 3029 compatible = "mediatek,mt8195-disp-ethdr"; 3030 reg = <0 0x1c114000 0 0x1000>, 3031 <0 0x1c115000 0 0x1000>, 3032 <0 0x1c117000 0 0x1000>, 3033 <0 0x1c119000 0 0x1000>, 3034 <0 0x1c11a000 0 0x1000>, 3035 <0 0x1c11b000 0 0x1000>, 3036 <0 0x1c11c000 0 0x1000>; 3037 reg-names = "mixer", "vdo_fe0", "vdo_fe1", "gfx_fe0", "gfx_fe1", 3038 "vdo_be", "adl_ds"; 3039 mediatek,gce-client-reg = <&gce0 SUBSYS_1c11XXXX 0x4000 0x1000>, 3040 <&gce0 SUBSYS_1c11XXXX 0x5000 0x1000>, 3041 <&gce0 SUBSYS_1c11XXXX 0x7000 0x1000>, 3042 <&gce0 SUBSYS_1c11XXXX 0x9000 0x1000>, 3043 <&gce0 SUBSYS_1c11XXXX 0xa000 0x1000>, 3044 <&gce0 SUBSYS_1c11XXXX 0xb000 0x1000>, 3045 <&gce0 SUBSYS_1c11XXXX 0xc000 0x1000>; 3046 clocks = <&vdosys1 CLK_VDO1_DISP_MIXER>, 3047 <&vdosys1 CLK_VDO1_HDR_VDO_FE0>, 3048 <&vdosys1 CLK_VDO1_HDR_VDO_FE1>, 3049 <&vdosys1 CLK_VDO1_HDR_GFX_FE0>, 3050 <&vdosys1 CLK_VDO1_HDR_GFX_FE1>, 3051 <&vdosys1 CLK_VDO1_HDR_VDO_BE>, 3052 <&vdosys1 CLK_VDO1_26M_SLOW>, 3053 <&vdosys1 CLK_VDO1_HDR_VDO_FE0_DL_ASYNC>, 3054 <&vdosys1 CLK_VDO1_HDR_VDO_FE1_DL_ASYNC>, 3055 <&vdosys1 CLK_VDO1_HDR_GFX_FE0_DL_ASYNC>, 3056 <&vdosys1 CLK_VDO1_HDR_GFX_FE1_DL_ASYNC>, 3057 <&vdosys1 CLK_VDO1_HDR_VDO_BE_DL_ASYNC>, 3058 <&topckgen CLK_TOP_ETHDR>; 3059 clock-names = "mixer", "vdo_fe0", "vdo_fe1", "gfx_fe0", "gfx_fe1", 3060 "vdo_be", "adl_ds", "vdo_fe0_async", "vdo_fe1_async", 3061 "gfx_fe0_async", "gfx_fe1_async","vdo_be_async", 3062 "ethdr_top"; 3063 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 3064 iommus = <&iommu_vpp M4U_PORT_L3_HDR_DS>, 3065 <&iommu_vpp M4U_PORT_L3_HDR_ADL>; 3066 interrupts = <GIC_SPI 517 IRQ_TYPE_LEVEL_HIGH 0>; /* disp mixer */ 3067 resets = <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_FE0_DL_ASYNC>, 3068 <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_FE1_DL_ASYNC>, 3069 <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_GFX_FE0_DL_ASYNC>, 3070 <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_GFX_FE1_DL_ASYNC>, 3071 <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_BE_DL_ASYNC>; 3072 reset-names = "vdo_fe0_async", "vdo_fe1_async", "gfx_fe0_async", 3073 "gfx_fe1_async", "vdo_be_async"; 3074 }; 3075 3076 edp_tx: edp-tx@1c500000 { 3077 compatible = "mediatek,mt8195-edp-tx"; 3078 reg = <0 0x1c500000 0 0x8000>; 3079 nvmem-cells = <&dp_calibration>; 3080 nvmem-cell-names = "dp_calibration_data"; 3081 power-domains = <&spm MT8195_POWER_DOMAIN_EPD_TX>; 3082 interrupts = <GIC_SPI 676 IRQ_TYPE_LEVEL_HIGH 0>; 3083 max-linkrate-mhz = <8100>; 3084 status = "disabled"; 3085 }; 3086 3087 dp_tx: dp-tx@1c600000 { 3088 compatible = "mediatek,mt8195-dp-tx"; 3089 reg = <0 0x1c600000 0 0x8000>; 3090 nvmem-cells = <&dp_calibration>; 3091 nvmem-cell-names = "dp_calibration_data"; 3092 power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>; 3093 interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>; 3094 max-linkrate-mhz = <8100>; 3095 status = "disabled"; 3096 }; 3097 }; 3098 3099 thermal_zones: thermal-zones { 3100 cpu0-thermal { 3101 polling-delay = <1000>; 3102 polling-delay-passive = <250>; 3103 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>; 3104 3105 trips { 3106 cpu0_alert: trip-alert { 3107 temperature = <85000>; 3108 hysteresis = <2000>; 3109 type = "passive"; 3110 }; 3111 3112 cpu0_crit: trip-crit { 3113 temperature = <100000>; 3114 hysteresis = <2000>; 3115 type = "critical"; 3116 }; 3117 }; 3118 3119 cooling-maps { 3120 map0 { 3121 trip = <&cpu0_alert>; 3122 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3123 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3124 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3125 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3126 }; 3127 }; 3128 }; 3129 3130 cpu1-thermal { 3131 polling-delay = <1000>; 3132 polling-delay-passive = <250>; 3133 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU1>; 3134 3135 trips { 3136 cpu1_alert: trip-alert { 3137 temperature = <85000>; 3138 hysteresis = <2000>; 3139 type = "passive"; 3140 }; 3141 3142 cpu1_crit: trip-crit { 3143 temperature = <100000>; 3144 hysteresis = <2000>; 3145 type = "critical"; 3146 }; 3147 }; 3148 3149 cooling-maps { 3150 map0 { 3151 trip = <&cpu1_alert>; 3152 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3153 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3154 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3155 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3156 }; 3157 }; 3158 }; 3159 3160 cpu2-thermal { 3161 polling-delay = <1000>; 3162 polling-delay-passive = <250>; 3163 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU2>; 3164 3165 trips { 3166 cpu2_alert: trip-alert { 3167 temperature = <85000>; 3168 hysteresis = <2000>; 3169 type = "passive"; 3170 }; 3171 3172 cpu2_crit: trip-crit { 3173 temperature = <100000>; 3174 hysteresis = <2000>; 3175 type = "critical"; 3176 }; 3177 }; 3178 3179 cooling-maps { 3180 map0 { 3181 trip = <&cpu2_alert>; 3182 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3183 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3184 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3185 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3186 }; 3187 }; 3188 }; 3189 3190 cpu3-thermal { 3191 polling-delay = <1000>; 3192 polling-delay-passive = <250>; 3193 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU3>; 3194 3195 trips { 3196 cpu3_alert: trip-alert { 3197 temperature = <85000>; 3198 hysteresis = <2000>; 3199 type = "passive"; 3200 }; 3201 3202 cpu3_crit: trip-crit { 3203 temperature = <100000>; 3204 hysteresis = <2000>; 3205 type = "critical"; 3206 }; 3207 }; 3208 3209 cooling-maps { 3210 map0 { 3211 trip = <&cpu3_alert>; 3212 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3213 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3214 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3215 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3216 }; 3217 }; 3218 }; 3219 3220 cpu4-thermal { 3221 polling-delay = <1000>; 3222 polling-delay-passive = <250>; 3223 thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU0>; 3224 3225 trips { 3226 cpu4_alert: trip-alert { 3227 temperature = <85000>; 3228 hysteresis = <2000>; 3229 type = "passive"; 3230 }; 3231 3232 cpu4_crit: trip-crit { 3233 temperature = <100000>; 3234 hysteresis = <2000>; 3235 type = "critical"; 3236 }; 3237 }; 3238 3239 cooling-maps { 3240 map0 { 3241 trip = <&cpu4_alert>; 3242 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3243 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3244 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3245 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3246 }; 3247 }; 3248 }; 3249 3250 cpu5-thermal { 3251 polling-delay = <1000>; 3252 polling-delay-passive = <250>; 3253 thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU1>; 3254 3255 trips { 3256 cpu5_alert: trip-alert { 3257 temperature = <85000>; 3258 hysteresis = <2000>; 3259 type = "passive"; 3260 }; 3261 3262 cpu5_crit: trip-crit { 3263 temperature = <100000>; 3264 hysteresis = <2000>; 3265 type = "critical"; 3266 }; 3267 }; 3268 3269 cooling-maps { 3270 map0 { 3271 trip = <&cpu5_alert>; 3272 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3273 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3274 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3275 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3276 }; 3277 }; 3278 }; 3279 3280 cpu6-thermal { 3281 polling-delay = <1000>; 3282 polling-delay-passive = <250>; 3283 thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU2>; 3284 3285 trips { 3286 cpu6_alert: trip-alert { 3287 temperature = <85000>; 3288 hysteresis = <2000>; 3289 type = "passive"; 3290 }; 3291 3292 cpu6_crit: trip-crit { 3293 temperature = <100000>; 3294 hysteresis = <2000>; 3295 type = "critical"; 3296 }; 3297 }; 3298 3299 cooling-maps { 3300 map0 { 3301 trip = <&cpu6_alert>; 3302 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3303 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3304 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3305 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3306 }; 3307 }; 3308 }; 3309 3310 cpu7-thermal { 3311 polling-delay = <1000>; 3312 polling-delay-passive = <250>; 3313 thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU3>; 3314 3315 trips { 3316 cpu7_alert: trip-alert { 3317 temperature = <85000>; 3318 hysteresis = <2000>; 3319 type = "passive"; 3320 }; 3321 3322 cpu7_crit: trip-crit { 3323 temperature = <100000>; 3324 hysteresis = <2000>; 3325 type = "critical"; 3326 }; 3327 }; 3328 3329 cooling-maps { 3330 map0 { 3331 trip = <&cpu7_alert>; 3332 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3333 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3334 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 3335 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 3336 }; 3337 }; 3338 }; 3339 3340 vpu0-thermal { 3341 polling-delay = <1000>; 3342 polling-delay-passive = <250>; 3343 thermal-sensors = <&lvts_ap MT8195_AP_VPU0>; 3344 3345 trips { 3346 vpu0_alert: trip-alert { 3347 temperature = <85000>; 3348 hysteresis = <2000>; 3349 type = "passive"; 3350 }; 3351 3352 vpu0_crit: trip-crit { 3353 temperature = <100000>; 3354 hysteresis = <2000>; 3355 type = "critical"; 3356 }; 3357 }; 3358 }; 3359 3360 vpu1-thermal { 3361 polling-delay = <1000>; 3362 polling-delay-passive = <250>; 3363 thermal-sensors = <&lvts_ap MT8195_AP_VPU1>; 3364 3365 trips { 3366 vpu1_alert: trip-alert { 3367 temperature = <85000>; 3368 hysteresis = <2000>; 3369 type = "passive"; 3370 }; 3371 3372 vpu1_crit: trip-crit { 3373 temperature = <100000>; 3374 hysteresis = <2000>; 3375 type = "critical"; 3376 }; 3377 }; 3378 }; 3379 3380 gpu0-thermal { 3381 polling-delay = <1000>; 3382 polling-delay-passive = <250>; 3383 thermal-sensors = <&lvts_ap MT8195_AP_GPU0>; 3384 3385 trips { 3386 gpu0_alert: trip-alert { 3387 temperature = <85000>; 3388 hysteresis = <2000>; 3389 type = "passive"; 3390 }; 3391 3392 gpu0_crit: trip-crit { 3393 temperature = <100000>; 3394 hysteresis = <2000>; 3395 type = "critical"; 3396 }; 3397 }; 3398 }; 3399 3400 gpu1-thermal { 3401 polling-delay = <1000>; 3402 polling-delay-passive = <250>; 3403 thermal-sensors = <&lvts_ap MT8195_AP_GPU1>; 3404 3405 trips { 3406 gpu1_alert: trip-alert { 3407 temperature = <85000>; 3408 hysteresis = <2000>; 3409 type = "passive"; 3410 }; 3411 3412 gpu1_crit: trip-crit { 3413 temperature = <100000>; 3414 hysteresis = <2000>; 3415 type = "critical"; 3416 }; 3417 }; 3418 }; 3419 3420 vdec-thermal { 3421 polling-delay = <1000>; 3422 polling-delay-passive = <250>; 3423 thermal-sensors = <&lvts_ap MT8195_AP_VDEC>; 3424 3425 trips { 3426 vdec_alert: trip-alert { 3427 temperature = <85000>; 3428 hysteresis = <2000>; 3429 type = "passive"; 3430 }; 3431 3432 vdec_crit: trip-crit { 3433 temperature = <100000>; 3434 hysteresis = <2000>; 3435 type = "critical"; 3436 }; 3437 }; 3438 }; 3439 3440 img-thermal { 3441 polling-delay = <1000>; 3442 polling-delay-passive = <250>; 3443 thermal-sensors = <&lvts_ap MT8195_AP_IMG>; 3444 3445 trips { 3446 img_alert: trip-alert { 3447 temperature = <85000>; 3448 hysteresis = <2000>; 3449 type = "passive"; 3450 }; 3451 3452 img_crit: trip-crit { 3453 temperature = <100000>; 3454 hysteresis = <2000>; 3455 type = "critical"; 3456 }; 3457 }; 3458 }; 3459 3460 infra-thermal { 3461 polling-delay = <1000>; 3462 polling-delay-passive = <250>; 3463 thermal-sensors = <&lvts_ap MT8195_AP_INFRA>; 3464 3465 trips { 3466 infra_alert: trip-alert { 3467 temperature = <85000>; 3468 hysteresis = <2000>; 3469 type = "passive"; 3470 }; 3471 3472 infra_crit: trip-crit { 3473 temperature = <100000>; 3474 hysteresis = <2000>; 3475 type = "critical"; 3476 }; 3477 }; 3478 }; 3479 3480 cam0-thermal { 3481 polling-delay = <1000>; 3482 polling-delay-passive = <250>; 3483 thermal-sensors = <&lvts_ap MT8195_AP_CAM0>; 3484 3485 trips { 3486 cam0_alert: trip-alert { 3487 temperature = <85000>; 3488 hysteresis = <2000>; 3489 type = "passive"; 3490 }; 3491 3492 cam0_crit: trip-crit { 3493 temperature = <100000>; 3494 hysteresis = <2000>; 3495 type = "critical"; 3496 }; 3497 }; 3498 }; 3499 3500 cam1-thermal { 3501 polling-delay = <1000>; 3502 polling-delay-passive = <250>; 3503 thermal-sensors = <&lvts_ap MT8195_AP_CAM1>; 3504 3505 trips { 3506 cam1_alert: trip-alert { 3507 temperature = <85000>; 3508 hysteresis = <2000>; 3509 type = "passive"; 3510 }; 3511 3512 cam1_crit: trip-crit { 3513 temperature = <100000>; 3514 hysteresis = <2000>; 3515 type = "critical"; 3516 }; 3517 }; 3518 }; 3519 }; 3520}; 3521