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 18/ { 19 compatible = "mediatek,mt8195"; 20 interrupt-parent = <&gic>; 21 #address-cells = <2>; 22 #size-cells = <2>; 23 24 aliases { 25 gce0 = &gce0; 26 gce1 = &gce1; 27 }; 28 29 cpus { 30 #address-cells = <1>; 31 #size-cells = <0>; 32 33 cpu0: cpu@0 { 34 device_type = "cpu"; 35 compatible = "arm,cortex-a55"; 36 reg = <0x000>; 37 enable-method = "psci"; 38 performance-domains = <&performance 0>; 39 clock-frequency = <1701000000>; 40 capacity-dmips-mhz = <308>; 41 cpu-idle-states = <&cpu_off_l &cluster_off_l>; 42 next-level-cache = <&l2_0>; 43 #cooling-cells = <2>; 44 }; 45 46 cpu1: cpu@100 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a55"; 49 reg = <0x100>; 50 enable-method = "psci"; 51 performance-domains = <&performance 0>; 52 clock-frequency = <1701000000>; 53 capacity-dmips-mhz = <308>; 54 cpu-idle-states = <&cpu_off_l &cluster_off_l>; 55 next-level-cache = <&l2_0>; 56 #cooling-cells = <2>; 57 }; 58 59 cpu2: cpu@200 { 60 device_type = "cpu"; 61 compatible = "arm,cortex-a55"; 62 reg = <0x200>; 63 enable-method = "psci"; 64 performance-domains = <&performance 0>; 65 clock-frequency = <1701000000>; 66 capacity-dmips-mhz = <308>; 67 cpu-idle-states = <&cpu_off_l &cluster_off_l>; 68 next-level-cache = <&l2_0>; 69 #cooling-cells = <2>; 70 }; 71 72 cpu3: cpu@300 { 73 device_type = "cpu"; 74 compatible = "arm,cortex-a55"; 75 reg = <0x300>; 76 enable-method = "psci"; 77 performance-domains = <&performance 0>; 78 clock-frequency = <1701000000>; 79 capacity-dmips-mhz = <308>; 80 cpu-idle-states = <&cpu_off_l &cluster_off_l>; 81 next-level-cache = <&l2_0>; 82 #cooling-cells = <2>; 83 }; 84 85 cpu4: cpu@400 { 86 device_type = "cpu"; 87 compatible = "arm,cortex-a78"; 88 reg = <0x400>; 89 enable-method = "psci"; 90 performance-domains = <&performance 1>; 91 clock-frequency = <2171000000>; 92 capacity-dmips-mhz = <1024>; 93 cpu-idle-states = <&cpu_off_b &cluster_off_b>; 94 next-level-cache = <&l2_1>; 95 #cooling-cells = <2>; 96 }; 97 98 cpu5: cpu@500 { 99 device_type = "cpu"; 100 compatible = "arm,cortex-a78"; 101 reg = <0x500>; 102 enable-method = "psci"; 103 performance-domains = <&performance 1>; 104 clock-frequency = <2171000000>; 105 capacity-dmips-mhz = <1024>; 106 cpu-idle-states = <&cpu_off_b &cluster_off_b>; 107 next-level-cache = <&l2_1>; 108 #cooling-cells = <2>; 109 }; 110 111 cpu6: cpu@600 { 112 device_type = "cpu"; 113 compatible = "arm,cortex-a78"; 114 reg = <0x600>; 115 enable-method = "psci"; 116 performance-domains = <&performance 1>; 117 clock-frequency = <2171000000>; 118 capacity-dmips-mhz = <1024>; 119 cpu-idle-states = <&cpu_off_b &cluster_off_b>; 120 next-level-cache = <&l2_1>; 121 #cooling-cells = <2>; 122 }; 123 124 cpu7: cpu@700 { 125 device_type = "cpu"; 126 compatible = "arm,cortex-a78"; 127 reg = <0x700>; 128 enable-method = "psci"; 129 performance-domains = <&performance 1>; 130 clock-frequency = <2171000000>; 131 capacity-dmips-mhz = <1024>; 132 cpu-idle-states = <&cpu_off_b &cluster_off_b>; 133 next-level-cache = <&l2_1>; 134 #cooling-cells = <2>; 135 }; 136 137 cpu-map { 138 cluster0 { 139 core0 { 140 cpu = <&cpu0>; 141 }; 142 143 core1 { 144 cpu = <&cpu1>; 145 }; 146 147 core2 { 148 cpu = <&cpu2>; 149 }; 150 151 core3 { 152 cpu = <&cpu3>; 153 }; 154 }; 155 156 cluster1 { 157 core0 { 158 cpu = <&cpu4>; 159 }; 160 161 core1 { 162 cpu = <&cpu5>; 163 }; 164 165 core2 { 166 cpu = <&cpu6>; 167 }; 168 169 core3 { 170 cpu = <&cpu7>; 171 }; 172 }; 173 }; 174 175 idle-states { 176 entry-method = "psci"; 177 178 cpu_off_l: cpu-off-l { 179 compatible = "arm,idle-state"; 180 arm,psci-suspend-param = <0x00010001>; 181 local-timer-stop; 182 entry-latency-us = <50>; 183 exit-latency-us = <95>; 184 min-residency-us = <580>; 185 }; 186 187 cpu_off_b: cpu-off-b { 188 compatible = "arm,idle-state"; 189 arm,psci-suspend-param = <0x00010001>; 190 local-timer-stop; 191 entry-latency-us = <45>; 192 exit-latency-us = <140>; 193 min-residency-us = <740>; 194 }; 195 196 cluster_off_l: cluster-off-l { 197 compatible = "arm,idle-state"; 198 arm,psci-suspend-param = <0x01010002>; 199 local-timer-stop; 200 entry-latency-us = <55>; 201 exit-latency-us = <155>; 202 min-residency-us = <840>; 203 }; 204 205 cluster_off_b: cluster-off-b { 206 compatible = "arm,idle-state"; 207 arm,psci-suspend-param = <0x01010002>; 208 local-timer-stop; 209 entry-latency-us = <50>; 210 exit-latency-us = <200>; 211 min-residency-us = <1000>; 212 }; 213 }; 214 215 l2_0: l2-cache0 { 216 compatible = "cache"; 217 cache-level = <2>; 218 next-level-cache = <&l3_0>; 219 }; 220 221 l2_1: l2-cache1 { 222 compatible = "cache"; 223 cache-level = <2>; 224 next-level-cache = <&l3_0>; 225 }; 226 227 l3_0: l3-cache { 228 compatible = "cache"; 229 cache-level = <3>; 230 }; 231 }; 232 233 dsu-pmu { 234 compatible = "arm,dsu-pmu"; 235 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>; 236 cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, 237 <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; 238 }; 239 240 dmic_codec: dmic-codec { 241 compatible = "dmic-codec"; 242 num-channels = <2>; 243 wakeup-delay-ms = <50>; 244 }; 245 246 sound: mt8195-sound { 247 mediatek,platform = <&afe>; 248 status = "disabled"; 249 }; 250 251 clk26m: oscillator-26m { 252 compatible = "fixed-clock"; 253 #clock-cells = <0>; 254 clock-frequency = <26000000>; 255 clock-output-names = "clk26m"; 256 }; 257 258 clk32k: oscillator-32k { 259 compatible = "fixed-clock"; 260 #clock-cells = <0>; 261 clock-frequency = <32768>; 262 clock-output-names = "clk32k"; 263 }; 264 265 performance: performance-controller@11bc10 { 266 compatible = "mediatek,cpufreq-hw"; 267 reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>; 268 #performance-domain-cells = <1>; 269 }; 270 271 pmu-a55 { 272 compatible = "arm,cortex-a55-pmu"; 273 interrupt-parent = <&gic>; 274 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 275 }; 276 277 pmu-a78 { 278 compatible = "arm,cortex-a78-pmu"; 279 interrupt-parent = <&gic>; 280 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 281 }; 282 283 psci { 284 compatible = "arm,psci-1.0"; 285 method = "smc"; 286 }; 287 288 timer: timer { 289 compatible = "arm,armv8-timer"; 290 interrupt-parent = <&gic>; 291 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 292 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 293 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 294 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 295 }; 296 297 soc { 298 #address-cells = <2>; 299 #size-cells = <2>; 300 compatible = "simple-bus"; 301 ranges; 302 303 gic: interrupt-controller@c000000 { 304 compatible = "arm,gic-v3"; 305 #interrupt-cells = <4>; 306 #redistributor-regions = <1>; 307 interrupt-parent = <&gic>; 308 interrupt-controller; 309 reg = <0 0x0c000000 0 0x40000>, 310 <0 0x0c040000 0 0x200000>; 311 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 312 313 ppi-partitions { 314 ppi_cluster0: interrupt-partition-0 { 315 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 316 }; 317 318 ppi_cluster1: interrupt-partition-1 { 319 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>; 320 }; 321 }; 322 }; 323 324 topckgen: syscon@10000000 { 325 compatible = "mediatek,mt8195-topckgen", "syscon"; 326 reg = <0 0x10000000 0 0x1000>; 327 #clock-cells = <1>; 328 }; 329 330 infracfg_ao: syscon@10001000 { 331 compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd"; 332 reg = <0 0x10001000 0 0x1000>; 333 #clock-cells = <1>; 334 #reset-cells = <1>; 335 }; 336 337 pericfg: syscon@10003000 { 338 compatible = "mediatek,mt8195-pericfg", "syscon"; 339 reg = <0 0x10003000 0 0x1000>; 340 #clock-cells = <1>; 341 }; 342 343 pio: pinctrl@10005000 { 344 compatible = "mediatek,mt8195-pinctrl"; 345 reg = <0 0x10005000 0 0x1000>, 346 <0 0x11d10000 0 0x1000>, 347 <0 0x11d30000 0 0x1000>, 348 <0 0x11d40000 0 0x1000>, 349 <0 0x11e20000 0 0x1000>, 350 <0 0x11eb0000 0 0x1000>, 351 <0 0x11f40000 0 0x1000>, 352 <0 0x1000b000 0 0x1000>; 353 reg-names = "iocfg0", "iocfg_bm", "iocfg_bl", 354 "iocfg_br", "iocfg_lm", "iocfg_rb", 355 "iocfg_tl", "eint"; 356 gpio-controller; 357 #gpio-cells = <2>; 358 gpio-ranges = <&pio 0 0 144>; 359 interrupt-controller; 360 interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>; 361 #interrupt-cells = <2>; 362 }; 363 364 scpsys: syscon@10006000 { 365 compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd"; 366 reg = <0 0x10006000 0 0x1000>; 367 368 /* System Power Manager */ 369 spm: power-controller { 370 compatible = "mediatek,mt8195-power-controller"; 371 #address-cells = <1>; 372 #size-cells = <0>; 373 #power-domain-cells = <1>; 374 375 /* power domain of the SoC */ 376 mfg0: power-domain@MT8195_POWER_DOMAIN_MFG0 { 377 reg = <MT8195_POWER_DOMAIN_MFG0>; 378 #address-cells = <1>; 379 #size-cells = <0>; 380 #power-domain-cells = <1>; 381 382 power-domain@MT8195_POWER_DOMAIN_MFG1 { 383 reg = <MT8195_POWER_DOMAIN_MFG1>; 384 clocks = <&apmixedsys CLK_APMIXED_MFGPLL>; 385 clock-names = "mfg"; 386 mediatek,infracfg = <&infracfg_ao>; 387 #address-cells = <1>; 388 #size-cells = <0>; 389 #power-domain-cells = <1>; 390 391 power-domain@MT8195_POWER_DOMAIN_MFG2 { 392 reg = <MT8195_POWER_DOMAIN_MFG2>; 393 #power-domain-cells = <0>; 394 }; 395 396 power-domain@MT8195_POWER_DOMAIN_MFG3 { 397 reg = <MT8195_POWER_DOMAIN_MFG3>; 398 #power-domain-cells = <0>; 399 }; 400 401 power-domain@MT8195_POWER_DOMAIN_MFG4 { 402 reg = <MT8195_POWER_DOMAIN_MFG4>; 403 #power-domain-cells = <0>; 404 }; 405 406 power-domain@MT8195_POWER_DOMAIN_MFG5 { 407 reg = <MT8195_POWER_DOMAIN_MFG5>; 408 #power-domain-cells = <0>; 409 }; 410 411 power-domain@MT8195_POWER_DOMAIN_MFG6 { 412 reg = <MT8195_POWER_DOMAIN_MFG6>; 413 #power-domain-cells = <0>; 414 }; 415 }; 416 }; 417 418 power-domain@MT8195_POWER_DOMAIN_VPPSYS0 { 419 reg = <MT8195_POWER_DOMAIN_VPPSYS0>; 420 clocks = <&topckgen CLK_TOP_VPP>, 421 <&topckgen CLK_TOP_CAM>, 422 <&topckgen CLK_TOP_CCU>, 423 <&topckgen CLK_TOP_IMG>, 424 <&topckgen CLK_TOP_VENC>, 425 <&topckgen CLK_TOP_VDEC>, 426 <&topckgen CLK_TOP_WPE_VPP>, 427 <&topckgen CLK_TOP_CFG_VPP0>, 428 <&vppsys0 CLK_VPP0_SMI_COMMON>, 429 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>, 430 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>, 431 <&vppsys0 CLK_VPP0_GALS_VENCSYS>, 432 <&vppsys0 CLK_VPP0_GALS_VENCSYS_CORE1>, 433 <&vppsys0 CLK_VPP0_GALS_INFRA>, 434 <&vppsys0 CLK_VPP0_GALS_CAMSYS>, 435 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>, 436 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>, 437 <&vppsys0 CLK_VPP0_SMI_REORDER>, 438 <&vppsys0 CLK_VPP0_SMI_IOMMU>, 439 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>, 440 <&vppsys0 CLK_VPP0_GALS_EMI0_EMI1>, 441 <&vppsys0 CLK_VPP0_SMI_SUB_COMMON_REORDER>, 442 <&vppsys0 CLK_VPP0_SMI_RSI>, 443 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 444 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 445 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 446 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 447 clock-names = "vppsys", "vppsys1", "vppsys2", "vppsys3", 448 "vppsys4", "vppsys5", "vppsys6", "vppsys7", 449 "vppsys0-0", "vppsys0-1", "vppsys0-2", "vppsys0-3", 450 "vppsys0-4", "vppsys0-5", "vppsys0-6", "vppsys0-7", 451 "vppsys0-8", "vppsys0-9", "vppsys0-10", "vppsys0-11", 452 "vppsys0-12", "vppsys0-13", "vppsys0-14", 453 "vppsys0-15", "vppsys0-16", "vppsys0-17", 454 "vppsys0-18"; 455 mediatek,infracfg = <&infracfg_ao>; 456 #address-cells = <1>; 457 #size-cells = <0>; 458 #power-domain-cells = <1>; 459 460 power-domain@MT8195_POWER_DOMAIN_VDEC1 { 461 reg = <MT8195_POWER_DOMAIN_VDEC1>; 462 clocks = <&vdecsys CLK_VDEC_LARB1>; 463 clock-names = "vdec1-0"; 464 mediatek,infracfg = <&infracfg_ao>; 465 #power-domain-cells = <0>; 466 }; 467 468 power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 { 469 reg = <MT8195_POWER_DOMAIN_VENC_CORE1>; 470 mediatek,infracfg = <&infracfg_ao>; 471 #power-domain-cells = <0>; 472 }; 473 474 power-domain@MT8195_POWER_DOMAIN_VDOSYS0 { 475 reg = <MT8195_POWER_DOMAIN_VDOSYS0>; 476 clocks = <&topckgen CLK_TOP_CFG_VDO0>, 477 <&vdosys0 CLK_VDO0_SMI_GALS>, 478 <&vdosys0 CLK_VDO0_SMI_COMMON>, 479 <&vdosys0 CLK_VDO0_SMI_EMI>, 480 <&vdosys0 CLK_VDO0_SMI_IOMMU>, 481 <&vdosys0 CLK_VDO0_SMI_LARB>, 482 <&vdosys0 CLK_VDO0_SMI_RSI>; 483 clock-names = "vdosys0", "vdosys0-0", "vdosys0-1", 484 "vdosys0-2", "vdosys0-3", 485 "vdosys0-4", "vdosys0-5"; 486 mediatek,infracfg = <&infracfg_ao>; 487 #address-cells = <1>; 488 #size-cells = <0>; 489 #power-domain-cells = <1>; 490 491 power-domain@MT8195_POWER_DOMAIN_VPPSYS1 { 492 reg = <MT8195_POWER_DOMAIN_VPPSYS1>; 493 clocks = <&topckgen CLK_TOP_CFG_VPP1>, 494 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 495 <&vppsys1 CLK_VPP1_VPPSYS1_LARB>; 496 clock-names = "vppsys1", "vppsys1-0", 497 "vppsys1-1"; 498 mediatek,infracfg = <&infracfg_ao>; 499 #power-domain-cells = <0>; 500 }; 501 502 power-domain@MT8195_POWER_DOMAIN_WPESYS { 503 reg = <MT8195_POWER_DOMAIN_WPESYS>; 504 clocks = <&wpesys CLK_WPE_SMI_LARB7>, 505 <&wpesys CLK_WPE_SMI_LARB8>, 506 <&wpesys CLK_WPE_SMI_LARB7_P>, 507 <&wpesys CLK_WPE_SMI_LARB8_P>; 508 clock-names = "wepsys-0", "wepsys-1", "wepsys-2", 509 "wepsys-3"; 510 mediatek,infracfg = <&infracfg_ao>; 511 #power-domain-cells = <0>; 512 }; 513 514 power-domain@MT8195_POWER_DOMAIN_VDEC0 { 515 reg = <MT8195_POWER_DOMAIN_VDEC0>; 516 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 517 clock-names = "vdec0-0"; 518 mediatek,infracfg = <&infracfg_ao>; 519 #power-domain-cells = <0>; 520 }; 521 522 power-domain@MT8195_POWER_DOMAIN_VDEC2 { 523 reg = <MT8195_POWER_DOMAIN_VDEC2>; 524 clocks = <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>; 525 clock-names = "vdec2-0"; 526 mediatek,infracfg = <&infracfg_ao>; 527 #power-domain-cells = <0>; 528 }; 529 530 power-domain@MT8195_POWER_DOMAIN_VENC { 531 reg = <MT8195_POWER_DOMAIN_VENC>; 532 mediatek,infracfg = <&infracfg_ao>; 533 #power-domain-cells = <0>; 534 }; 535 536 power-domain@MT8195_POWER_DOMAIN_VDOSYS1 { 537 reg = <MT8195_POWER_DOMAIN_VDOSYS1>; 538 clocks = <&topckgen CLK_TOP_CFG_VDO1>, 539 <&vdosys1 CLK_VDO1_SMI_LARB2>, 540 <&vdosys1 CLK_VDO1_SMI_LARB3>, 541 <&vdosys1 CLK_VDO1_GALS>; 542 clock-names = "vdosys1", "vdosys1-0", 543 "vdosys1-1", "vdosys1-2"; 544 mediatek,infracfg = <&infracfg_ao>; 545 #address-cells = <1>; 546 #size-cells = <0>; 547 #power-domain-cells = <1>; 548 549 power-domain@MT8195_POWER_DOMAIN_DP_TX { 550 reg = <MT8195_POWER_DOMAIN_DP_TX>; 551 mediatek,infracfg = <&infracfg_ao>; 552 #power-domain-cells = <0>; 553 }; 554 555 power-domain@MT8195_POWER_DOMAIN_EPD_TX { 556 reg = <MT8195_POWER_DOMAIN_EPD_TX>; 557 mediatek,infracfg = <&infracfg_ao>; 558 #power-domain-cells = <0>; 559 }; 560 561 power-domain@MT8195_POWER_DOMAIN_HDMI_TX { 562 reg = <MT8195_POWER_DOMAIN_HDMI_TX>; 563 clocks = <&topckgen CLK_TOP_HDMI_APB>; 564 clock-names = "hdmi_tx"; 565 #power-domain-cells = <0>; 566 }; 567 }; 568 569 power-domain@MT8195_POWER_DOMAIN_IMG { 570 reg = <MT8195_POWER_DOMAIN_IMG>; 571 clocks = <&imgsys CLK_IMG_LARB9>, 572 <&imgsys CLK_IMG_GALS>; 573 clock-names = "img-0", "img-1"; 574 mediatek,infracfg = <&infracfg_ao>; 575 #address-cells = <1>; 576 #size-cells = <0>; 577 #power-domain-cells = <1>; 578 579 power-domain@MT8195_POWER_DOMAIN_DIP { 580 reg = <MT8195_POWER_DOMAIN_DIP>; 581 #power-domain-cells = <0>; 582 }; 583 584 power-domain@MT8195_POWER_DOMAIN_IPE { 585 reg = <MT8195_POWER_DOMAIN_IPE>; 586 clocks = <&topckgen CLK_TOP_IPE>, 587 <&imgsys CLK_IMG_IPE>, 588 <&ipesys CLK_IPE_SMI_LARB12>; 589 clock-names = "ipe", "ipe-0", "ipe-1"; 590 mediatek,infracfg = <&infracfg_ao>; 591 #power-domain-cells = <0>; 592 }; 593 }; 594 595 power-domain@MT8195_POWER_DOMAIN_CAM { 596 reg = <MT8195_POWER_DOMAIN_CAM>; 597 clocks = <&camsys CLK_CAM_LARB13>, 598 <&camsys CLK_CAM_LARB14>, 599 <&camsys CLK_CAM_CAM2MM0_GALS>, 600 <&camsys CLK_CAM_CAM2MM1_GALS>, 601 <&camsys CLK_CAM_CAM2SYS_GALS>; 602 clock-names = "cam-0", "cam-1", "cam-2", "cam-3", 603 "cam-4"; 604 mediatek,infracfg = <&infracfg_ao>; 605 #address-cells = <1>; 606 #size-cells = <0>; 607 #power-domain-cells = <1>; 608 609 power-domain@MT8195_POWER_DOMAIN_CAM_RAWA { 610 reg = <MT8195_POWER_DOMAIN_CAM_RAWA>; 611 #power-domain-cells = <0>; 612 }; 613 614 power-domain@MT8195_POWER_DOMAIN_CAM_RAWB { 615 reg = <MT8195_POWER_DOMAIN_CAM_RAWB>; 616 #power-domain-cells = <0>; 617 }; 618 619 power-domain@MT8195_POWER_DOMAIN_CAM_MRAW { 620 reg = <MT8195_POWER_DOMAIN_CAM_MRAW>; 621 #power-domain-cells = <0>; 622 }; 623 }; 624 }; 625 }; 626 627 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P0 { 628 reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P0>; 629 mediatek,infracfg = <&infracfg_ao>; 630 #power-domain-cells = <0>; 631 }; 632 633 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P1 { 634 reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P1>; 635 mediatek,infracfg = <&infracfg_ao>; 636 #power-domain-cells = <0>; 637 }; 638 639 power-domain@MT8195_POWER_DOMAIN_PCIE_PHY { 640 reg = <MT8195_POWER_DOMAIN_PCIE_PHY>; 641 #power-domain-cells = <0>; 642 }; 643 644 power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY { 645 reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>; 646 #power-domain-cells = <0>; 647 }; 648 649 power-domain@MT8195_POWER_DOMAIN_CSI_RX_TOP { 650 reg = <MT8195_POWER_DOMAIN_CSI_RX_TOP>; 651 clocks = <&topckgen CLK_TOP_SENINF>, 652 <&topckgen CLK_TOP_SENINF2>; 653 clock-names = "csi_rx_top", "csi_rx_top1"; 654 #power-domain-cells = <0>; 655 }; 656 657 power-domain@MT8195_POWER_DOMAIN_ETHER { 658 reg = <MT8195_POWER_DOMAIN_ETHER>; 659 clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>; 660 clock-names = "ether"; 661 #power-domain-cells = <0>; 662 }; 663 664 power-domain@MT8195_POWER_DOMAIN_ADSP { 665 reg = <MT8195_POWER_DOMAIN_ADSP>; 666 clocks = <&topckgen CLK_TOP_ADSP>, 667 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>; 668 clock-names = "adsp", "adsp1"; 669 #address-cells = <1>; 670 #size-cells = <0>; 671 mediatek,infracfg = <&infracfg_ao>; 672 #power-domain-cells = <1>; 673 674 power-domain@MT8195_POWER_DOMAIN_AUDIO { 675 reg = <MT8195_POWER_DOMAIN_AUDIO>; 676 clocks = <&topckgen CLK_TOP_A1SYS_HP>, 677 <&topckgen CLK_TOP_AUD_INTBUS>, 678 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 679 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>; 680 clock-names = "audio", "audio1", "audio2", 681 "audio3"; 682 mediatek,infracfg = <&infracfg_ao>; 683 #power-domain-cells = <0>; 684 }; 685 }; 686 }; 687 }; 688 689 watchdog: watchdog@10007000 { 690 compatible = "mediatek,mt8195-wdt", 691 "mediatek,mt6589-wdt"; 692 mediatek,disable-extrst; 693 reg = <0 0x10007000 0 0x100>; 694 #reset-cells = <1>; 695 }; 696 697 apmixedsys: syscon@1000c000 { 698 compatible = "mediatek,mt8195-apmixedsys", "syscon"; 699 reg = <0 0x1000c000 0 0x1000>; 700 #clock-cells = <1>; 701 }; 702 703 systimer: timer@10017000 { 704 compatible = "mediatek,mt8195-timer", 705 "mediatek,mt6765-timer"; 706 reg = <0 0x10017000 0 0x1000>; 707 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>; 708 clocks = <&topckgen CLK_TOP_CLK26M_D2>; 709 }; 710 711 pwrap: pwrap@10024000 { 712 compatible = "mediatek,mt8195-pwrap", "syscon"; 713 reg = <0 0x10024000 0 0x1000>; 714 reg-names = "pwrap"; 715 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>; 716 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 717 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>; 718 clock-names = "spi", "wrap"; 719 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>; 720 assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 721 }; 722 723 spmi: spmi@10027000 { 724 compatible = "mediatek,mt8195-spmi"; 725 reg = <0 0x10027000 0 0x000e00>, 726 <0 0x10029000 0 0x000100>; 727 reg-names = "pmif", "spmimst"; 728 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 729 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>, 730 <&topckgen CLK_TOP_SPMI_M_MST>; 731 clock-names = "pmif_sys_ck", 732 "pmif_tmr_ck", 733 "spmimst_clk_mux"; 734 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>; 735 assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 736 }; 737 738 iommu_infra: infra-iommu@10315000 { 739 compatible = "mediatek,mt8195-iommu-infra"; 740 reg = <0 0x10315000 0 0x5000>; 741 interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH 0>, 742 <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH 0>, 743 <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH 0>, 744 <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH 0>, 745 <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH 0>; 746 #iommu-cells = <1>; 747 }; 748 749 gce0: mailbox@10320000 { 750 compatible = "mediatek,mt8195-gce"; 751 reg = <0 0x10320000 0 0x4000>; 752 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>; 753 #mbox-cells = <2>; 754 clocks = <&infracfg_ao CLK_INFRA_AO_GCE>; 755 }; 756 757 gce1: mailbox@10330000 { 758 compatible = "mediatek,mt8195-gce"; 759 reg = <0 0x10330000 0 0x4000>; 760 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH 0>; 761 #mbox-cells = <2>; 762 clocks = <&infracfg_ao CLK_INFRA_AO_GCE2>; 763 }; 764 765 scp: scp@10500000 { 766 compatible = "mediatek,mt8195-scp"; 767 reg = <0 0x10500000 0 0x100000>, 768 <0 0x10720000 0 0xe0000>, 769 <0 0x10700000 0 0x8000>; 770 reg-names = "sram", "cfg", "l1tcm"; 771 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH 0>; 772 status = "disabled"; 773 }; 774 775 scp_adsp: clock-controller@10720000 { 776 compatible = "mediatek,mt8195-scp_adsp"; 777 reg = <0 0x10720000 0 0x1000>; 778 #clock-cells = <1>; 779 }; 780 781 adsp: dsp@10803000 { 782 compatible = "mediatek,mt8195-dsp"; 783 reg = <0 0x10803000 0 0x1000>, 784 <0 0x10840000 0 0x40000>; 785 reg-names = "cfg", "sram"; 786 clocks = <&topckgen CLK_TOP_ADSP>, 787 <&clk26m>, 788 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 789 <&topckgen CLK_TOP_MAINPLL_D7_D2>, 790 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>, 791 <&topckgen CLK_TOP_AUDIO_H>; 792 clock-names = "adsp_sel", 793 "clk26m_ck", 794 "audio_local_bus", 795 "mainpll_d7_d2", 796 "scp_adsp_audiodsp", 797 "audio_h"; 798 power-domains = <&spm MT8195_POWER_DOMAIN_ADSP>; 799 mbox-names = "rx", "tx"; 800 mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>; 801 status = "disabled"; 802 }; 803 804 adsp_mailbox0: mailbox@10816000 { 805 compatible = "mediatek,mt8195-adsp-mbox"; 806 #mbox-cells = <0>; 807 reg = <0 0x10816000 0 0x1000>; 808 interrupts = <GIC_SPI 702 IRQ_TYPE_LEVEL_HIGH 0>; 809 }; 810 811 adsp_mailbox1: mailbox@10817000 { 812 compatible = "mediatek,mt8195-adsp-mbox"; 813 #mbox-cells = <0>; 814 reg = <0 0x10817000 0 0x1000>; 815 interrupts = <GIC_SPI 703 IRQ_TYPE_LEVEL_HIGH 0>; 816 }; 817 818 afe: mt8195-afe-pcm@10890000 { 819 compatible = "mediatek,mt8195-audio"; 820 reg = <0 0x10890000 0 0x10000>; 821 mediatek,topckgen = <&topckgen>; 822 power-domains = <&spm MT8195_POWER_DOMAIN_AUDIO>; 823 interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>; 824 resets = <&watchdog 14>; 825 reset-names = "audiosys"; 826 clocks = <&clk26m>, 827 <&apmixedsys CLK_APMIXED_APLL1>, 828 <&apmixedsys CLK_APMIXED_APLL2>, 829 <&topckgen CLK_TOP_APLL12_DIV0>, 830 <&topckgen CLK_TOP_APLL12_DIV1>, 831 <&topckgen CLK_TOP_APLL12_DIV2>, 832 <&topckgen CLK_TOP_APLL12_DIV3>, 833 <&topckgen CLK_TOP_APLL12_DIV9>, 834 <&topckgen CLK_TOP_A1SYS_HP>, 835 <&topckgen CLK_TOP_AUD_INTBUS>, 836 <&topckgen CLK_TOP_AUDIO_H>, 837 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>, 838 <&topckgen CLK_TOP_DPTX_MCK>, 839 <&topckgen CLK_TOP_I2SO1_MCK>, 840 <&topckgen CLK_TOP_I2SO2_MCK>, 841 <&topckgen CLK_TOP_I2SI1_MCK>, 842 <&topckgen CLK_TOP_I2SI2_MCK>, 843 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>, 844 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>; 845 clock-names = "clk26m", 846 "apll1_ck", 847 "apll2_ck", 848 "apll12_div0", 849 "apll12_div1", 850 "apll12_div2", 851 "apll12_div3", 852 "apll12_div9", 853 "a1sys_hp_sel", 854 "aud_intbus_sel", 855 "audio_h_sel", 856 "audio_local_bus_sel", 857 "dptx_m_sel", 858 "i2so1_m_sel", 859 "i2so2_m_sel", 860 "i2si1_m_sel", 861 "i2si2_m_sel", 862 "infra_ao_audio_26m_b", 863 "scp_adsp_audiodsp"; 864 status = "disabled"; 865 }; 866 867 uart0: serial@11001100 { 868 compatible = "mediatek,mt8195-uart", 869 "mediatek,mt6577-uart"; 870 reg = <0 0x11001100 0 0x100>; 871 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>; 872 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>; 873 clock-names = "baud", "bus"; 874 status = "disabled"; 875 }; 876 877 uart1: serial@11001200 { 878 compatible = "mediatek,mt8195-uart", 879 "mediatek,mt6577-uart"; 880 reg = <0 0x11001200 0 0x100>; 881 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>; 882 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>; 883 clock-names = "baud", "bus"; 884 status = "disabled"; 885 }; 886 887 uart2: serial@11001300 { 888 compatible = "mediatek,mt8195-uart", 889 "mediatek,mt6577-uart"; 890 reg = <0 0x11001300 0 0x100>; 891 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>; 892 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>; 893 clock-names = "baud", "bus"; 894 status = "disabled"; 895 }; 896 897 uart3: serial@11001400 { 898 compatible = "mediatek,mt8195-uart", 899 "mediatek,mt6577-uart"; 900 reg = <0 0x11001400 0 0x100>; 901 interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>; 902 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>; 903 clock-names = "baud", "bus"; 904 status = "disabled"; 905 }; 906 907 uart4: serial@11001500 { 908 compatible = "mediatek,mt8195-uart", 909 "mediatek,mt6577-uart"; 910 reg = <0 0x11001500 0 0x100>; 911 interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>; 912 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>; 913 clock-names = "baud", "bus"; 914 status = "disabled"; 915 }; 916 917 uart5: serial@11001600 { 918 compatible = "mediatek,mt8195-uart", 919 "mediatek,mt6577-uart"; 920 reg = <0 0x11001600 0 0x100>; 921 interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>; 922 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>; 923 clock-names = "baud", "bus"; 924 status = "disabled"; 925 }; 926 927 auxadc: auxadc@11002000 { 928 compatible = "mediatek,mt8195-auxadc", 929 "mediatek,mt8173-auxadc"; 930 reg = <0 0x11002000 0 0x1000>; 931 clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>; 932 clock-names = "main"; 933 #io-channel-cells = <1>; 934 status = "disabled"; 935 }; 936 937 pericfg_ao: syscon@11003000 { 938 compatible = "mediatek,mt8195-pericfg_ao", "syscon"; 939 reg = <0 0x11003000 0 0x1000>; 940 #clock-cells = <1>; 941 }; 942 943 spi0: spi@1100a000 { 944 compatible = "mediatek,mt8195-spi", 945 "mediatek,mt6765-spi"; 946 #address-cells = <1>; 947 #size-cells = <0>; 948 reg = <0 0x1100a000 0 0x1000>; 949 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>; 950 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 951 <&topckgen CLK_TOP_SPI>, 952 <&infracfg_ao CLK_INFRA_AO_SPI0>; 953 clock-names = "parent-clk", "sel-clk", "spi-clk"; 954 status = "disabled"; 955 }; 956 957 spi1: spi@11010000 { 958 compatible = "mediatek,mt8195-spi", 959 "mediatek,mt6765-spi"; 960 #address-cells = <1>; 961 #size-cells = <0>; 962 reg = <0 0x11010000 0 0x1000>; 963 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>; 964 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 965 <&topckgen CLK_TOP_SPI>, 966 <&infracfg_ao CLK_INFRA_AO_SPI1>; 967 clock-names = "parent-clk", "sel-clk", "spi-clk"; 968 status = "disabled"; 969 }; 970 971 spi2: spi@11012000 { 972 compatible = "mediatek,mt8195-spi", 973 "mediatek,mt6765-spi"; 974 #address-cells = <1>; 975 #size-cells = <0>; 976 reg = <0 0x11012000 0 0x1000>; 977 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>; 978 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 979 <&topckgen CLK_TOP_SPI>, 980 <&infracfg_ao CLK_INFRA_AO_SPI2>; 981 clock-names = "parent-clk", "sel-clk", "spi-clk"; 982 status = "disabled"; 983 }; 984 985 spi3: spi@11013000 { 986 compatible = "mediatek,mt8195-spi", 987 "mediatek,mt6765-spi"; 988 #address-cells = <1>; 989 #size-cells = <0>; 990 reg = <0 0x11013000 0 0x1000>; 991 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>; 992 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 993 <&topckgen CLK_TOP_SPI>, 994 <&infracfg_ao CLK_INFRA_AO_SPI3>; 995 clock-names = "parent-clk", "sel-clk", "spi-clk"; 996 status = "disabled"; 997 }; 998 999 spi4: spi@11018000 { 1000 compatible = "mediatek,mt8195-spi", 1001 "mediatek,mt6765-spi"; 1002 #address-cells = <1>; 1003 #size-cells = <0>; 1004 reg = <0 0x11018000 0 0x1000>; 1005 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>; 1006 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1007 <&topckgen CLK_TOP_SPI>, 1008 <&infracfg_ao CLK_INFRA_AO_SPI4>; 1009 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1010 status = "disabled"; 1011 }; 1012 1013 spi5: spi@11019000 { 1014 compatible = "mediatek,mt8195-spi", 1015 "mediatek,mt6765-spi"; 1016 #address-cells = <1>; 1017 #size-cells = <0>; 1018 reg = <0 0x11019000 0 0x1000>; 1019 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>; 1020 clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 1021 <&topckgen CLK_TOP_SPI>, 1022 <&infracfg_ao CLK_INFRA_AO_SPI5>; 1023 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1024 status = "disabled"; 1025 }; 1026 1027 spis0: spi@1101d000 { 1028 compatible = "mediatek,mt8195-spi-slave"; 1029 reg = <0 0x1101d000 0 0x1000>; 1030 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>; 1031 clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>; 1032 clock-names = "spi"; 1033 assigned-clocks = <&topckgen CLK_TOP_SPIS>; 1034 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 1035 status = "disabled"; 1036 }; 1037 1038 spis1: spi@1101e000 { 1039 compatible = "mediatek,mt8195-spi-slave"; 1040 reg = <0 0x1101e000 0 0x1000>; 1041 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>; 1042 clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>; 1043 clock-names = "spi"; 1044 assigned-clocks = <&topckgen CLK_TOP_SPIS>; 1045 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 1046 status = "disabled"; 1047 }; 1048 1049 xhci0: usb@11200000 { 1050 compatible = "mediatek,mt8195-xhci", 1051 "mediatek,mtk-xhci"; 1052 reg = <0 0x11200000 0 0x1000>, 1053 <0 0x11203e00 0 0x0100>; 1054 reg-names = "mac", "ippc"; 1055 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>; 1056 phys = <&u2port0 PHY_TYPE_USB2>, 1057 <&u3port0 PHY_TYPE_USB3>; 1058 assigned-clocks = <&topckgen CLK_TOP_USB_TOP>, 1059 <&topckgen CLK_TOP_SSUSB_XHCI>; 1060 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1061 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1062 clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>, 1063 <&topckgen CLK_TOP_SSUSB_REF>, 1064 <&apmixedsys CLK_APMIXED_USB1PLL>, 1065 <&clk26m>, 1066 <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>; 1067 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1068 "xhci_ck"; 1069 mediatek,syscon-wakeup = <&pericfg 0x400 103>; 1070 wakeup-source; 1071 status = "disabled"; 1072 }; 1073 1074 mmc0: mmc@11230000 { 1075 compatible = "mediatek,mt8195-mmc", 1076 "mediatek,mt8183-mmc"; 1077 reg = <0 0x11230000 0 0x10000>, 1078 <0 0x11f50000 0 0x1000>; 1079 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>; 1080 clocks = <&topckgen CLK_TOP_MSDC50_0>, 1081 <&infracfg_ao CLK_INFRA_AO_MSDC0>, 1082 <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>; 1083 clock-names = "source", "hclk", "source_cg"; 1084 status = "disabled"; 1085 }; 1086 1087 mmc1: mmc@11240000 { 1088 compatible = "mediatek,mt8195-mmc", 1089 "mediatek,mt8183-mmc"; 1090 reg = <0 0x11240000 0 0x1000>, 1091 <0 0x11c70000 0 0x1000>; 1092 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>; 1093 clocks = <&topckgen CLK_TOP_MSDC30_1>, 1094 <&infracfg_ao CLK_INFRA_AO_MSDC1>, 1095 <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>; 1096 clock-names = "source", "hclk", "source_cg"; 1097 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>; 1098 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 1099 status = "disabled"; 1100 }; 1101 1102 mmc2: mmc@11250000 { 1103 compatible = "mediatek,mt8195-mmc", 1104 "mediatek,mt8183-mmc"; 1105 reg = <0 0x11250000 0 0x1000>, 1106 <0 0x11e60000 0 0x1000>; 1107 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>; 1108 clocks = <&topckgen CLK_TOP_MSDC30_2>, 1109 <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>, 1110 <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>; 1111 clock-names = "source", "hclk", "source_cg"; 1112 assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>; 1113 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 1114 status = "disabled"; 1115 }; 1116 1117 xhci1: usb@11290000 { 1118 compatible = "mediatek,mt8195-xhci", 1119 "mediatek,mtk-xhci"; 1120 reg = <0 0x11290000 0 0x1000>, 1121 <0 0x11293e00 0 0x0100>; 1122 reg-names = "mac", "ippc"; 1123 interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>; 1124 phys = <&u2port1 PHY_TYPE_USB2>; 1125 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>, 1126 <&topckgen CLK_TOP_SSUSB_XHCI_1P>; 1127 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1128 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1129 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>, 1130 <&topckgen CLK_TOP_SSUSB_P1_REF>, 1131 <&apmixedsys CLK_APMIXED_USB1PLL>, 1132 <&clk26m>, 1133 <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>; 1134 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1135 "xhci_ck"; 1136 mediatek,syscon-wakeup = <&pericfg 0x400 104>; 1137 wakeup-source; 1138 status = "disabled"; 1139 }; 1140 1141 xhci2: usb@112a0000 { 1142 compatible = "mediatek,mt8195-xhci", 1143 "mediatek,mtk-xhci"; 1144 reg = <0 0x112a0000 0 0x1000>, 1145 <0 0x112a3e00 0 0x0100>; 1146 reg-names = "mac", "ippc"; 1147 interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>; 1148 phys = <&u2port2 PHY_TYPE_USB2>; 1149 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>, 1150 <&topckgen CLK_TOP_SSUSB_XHCI_2P>; 1151 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1152 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1153 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>, 1154 <&topckgen CLK_TOP_SSUSB_P2_REF>, 1155 <&clk26m>, 1156 <&clk26m>, 1157 <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>; 1158 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1159 "xhci_ck"; 1160 mediatek,syscon-wakeup = <&pericfg 0x400 105>; 1161 wakeup-source; 1162 status = "disabled"; 1163 }; 1164 1165 xhci3: usb@112b0000 { 1166 compatible = "mediatek,mt8195-xhci", 1167 "mediatek,mtk-xhci"; 1168 reg = <0 0x112b0000 0 0x1000>, 1169 <0 0x112b3e00 0 0x0100>; 1170 reg-names = "mac", "ippc"; 1171 interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>; 1172 phys = <&u2port3 PHY_TYPE_USB2>; 1173 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>, 1174 <&topckgen CLK_TOP_SSUSB_XHCI_3P>; 1175 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 1176 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 1177 clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>, 1178 <&topckgen CLK_TOP_SSUSB_P3_REF>, 1179 <&clk26m>, 1180 <&clk26m>, 1181 <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>; 1182 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", 1183 "xhci_ck"; 1184 mediatek,syscon-wakeup = <&pericfg 0x400 106>; 1185 wakeup-source; 1186 status = "disabled"; 1187 }; 1188 1189 pcie0: pcie@112f0000 { 1190 compatible = "mediatek,mt8195-pcie", 1191 "mediatek,mt8192-pcie"; 1192 device_type = "pci"; 1193 #address-cells = <3>; 1194 #size-cells = <2>; 1195 reg = <0 0x112f0000 0 0x4000>; 1196 reg-names = "pcie-mac"; 1197 interrupts = <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH 0>; 1198 bus-range = <0x00 0xff>; 1199 ranges = <0x81000000 0 0x20000000 1200 0x0 0x20000000 0 0x200000>, 1201 <0x82000000 0 0x20200000 1202 0x0 0x20200000 0 0x3e00000>; 1203 1204 iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE0 0x2>; 1205 iommu-map-mask = <0x0>; 1206 1207 clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P0>, 1208 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_26M>, 1209 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_96M>, 1210 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_32K>, 1211 <&infracfg_ao CLK_INFRA_AO_PCIE_PERI_26M>, 1212 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>; 1213 clock-names = "pl_250m", "tl_26m", "tl_96m", 1214 "tl_32k", "peri_26m", "peri_mem"; 1215 assigned-clocks = <&topckgen CLK_TOP_TL>; 1216 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>; 1217 1218 phys = <&pciephy>; 1219 phy-names = "pcie-phy"; 1220 1221 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P0>; 1222 1223 resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P0_SWRST>; 1224 reset-names = "mac"; 1225 1226 #interrupt-cells = <1>; 1227 interrupt-map-mask = <0 0 0 7>; 1228 interrupt-map = <0 0 0 1 &pcie_intc0 0>, 1229 <0 0 0 2 &pcie_intc0 1>, 1230 <0 0 0 3 &pcie_intc0 2>, 1231 <0 0 0 4 &pcie_intc0 3>; 1232 status = "disabled"; 1233 1234 pcie_intc0: interrupt-controller { 1235 interrupt-controller; 1236 #address-cells = <0>; 1237 #interrupt-cells = <1>; 1238 }; 1239 }; 1240 1241 pcie1: pcie@112f8000 { 1242 compatible = "mediatek,mt8195-pcie", 1243 "mediatek,mt8192-pcie"; 1244 device_type = "pci"; 1245 #address-cells = <3>; 1246 #size-cells = <2>; 1247 reg = <0 0x112f8000 0 0x4000>; 1248 reg-names = "pcie-mac"; 1249 interrupts = <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH 0>; 1250 bus-range = <0x00 0xff>; 1251 ranges = <0x81000000 0 0x24000000 1252 0x0 0x24000000 0 0x200000>, 1253 <0x82000000 0 0x24200000 1254 0x0 0x24200000 0 0x3e00000>; 1255 1256 iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE1 0x2>; 1257 iommu-map-mask = <0x0>; 1258 1259 clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P1>, 1260 <&clk26m>, 1261 <&infracfg_ao CLK_INFRA_AO_PCIE_P1_TL_96M>, 1262 <&clk26m>, 1263 <&infracfg_ao CLK_INFRA_AO_PCIE_P1_PERI_26M>, 1264 /* Designer has connect pcie1 with peri_mem_p0 clock */ 1265 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>; 1266 clock-names = "pl_250m", "tl_26m", "tl_96m", 1267 "tl_32k", "peri_26m", "peri_mem"; 1268 assigned-clocks = <&topckgen CLK_TOP_TL_P1>; 1269 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>; 1270 1271 phys = <&u3port1 PHY_TYPE_PCIE>; 1272 phy-names = "pcie-phy"; 1273 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P1>; 1274 1275 resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P1_SWRST>; 1276 reset-names = "mac"; 1277 1278 #interrupt-cells = <1>; 1279 interrupt-map-mask = <0 0 0 7>; 1280 interrupt-map = <0 0 0 1 &pcie_intc1 0>, 1281 <0 0 0 2 &pcie_intc1 1>, 1282 <0 0 0 3 &pcie_intc1 2>, 1283 <0 0 0 4 &pcie_intc1 3>; 1284 status = "disabled"; 1285 1286 pcie_intc1: interrupt-controller { 1287 interrupt-controller; 1288 #address-cells = <0>; 1289 #interrupt-cells = <1>; 1290 }; 1291 }; 1292 1293 nor_flash: spi@1132c000 { 1294 compatible = "mediatek,mt8195-nor", 1295 "mediatek,mt8173-nor"; 1296 reg = <0 0x1132c000 0 0x1000>; 1297 interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>; 1298 clocks = <&topckgen CLK_TOP_SPINOR>, 1299 <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>, 1300 <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>; 1301 clock-names = "spi", "sf", "axi"; 1302 #address-cells = <1>; 1303 #size-cells = <0>; 1304 status = "disabled"; 1305 }; 1306 1307 efuse: efuse@11c10000 { 1308 compatible = "mediatek,mt8195-efuse", "mediatek,efuse"; 1309 reg = <0 0x11c10000 0 0x1000>; 1310 #address-cells = <1>; 1311 #size-cells = <1>; 1312 u3_tx_imp_p0: usb3-tx-imp@184,1 { 1313 reg = <0x184 0x1>; 1314 bits = <0 5>; 1315 }; 1316 u3_rx_imp_p0: usb3-rx-imp@184,2 { 1317 reg = <0x184 0x2>; 1318 bits = <5 5>; 1319 }; 1320 u3_intr_p0: usb3-intr@185 { 1321 reg = <0x185 0x1>; 1322 bits = <2 6>; 1323 }; 1324 comb_tx_imp_p1: usb3-tx-imp@186,1 { 1325 reg = <0x186 0x1>; 1326 bits = <0 5>; 1327 }; 1328 comb_rx_imp_p1: usb3-rx-imp@186,2 { 1329 reg = <0x186 0x2>; 1330 bits = <5 5>; 1331 }; 1332 comb_intr_p1: usb3-intr@187 { 1333 reg = <0x187 0x1>; 1334 bits = <2 6>; 1335 }; 1336 u2_intr_p0: usb2-intr-p0@188,1 { 1337 reg = <0x188 0x1>; 1338 bits = <0 5>; 1339 }; 1340 u2_intr_p1: usb2-intr-p1@188,2 { 1341 reg = <0x188 0x2>; 1342 bits = <5 5>; 1343 }; 1344 u2_intr_p2: usb2-intr-p2@189,1 { 1345 reg = <0x189 0x1>; 1346 bits = <2 5>; 1347 }; 1348 u2_intr_p3: usb2-intr-p3@189,2 { 1349 reg = <0x189 0x2>; 1350 bits = <7 5>; 1351 }; 1352 pciephy_rx_ln1: pciephy-rx-ln1@190,1 { 1353 reg = <0x190 0x1>; 1354 bits = <0 4>; 1355 }; 1356 pciephy_tx_ln1_nmos: pciephy-tx-ln1-nmos@190,2 { 1357 reg = <0x190 0x1>; 1358 bits = <4 4>; 1359 }; 1360 pciephy_tx_ln1_pmos: pciephy-tx-ln1-pmos@191,1 { 1361 reg = <0x191 0x1>; 1362 bits = <0 4>; 1363 }; 1364 pciephy_rx_ln0: pciephy-rx-ln0@191,2 { 1365 reg = <0x191 0x1>; 1366 bits = <4 4>; 1367 }; 1368 pciephy_tx_ln0_nmos: pciephy-tx-ln0-nmos@192,1 { 1369 reg = <0x192 0x1>; 1370 bits = <0 4>; 1371 }; 1372 pciephy_tx_ln0_pmos: pciephy-tx-ln0-pmos@192,2 { 1373 reg = <0x192 0x1>; 1374 bits = <4 4>; 1375 }; 1376 pciephy_glb_intr: pciephy-glb-intr@193 { 1377 reg = <0x193 0x1>; 1378 bits = <0 4>; 1379 }; 1380 dp_calibration: dp-data@1ac { 1381 reg = <0x1ac 0x10>; 1382 }; 1383 }; 1384 1385 u3phy2: t-phy@11c40000 { 1386 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1387 #address-cells = <1>; 1388 #size-cells = <1>; 1389 ranges = <0 0 0x11c40000 0x700>; 1390 status = "disabled"; 1391 1392 u2port2: usb-phy@0 { 1393 reg = <0x0 0x700>; 1394 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>; 1395 clock-names = "ref"; 1396 #phy-cells = <1>; 1397 }; 1398 }; 1399 1400 u3phy3: t-phy@11c50000 { 1401 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1402 #address-cells = <1>; 1403 #size-cells = <1>; 1404 ranges = <0 0 0x11c50000 0x700>; 1405 status = "disabled"; 1406 1407 u2port3: usb-phy@0 { 1408 reg = <0x0 0x700>; 1409 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>; 1410 clock-names = "ref"; 1411 #phy-cells = <1>; 1412 }; 1413 }; 1414 1415 i2c5: i2c@11d00000 { 1416 compatible = "mediatek,mt8195-i2c", 1417 "mediatek,mt8192-i2c"; 1418 reg = <0 0x11d00000 0 0x1000>, 1419 <0 0x10220580 0 0x80>; 1420 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>; 1421 clock-div = <1>; 1422 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>, 1423 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1424 clock-names = "main", "dma"; 1425 #address-cells = <1>; 1426 #size-cells = <0>; 1427 status = "disabled"; 1428 }; 1429 1430 i2c6: i2c@11d01000 { 1431 compatible = "mediatek,mt8195-i2c", 1432 "mediatek,mt8192-i2c"; 1433 reg = <0 0x11d01000 0 0x1000>, 1434 <0 0x10220600 0 0x80>; 1435 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>; 1436 clock-div = <1>; 1437 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>, 1438 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1439 clock-names = "main", "dma"; 1440 #address-cells = <1>; 1441 #size-cells = <0>; 1442 status = "disabled"; 1443 }; 1444 1445 i2c7: i2c@11d02000 { 1446 compatible = "mediatek,mt8195-i2c", 1447 "mediatek,mt8192-i2c"; 1448 reg = <0 0x11d02000 0 0x1000>, 1449 <0 0x10220680 0 0x80>; 1450 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>; 1451 clock-div = <1>; 1452 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>, 1453 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1454 clock-names = "main", "dma"; 1455 #address-cells = <1>; 1456 #size-cells = <0>; 1457 status = "disabled"; 1458 }; 1459 1460 imp_iic_wrap_s: clock-controller@11d03000 { 1461 compatible = "mediatek,mt8195-imp_iic_wrap_s"; 1462 reg = <0 0x11d03000 0 0x1000>; 1463 #clock-cells = <1>; 1464 }; 1465 1466 i2c0: i2c@11e00000 { 1467 compatible = "mediatek,mt8195-i2c", 1468 "mediatek,mt8192-i2c"; 1469 reg = <0 0x11e00000 0 0x1000>, 1470 <0 0x10220080 0 0x80>; 1471 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>; 1472 clock-div = <1>; 1473 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>, 1474 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1475 clock-names = "main", "dma"; 1476 #address-cells = <1>; 1477 #size-cells = <0>; 1478 status = "disabled"; 1479 }; 1480 1481 i2c1: i2c@11e01000 { 1482 compatible = "mediatek,mt8195-i2c", 1483 "mediatek,mt8192-i2c"; 1484 reg = <0 0x11e01000 0 0x1000>, 1485 <0 0x10220200 0 0x80>; 1486 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>; 1487 clock-div = <1>; 1488 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>, 1489 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1490 clock-names = "main", "dma"; 1491 #address-cells = <1>; 1492 #size-cells = <0>; 1493 status = "disabled"; 1494 }; 1495 1496 i2c2: i2c@11e02000 { 1497 compatible = "mediatek,mt8195-i2c", 1498 "mediatek,mt8192-i2c"; 1499 reg = <0 0x11e02000 0 0x1000>, 1500 <0 0x10220380 0 0x80>; 1501 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>; 1502 clock-div = <1>; 1503 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>, 1504 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1505 clock-names = "main", "dma"; 1506 #address-cells = <1>; 1507 #size-cells = <0>; 1508 status = "disabled"; 1509 }; 1510 1511 i2c3: i2c@11e03000 { 1512 compatible = "mediatek,mt8195-i2c", 1513 "mediatek,mt8192-i2c"; 1514 reg = <0 0x11e03000 0 0x1000>, 1515 <0 0x10220480 0 0x80>; 1516 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>; 1517 clock-div = <1>; 1518 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>, 1519 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1520 clock-names = "main", "dma"; 1521 #address-cells = <1>; 1522 #size-cells = <0>; 1523 status = "disabled"; 1524 }; 1525 1526 i2c4: i2c@11e04000 { 1527 compatible = "mediatek,mt8195-i2c", 1528 "mediatek,mt8192-i2c"; 1529 reg = <0 0x11e04000 0 0x1000>, 1530 <0 0x10220500 0 0x80>; 1531 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>; 1532 clock-div = <1>; 1533 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>, 1534 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1535 clock-names = "main", "dma"; 1536 #address-cells = <1>; 1537 #size-cells = <0>; 1538 status = "disabled"; 1539 }; 1540 1541 imp_iic_wrap_w: clock-controller@11e05000 { 1542 compatible = "mediatek,mt8195-imp_iic_wrap_w"; 1543 reg = <0 0x11e05000 0 0x1000>; 1544 #clock-cells = <1>; 1545 }; 1546 1547 u3phy1: t-phy@11e30000 { 1548 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1549 #address-cells = <1>; 1550 #size-cells = <1>; 1551 ranges = <0 0 0x11e30000 0xe00>; 1552 status = "disabled"; 1553 1554 u2port1: usb-phy@0 { 1555 reg = <0x0 0x700>; 1556 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>, 1557 <&clk26m>; 1558 clock-names = "ref", "da_ref"; 1559 #phy-cells = <1>; 1560 }; 1561 1562 u3port1: usb-phy@700 { 1563 reg = <0x700 0x700>; 1564 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1565 <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>; 1566 clock-names = "ref", "da_ref"; 1567 nvmem-cells = <&comb_intr_p1>, 1568 <&comb_rx_imp_p1>, 1569 <&comb_tx_imp_p1>; 1570 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1571 #phy-cells = <1>; 1572 }; 1573 }; 1574 1575 u3phy0: t-phy@11e40000 { 1576 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1577 #address-cells = <1>; 1578 #size-cells = <1>; 1579 ranges = <0 0 0x11e40000 0xe00>; 1580 status = "disabled"; 1581 1582 u2port0: usb-phy@0 { 1583 reg = <0x0 0x700>; 1584 clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>, 1585 <&clk26m>; 1586 clock-names = "ref", "da_ref"; 1587 #phy-cells = <1>; 1588 }; 1589 1590 u3port0: usb-phy@700 { 1591 reg = <0x700 0x700>; 1592 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1593 <&topckgen CLK_TOP_SSUSB_PHY_REF>; 1594 clock-names = "ref", "da_ref"; 1595 nvmem-cells = <&u3_intr_p0>, 1596 <&u3_rx_imp_p0>, 1597 <&u3_tx_imp_p0>; 1598 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1599 #phy-cells = <1>; 1600 }; 1601 }; 1602 1603 pciephy: phy@11e80000 { 1604 compatible = "mediatek,mt8195-pcie-phy"; 1605 reg = <0 0x11e80000 0 0x10000>; 1606 reg-names = "sif"; 1607 nvmem-cells = <&pciephy_glb_intr>, <&pciephy_tx_ln0_pmos>, 1608 <&pciephy_tx_ln0_nmos>, <&pciephy_rx_ln0>, 1609 <&pciephy_tx_ln1_pmos>, <&pciephy_tx_ln1_nmos>, 1610 <&pciephy_rx_ln1>; 1611 nvmem-cell-names = "glb_intr", "tx_ln0_pmos", 1612 "tx_ln0_nmos", "rx_ln0", 1613 "tx_ln1_pmos", "tx_ln1_nmos", 1614 "rx_ln1"; 1615 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_PHY>; 1616 #phy-cells = <0>; 1617 status = "disabled"; 1618 }; 1619 1620 ufsphy: ufs-phy@11fa0000 { 1621 compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy"; 1622 reg = <0 0x11fa0000 0 0xc000>; 1623 clocks = <&clk26m>, <&clk26m>; 1624 clock-names = "unipro", "mp"; 1625 #phy-cells = <0>; 1626 status = "disabled"; 1627 }; 1628 1629 mfgcfg: clock-controller@13fbf000 { 1630 compatible = "mediatek,mt8195-mfgcfg"; 1631 reg = <0 0x13fbf000 0 0x1000>; 1632 #clock-cells = <1>; 1633 }; 1634 1635 vppsys0: clock-controller@14000000 { 1636 compatible = "mediatek,mt8195-vppsys0"; 1637 reg = <0 0x14000000 0 0x1000>; 1638 #clock-cells = <1>; 1639 }; 1640 1641 smi_sub_common_vpp0_vpp1_2x1: smi@14010000 { 1642 compatible = "mediatek,mt8195-smi-sub-common"; 1643 reg = <0 0x14010000 0 0x1000>; 1644 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1645 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1646 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 1647 clock-names = "apb", "smi", "gals0"; 1648 mediatek,smi = <&smi_common_vpp>; 1649 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1650 }; 1651 1652 smi_sub_common_vdec_vpp0_2x1: smi@14011000 { 1653 compatible = "mediatek,mt8195-smi-sub-common"; 1654 reg = <0 0x14011000 0 0x1000>; 1655 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1656 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1657 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>; 1658 clock-names = "apb", "smi", "gals0"; 1659 mediatek,smi = <&smi_common_vpp>; 1660 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1661 }; 1662 1663 smi_common_vpp: smi@14012000 { 1664 compatible = "mediatek,mt8195-smi-common-vpp"; 1665 reg = <0 0x14012000 0 0x1000>; 1666 clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1667 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1668 <&vppsys0 CLK_VPP0_SMI_RSI>, 1669 <&vppsys0 CLK_VPP0_SMI_RSI>; 1670 clock-names = "apb", "smi", "gals0", "gals1"; 1671 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1672 }; 1673 1674 larb4: larb@14013000 { 1675 compatible = "mediatek,mt8195-smi-larb"; 1676 reg = <0 0x14013000 0 0x1000>; 1677 mediatek,larb-id = <4>; 1678 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 1679 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1680 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>; 1681 clock-names = "apb", "smi"; 1682 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1683 }; 1684 1685 iommu_vpp: iommu@14018000 { 1686 compatible = "mediatek,mt8195-iommu-vpp"; 1687 reg = <0 0x14018000 0 0x1000>; 1688 mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8 1689 &larb12 &larb14 &larb16 &larb18 1690 &larb20 &larb22 &larb23 &larb26 1691 &larb27>; 1692 interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>; 1693 clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>; 1694 clock-names = "bclk"; 1695 #iommu-cells = <1>; 1696 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1697 }; 1698 1699 wpesys: clock-controller@14e00000 { 1700 compatible = "mediatek,mt8195-wpesys"; 1701 reg = <0 0x14e00000 0 0x1000>; 1702 #clock-cells = <1>; 1703 }; 1704 1705 wpesys_vpp0: clock-controller@14e02000 { 1706 compatible = "mediatek,mt8195-wpesys_vpp0"; 1707 reg = <0 0x14e02000 0 0x1000>; 1708 #clock-cells = <1>; 1709 }; 1710 1711 wpesys_vpp1: clock-controller@14e03000 { 1712 compatible = "mediatek,mt8195-wpesys_vpp1"; 1713 reg = <0 0x14e03000 0 0x1000>; 1714 #clock-cells = <1>; 1715 }; 1716 1717 larb7: larb@14e04000 { 1718 compatible = "mediatek,mt8195-smi-larb"; 1719 reg = <0 0x14e04000 0 0x1000>; 1720 mediatek,larb-id = <7>; 1721 mediatek,smi = <&smi_common_vdo>; 1722 clocks = <&wpesys CLK_WPE_SMI_LARB7>, 1723 <&wpesys CLK_WPE_SMI_LARB7>; 1724 clock-names = "apb", "smi"; 1725 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 1726 }; 1727 1728 larb8: larb@14e05000 { 1729 compatible = "mediatek,mt8195-smi-larb"; 1730 reg = <0 0x14e05000 0 0x1000>; 1731 mediatek,larb-id = <8>; 1732 mediatek,smi = <&smi_common_vpp>; 1733 clocks = <&wpesys CLK_WPE_SMI_LARB8>, 1734 <&wpesys CLK_WPE_SMI_LARB8>, 1735 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 1736 clock-names = "apb", "smi", "gals"; 1737 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 1738 }; 1739 1740 vppsys1: clock-controller@14f00000 { 1741 compatible = "mediatek,mt8195-vppsys1"; 1742 reg = <0 0x14f00000 0 0x1000>; 1743 #clock-cells = <1>; 1744 }; 1745 1746 larb5: larb@14f02000 { 1747 compatible = "mediatek,mt8195-smi-larb"; 1748 reg = <0 0x14f02000 0 0x1000>; 1749 mediatek,larb-id = <5>; 1750 mediatek,smi = <&smi_common_vdo>; 1751 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 1752 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 1753 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>; 1754 clock-names = "apb", "smi", "gals"; 1755 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 1756 }; 1757 1758 larb6: larb@14f03000 { 1759 compatible = "mediatek,mt8195-smi-larb"; 1760 reg = <0 0x14f03000 0 0x1000>; 1761 mediatek,larb-id = <6>; 1762 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 1763 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 1764 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 1765 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>; 1766 clock-names = "apb", "smi", "gals"; 1767 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 1768 }; 1769 1770 imgsys: clock-controller@15000000 { 1771 compatible = "mediatek,mt8195-imgsys"; 1772 reg = <0 0x15000000 0 0x1000>; 1773 #clock-cells = <1>; 1774 }; 1775 1776 larb9: larb@15001000 { 1777 compatible = "mediatek,mt8195-smi-larb"; 1778 reg = <0 0x15001000 0 0x1000>; 1779 mediatek,larb-id = <9>; 1780 mediatek,smi = <&smi_sub_common_img1_3x1>; 1781 clocks = <&imgsys CLK_IMG_LARB9>, 1782 <&imgsys CLK_IMG_LARB9>, 1783 <&imgsys CLK_IMG_GALS>; 1784 clock-names = "apb", "smi", "gals"; 1785 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1786 }; 1787 1788 smi_sub_common_img0_3x1: smi@15002000 { 1789 compatible = "mediatek,mt8195-smi-sub-common"; 1790 reg = <0 0x15002000 0 0x1000>; 1791 clocks = <&imgsys CLK_IMG_IPE>, 1792 <&imgsys CLK_IMG_IPE>, 1793 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 1794 clock-names = "apb", "smi", "gals0"; 1795 mediatek,smi = <&smi_common_vpp>; 1796 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1797 }; 1798 1799 smi_sub_common_img1_3x1: smi@15003000 { 1800 compatible = "mediatek,mt8195-smi-sub-common"; 1801 reg = <0 0x15003000 0 0x1000>; 1802 clocks = <&imgsys CLK_IMG_LARB9>, 1803 <&imgsys CLK_IMG_LARB9>, 1804 <&imgsys CLK_IMG_GALS>; 1805 clock-names = "apb", "smi", "gals0"; 1806 mediatek,smi = <&smi_common_vdo>; 1807 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1808 }; 1809 1810 imgsys1_dip_top: clock-controller@15110000 { 1811 compatible = "mediatek,mt8195-imgsys1_dip_top"; 1812 reg = <0 0x15110000 0 0x1000>; 1813 #clock-cells = <1>; 1814 }; 1815 1816 larb10: larb@15120000 { 1817 compatible = "mediatek,mt8195-smi-larb"; 1818 reg = <0 0x15120000 0 0x1000>; 1819 mediatek,larb-id = <10>; 1820 mediatek,smi = <&smi_sub_common_img1_3x1>; 1821 clocks = <&imgsys CLK_IMG_DIP0>, 1822 <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>; 1823 clock-names = "apb", "smi"; 1824 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 1825 }; 1826 1827 imgsys1_dip_nr: clock-controller@15130000 { 1828 compatible = "mediatek,mt8195-imgsys1_dip_nr"; 1829 reg = <0 0x15130000 0 0x1000>; 1830 #clock-cells = <1>; 1831 }; 1832 1833 imgsys1_wpe: clock-controller@15220000 { 1834 compatible = "mediatek,mt8195-imgsys1_wpe"; 1835 reg = <0 0x15220000 0 0x1000>; 1836 #clock-cells = <1>; 1837 }; 1838 1839 larb11: larb@15230000 { 1840 compatible = "mediatek,mt8195-smi-larb"; 1841 reg = <0 0x15230000 0 0x1000>; 1842 mediatek,larb-id = <11>; 1843 mediatek,smi = <&smi_sub_common_img1_3x1>; 1844 clocks = <&imgsys CLK_IMG_WPE0>, 1845 <&imgsys1_wpe CLK_IMG1_WPE_LARB11>; 1846 clock-names = "apb", "smi"; 1847 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 1848 }; 1849 1850 ipesys: clock-controller@15330000 { 1851 compatible = "mediatek,mt8195-ipesys"; 1852 reg = <0 0x15330000 0 0x1000>; 1853 #clock-cells = <1>; 1854 }; 1855 1856 larb12: larb@15340000 { 1857 compatible = "mediatek,mt8195-smi-larb"; 1858 reg = <0 0x15340000 0 0x1000>; 1859 mediatek,larb-id = <12>; 1860 mediatek,smi = <&smi_sub_common_img0_3x1>; 1861 clocks = <&ipesys CLK_IPE_SMI_LARB12>, 1862 <&ipesys CLK_IPE_SMI_LARB12>; 1863 clock-names = "apb", "smi"; 1864 power-domains = <&spm MT8195_POWER_DOMAIN_IPE>; 1865 }; 1866 1867 camsys: clock-controller@16000000 { 1868 compatible = "mediatek,mt8195-camsys"; 1869 reg = <0 0x16000000 0 0x1000>; 1870 #clock-cells = <1>; 1871 }; 1872 1873 larb13: larb@16001000 { 1874 compatible = "mediatek,mt8195-smi-larb"; 1875 reg = <0 0x16001000 0 0x1000>; 1876 mediatek,larb-id = <13>; 1877 mediatek,smi = <&smi_sub_common_cam_4x1>; 1878 clocks = <&camsys CLK_CAM_LARB13>, 1879 <&camsys CLK_CAM_LARB13>, 1880 <&camsys CLK_CAM_CAM2MM0_GALS>; 1881 clock-names = "apb", "smi", "gals"; 1882 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1883 }; 1884 1885 larb14: larb@16002000 { 1886 compatible = "mediatek,mt8195-smi-larb"; 1887 reg = <0 0x16002000 0 0x1000>; 1888 mediatek,larb-id = <14>; 1889 mediatek,smi = <&smi_sub_common_cam_7x1>; 1890 clocks = <&camsys CLK_CAM_LARB14>, 1891 <&camsys CLK_CAM_LARB14>; 1892 clock-names = "apb", "smi"; 1893 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1894 }; 1895 1896 smi_sub_common_cam_4x1: smi@16004000 { 1897 compatible = "mediatek,mt8195-smi-sub-common"; 1898 reg = <0 0x16004000 0 0x1000>; 1899 clocks = <&camsys CLK_CAM_LARB13>, 1900 <&camsys CLK_CAM_LARB13>, 1901 <&camsys CLK_CAM_CAM2MM0_GALS>; 1902 clock-names = "apb", "smi", "gals0"; 1903 mediatek,smi = <&smi_common_vdo>; 1904 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1905 }; 1906 1907 smi_sub_common_cam_7x1: smi@16005000 { 1908 compatible = "mediatek,mt8195-smi-sub-common"; 1909 reg = <0 0x16005000 0 0x1000>; 1910 clocks = <&camsys CLK_CAM_LARB14>, 1911 <&camsys CLK_CAM_CAM2MM1_GALS>, 1912 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 1913 clock-names = "apb", "smi", "gals0"; 1914 mediatek,smi = <&smi_common_vpp>; 1915 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1916 }; 1917 1918 larb16: larb@16012000 { 1919 compatible = "mediatek,mt8195-smi-larb"; 1920 reg = <0 0x16012000 0 0x1000>; 1921 mediatek,larb-id = <16>; 1922 mediatek,smi = <&smi_sub_common_cam_7x1>; 1923 clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>, 1924 <&camsys_rawa CLK_CAM_RAWA_LARBX>; 1925 clock-names = "apb", "smi"; 1926 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 1927 }; 1928 1929 larb17: larb@16013000 { 1930 compatible = "mediatek,mt8195-smi-larb"; 1931 reg = <0 0x16013000 0 0x1000>; 1932 mediatek,larb-id = <17>; 1933 mediatek,smi = <&smi_sub_common_cam_4x1>; 1934 clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>, 1935 <&camsys_yuva CLK_CAM_YUVA_LARBX>; 1936 clock-names = "apb", "smi"; 1937 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 1938 }; 1939 1940 larb27: larb@16014000 { 1941 compatible = "mediatek,mt8195-smi-larb"; 1942 reg = <0 0x16014000 0 0x1000>; 1943 mediatek,larb-id = <27>; 1944 mediatek,smi = <&smi_sub_common_cam_7x1>; 1945 clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>, 1946 <&camsys_rawb CLK_CAM_RAWB_LARBX>; 1947 clock-names = "apb", "smi"; 1948 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 1949 }; 1950 1951 larb28: larb@16015000 { 1952 compatible = "mediatek,mt8195-smi-larb"; 1953 reg = <0 0x16015000 0 0x1000>; 1954 mediatek,larb-id = <28>; 1955 mediatek,smi = <&smi_sub_common_cam_4x1>; 1956 clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>, 1957 <&camsys_yuvb CLK_CAM_YUVB_LARBX>; 1958 clock-names = "apb", "smi"; 1959 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 1960 }; 1961 1962 camsys_rawa: clock-controller@1604f000 { 1963 compatible = "mediatek,mt8195-camsys_rawa"; 1964 reg = <0 0x1604f000 0 0x1000>; 1965 #clock-cells = <1>; 1966 }; 1967 1968 camsys_yuva: clock-controller@1606f000 { 1969 compatible = "mediatek,mt8195-camsys_yuva"; 1970 reg = <0 0x1606f000 0 0x1000>; 1971 #clock-cells = <1>; 1972 }; 1973 1974 camsys_rawb: clock-controller@1608f000 { 1975 compatible = "mediatek,mt8195-camsys_rawb"; 1976 reg = <0 0x1608f000 0 0x1000>; 1977 #clock-cells = <1>; 1978 }; 1979 1980 camsys_yuvb: clock-controller@160af000 { 1981 compatible = "mediatek,mt8195-camsys_yuvb"; 1982 reg = <0 0x160af000 0 0x1000>; 1983 #clock-cells = <1>; 1984 }; 1985 1986 camsys_mraw: clock-controller@16140000 { 1987 compatible = "mediatek,mt8195-camsys_mraw"; 1988 reg = <0 0x16140000 0 0x1000>; 1989 #clock-cells = <1>; 1990 }; 1991 1992 larb25: larb@16141000 { 1993 compatible = "mediatek,mt8195-smi-larb"; 1994 reg = <0 0x16141000 0 0x1000>; 1995 mediatek,larb-id = <25>; 1996 mediatek,smi = <&smi_sub_common_cam_4x1>; 1997 clocks = <&camsys CLK_CAM_LARB13>, 1998 <&camsys_mraw CLK_CAM_MRAW_LARBX>, 1999 <&camsys CLK_CAM_CAM2MM0_GALS>; 2000 clock-names = "apb", "smi", "gals"; 2001 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 2002 }; 2003 2004 larb26: larb@16142000 { 2005 compatible = "mediatek,mt8195-smi-larb"; 2006 reg = <0 0x16142000 0 0x1000>; 2007 mediatek,larb-id = <26>; 2008 mediatek,smi = <&smi_sub_common_cam_7x1>; 2009 clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>, 2010 <&camsys_mraw CLK_CAM_MRAW_LARBX>; 2011 clock-names = "apb", "smi"; 2012 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 2013 2014 }; 2015 2016 ccusys: clock-controller@17200000 { 2017 compatible = "mediatek,mt8195-ccusys"; 2018 reg = <0 0x17200000 0 0x1000>; 2019 #clock-cells = <1>; 2020 }; 2021 2022 larb18: larb@17201000 { 2023 compatible = "mediatek,mt8195-smi-larb"; 2024 reg = <0 0x17201000 0 0x1000>; 2025 mediatek,larb-id = <18>; 2026 mediatek,smi = <&smi_sub_common_cam_7x1>; 2027 clocks = <&ccusys CLK_CCU_LARB18>, 2028 <&ccusys CLK_CCU_LARB18>; 2029 clock-names = "apb", "smi"; 2030 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2031 }; 2032 2033 larb24: larb@1800d000 { 2034 compatible = "mediatek,mt8195-smi-larb"; 2035 reg = <0 0x1800d000 0 0x1000>; 2036 mediatek,larb-id = <24>; 2037 mediatek,smi = <&smi_common_vdo>; 2038 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>, 2039 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2040 clock-names = "apb", "smi"; 2041 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2042 }; 2043 2044 larb23: larb@1800e000 { 2045 compatible = "mediatek,mt8195-smi-larb"; 2046 reg = <0 0x1800e000 0 0x1000>; 2047 mediatek,larb-id = <23>; 2048 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2049 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2050 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2051 clock-names = "apb", "smi"; 2052 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2053 }; 2054 2055 vdecsys_soc: clock-controller@1800f000 { 2056 compatible = "mediatek,mt8195-vdecsys_soc"; 2057 reg = <0 0x1800f000 0 0x1000>; 2058 #clock-cells = <1>; 2059 }; 2060 2061 larb21: larb@1802e000 { 2062 compatible = "mediatek,mt8195-smi-larb"; 2063 reg = <0 0x1802e000 0 0x1000>; 2064 mediatek,larb-id = <21>; 2065 mediatek,smi = <&smi_common_vdo>; 2066 clocks = <&vdecsys CLK_VDEC_LARB1>, 2067 <&vdecsys CLK_VDEC_LARB1>; 2068 clock-names = "apb", "smi"; 2069 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2070 }; 2071 2072 vdecsys: clock-controller@1802f000 { 2073 compatible = "mediatek,mt8195-vdecsys"; 2074 reg = <0 0x1802f000 0 0x1000>; 2075 #clock-cells = <1>; 2076 }; 2077 2078 larb22: larb@1803e000 { 2079 compatible = "mediatek,mt8195-smi-larb"; 2080 reg = <0 0x1803e000 0 0x1000>; 2081 mediatek,larb-id = <22>; 2082 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2083 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2084 <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>; 2085 clock-names = "apb", "smi"; 2086 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>; 2087 }; 2088 2089 vdecsys_core1: clock-controller@1803f000 { 2090 compatible = "mediatek,mt8195-vdecsys_core1"; 2091 reg = <0 0x1803f000 0 0x1000>; 2092 #clock-cells = <1>; 2093 }; 2094 2095 apusys_pll: clock-controller@190f3000 { 2096 compatible = "mediatek,mt8195-apusys_pll"; 2097 reg = <0 0x190f3000 0 0x1000>; 2098 #clock-cells = <1>; 2099 }; 2100 2101 vencsys: clock-controller@1a000000 { 2102 compatible = "mediatek,mt8195-vencsys"; 2103 reg = <0 0x1a000000 0 0x1000>; 2104 #clock-cells = <1>; 2105 }; 2106 2107 larb19: larb@1a010000 { 2108 compatible = "mediatek,mt8195-smi-larb"; 2109 reg = <0 0x1a010000 0 0x1000>; 2110 mediatek,larb-id = <19>; 2111 mediatek,smi = <&smi_common_vdo>; 2112 clocks = <&vencsys CLK_VENC_VENC>, 2113 <&vencsys CLK_VENC_GALS>; 2114 clock-names = "apb", "smi"; 2115 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2116 }; 2117 2118 venc: video-codec@1a020000 { 2119 compatible = "mediatek,mt8195-vcodec-enc"; 2120 reg = <0 0x1a020000 0 0x10000>; 2121 iommus = <&iommu_vdo M4U_PORT_L19_VENC_RCPU>, 2122 <&iommu_vdo M4U_PORT_L19_VENC_REC>, 2123 <&iommu_vdo M4U_PORT_L19_VENC_BSDMA>, 2124 <&iommu_vdo M4U_PORT_L19_VENC_SV_COMV>, 2125 <&iommu_vdo M4U_PORT_L19_VENC_RD_COMV>, 2126 <&iommu_vdo M4U_PORT_L19_VENC_CUR_LUMA>, 2127 <&iommu_vdo M4U_PORT_L19_VENC_CUR_CHROMA>, 2128 <&iommu_vdo M4U_PORT_L19_VENC_REF_LUMA>, 2129 <&iommu_vdo M4U_PORT_L19_VENC_REF_CHROMA>; 2130 interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>; 2131 mediatek,scp = <&scp>; 2132 clocks = <&vencsys CLK_VENC_VENC>; 2133 clock-names = "venc_sel"; 2134 assigned-clocks = <&topckgen CLK_TOP_VENC>; 2135 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2136 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2137 #address-cells = <2>; 2138 #size-cells = <2>; 2139 dma-ranges = <0x1 0x0 0x0 0x40000000 0x0 0xfff00000>; 2140 }; 2141 2142 vencsys_core1: clock-controller@1b000000 { 2143 compatible = "mediatek,mt8195-vencsys_core1"; 2144 reg = <0 0x1b000000 0 0x1000>; 2145 #clock-cells = <1>; 2146 }; 2147 2148 vdosys0: syscon@1c01a000 { 2149 compatible = "mediatek,mt8195-mmsys", "syscon"; 2150 reg = <0 0x1c01a000 0 0x1000>; 2151 mboxes = <&gce0 0 CMDQ_THR_PRIO_4>; 2152 #clock-cells = <1>; 2153 }; 2154 2155 larb20: larb@1b010000 { 2156 compatible = "mediatek,mt8195-smi-larb"; 2157 reg = <0 0x1b010000 0 0x1000>; 2158 mediatek,larb-id = <20>; 2159 mediatek,smi = <&smi_common_vpp>; 2160 clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>, 2161 <&vencsys_core1 CLK_VENC_CORE1_GALS>, 2162 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2163 clock-names = "apb", "smi", "gals"; 2164 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 2165 }; 2166 2167 ovl0: ovl@1c000000 { 2168 compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl"; 2169 reg = <0 0x1c000000 0 0x1000>; 2170 interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>; 2171 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2172 clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>; 2173 iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>; 2174 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>; 2175 }; 2176 2177 rdma0: rdma@1c002000 { 2178 compatible = "mediatek,mt8195-disp-rdma"; 2179 reg = <0 0x1c002000 0 0x1000>; 2180 interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>; 2181 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2182 clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>; 2183 iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>; 2184 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>; 2185 }; 2186 2187 color0: color@1c003000 { 2188 compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color"; 2189 reg = <0 0x1c003000 0 0x1000>; 2190 interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>; 2191 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2192 clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>; 2193 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>; 2194 }; 2195 2196 ccorr0: ccorr@1c004000 { 2197 compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr"; 2198 reg = <0 0x1c004000 0 0x1000>; 2199 interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>; 2200 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2201 clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>; 2202 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>; 2203 }; 2204 2205 aal0: aal@1c005000 { 2206 compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal"; 2207 reg = <0 0x1c005000 0 0x1000>; 2208 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>; 2209 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2210 clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>; 2211 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>; 2212 }; 2213 2214 gamma0: gamma@1c006000 { 2215 compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma"; 2216 reg = <0 0x1c006000 0 0x1000>; 2217 interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>; 2218 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2219 clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>; 2220 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>; 2221 }; 2222 2223 dither0: dither@1c007000 { 2224 compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither"; 2225 reg = <0 0x1c007000 0 0x1000>; 2226 interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>; 2227 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2228 clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>; 2229 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>; 2230 }; 2231 2232 dsc0: dsc@1c009000 { 2233 compatible = "mediatek,mt8195-disp-dsc"; 2234 reg = <0 0x1c009000 0 0x1000>; 2235 interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>; 2236 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2237 clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>; 2238 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>; 2239 }; 2240 2241 merge0: merge@1c014000 { 2242 compatible = "mediatek,mt8195-disp-merge"; 2243 reg = <0 0x1c014000 0 0x1000>; 2244 interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>; 2245 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2246 clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>; 2247 mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>; 2248 }; 2249 2250 dp_intf0: dp-intf@1c015000 { 2251 compatible = "mediatek,mt8195-dp-intf"; 2252 reg = <0 0x1c015000 0 0x1000>; 2253 interrupts = <GIC_SPI 657 IRQ_TYPE_LEVEL_HIGH 0>; 2254 clocks = <&vdosys0 CLK_VDO0_DP_INTF0>, 2255 <&vdosys0 CLK_VDO0_DP_INTF0_DP_INTF>, 2256 <&apmixedsys CLK_APMIXED_TVDPLL1>; 2257 clock-names = "engine", "pixel", "pll"; 2258 status = "disabled"; 2259 }; 2260 2261 mutex: mutex@1c016000 { 2262 compatible = "mediatek,mt8195-disp-mutex"; 2263 reg = <0 0x1c016000 0 0x1000>; 2264 interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>; 2265 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2266 clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>; 2267 mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>; 2268 }; 2269 2270 larb0: larb@1c018000 { 2271 compatible = "mediatek,mt8195-smi-larb"; 2272 reg = <0 0x1c018000 0 0x1000>; 2273 mediatek,larb-id = <0>; 2274 mediatek,smi = <&smi_common_vdo>; 2275 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2276 <&vdosys0 CLK_VDO0_SMI_LARB>, 2277 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>; 2278 clock-names = "apb", "smi", "gals"; 2279 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2280 }; 2281 2282 larb1: larb@1c019000 { 2283 compatible = "mediatek,mt8195-smi-larb"; 2284 reg = <0 0x1c019000 0 0x1000>; 2285 mediatek,larb-id = <1>; 2286 mediatek,smi = <&smi_common_vpp>; 2287 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2288 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>, 2289 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>; 2290 clock-names = "apb", "smi", "gals"; 2291 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2292 }; 2293 2294 vdosys1: syscon@1c100000 { 2295 compatible = "mediatek,mt8195-mmsys", "syscon"; 2296 reg = <0 0x1c100000 0 0x1000>; 2297 #clock-cells = <1>; 2298 }; 2299 2300 smi_common_vdo: smi@1c01b000 { 2301 compatible = "mediatek,mt8195-smi-common-vdo"; 2302 reg = <0 0x1c01b000 0 0x1000>; 2303 clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>, 2304 <&vdosys0 CLK_VDO0_SMI_EMI>, 2305 <&vdosys0 CLK_VDO0_SMI_RSI>, 2306 <&vdosys0 CLK_VDO0_SMI_GALS>; 2307 clock-names = "apb", "smi", "gals0", "gals1"; 2308 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2309 2310 }; 2311 2312 iommu_vdo: iommu@1c01f000 { 2313 compatible = "mediatek,mt8195-iommu-vdo"; 2314 reg = <0 0x1c01f000 0 0x1000>; 2315 mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9 2316 &larb10 &larb11 &larb13 &larb17 2317 &larb19 &larb21 &larb24 &larb25 2318 &larb28>; 2319 interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>; 2320 #iommu-cells = <1>; 2321 clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>; 2322 clock-names = "bclk"; 2323 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2324 }; 2325 2326 larb2: larb@1c102000 { 2327 compatible = "mediatek,mt8195-smi-larb"; 2328 reg = <0 0x1c102000 0 0x1000>; 2329 mediatek,larb-id = <2>; 2330 mediatek,smi = <&smi_common_vdo>; 2331 clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>, 2332 <&vdosys1 CLK_VDO1_SMI_LARB2>, 2333 <&vdosys1 CLK_VDO1_GALS>; 2334 clock-names = "apb", "smi", "gals"; 2335 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2336 }; 2337 2338 larb3: larb@1c103000 { 2339 compatible = "mediatek,mt8195-smi-larb"; 2340 reg = <0 0x1c103000 0 0x1000>; 2341 mediatek,larb-id = <3>; 2342 mediatek,smi = <&smi_common_vpp>; 2343 clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>, 2344 <&vdosys1 CLK_VDO1_GALS>, 2345 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2346 clock-names = "apb", "smi", "gals"; 2347 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2348 }; 2349 2350 dp_intf1: dp-intf@1c113000 { 2351 compatible = "mediatek,mt8195-dp-intf"; 2352 reg = <0 0x1c113000 0 0x1000>; 2353 interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH 0>; 2354 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2355 clocks = <&vdosys1 CLK_VDO1_DP_INTF0_MM>, 2356 <&vdosys1 CLK_VDO1_DPINTF>, 2357 <&apmixedsys CLK_APMIXED_TVDPLL2>; 2358 clock-names = "engine", "pixel", "pll"; 2359 status = "disabled"; 2360 }; 2361 2362 edp_tx: edp-tx@1c500000 { 2363 compatible = "mediatek,mt8195-edp-tx"; 2364 reg = <0 0x1c500000 0 0x8000>; 2365 nvmem-cells = <&dp_calibration>; 2366 nvmem-cell-names = "dp_calibration_data"; 2367 power-domains = <&spm MT8195_POWER_DOMAIN_EPD_TX>; 2368 interrupts = <GIC_SPI 676 IRQ_TYPE_LEVEL_HIGH 0>; 2369 max-linkrate-mhz = <8100>; 2370 status = "disabled"; 2371 }; 2372 2373 dp_tx: dp-tx@1c600000 { 2374 compatible = "mediatek,mt8195-dp-tx"; 2375 reg = <0 0x1c600000 0 0x8000>; 2376 nvmem-cells = <&dp_calibration>; 2377 nvmem-cell-names = "dp_calibration_data"; 2378 power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>; 2379 interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>; 2380 max-linkrate-mhz = <8100>; 2381 status = "disabled"; 2382 }; 2383 }; 2384}; 2385