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_TL_96M>, 1262 <&clk26m>, 1263 <&infracfg_ao CLK_INFRA_AO_PCIE_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 }; 1381 1382 u3phy2: t-phy@11c40000 { 1383 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1384 #address-cells = <1>; 1385 #size-cells = <1>; 1386 ranges = <0 0 0x11c40000 0x700>; 1387 status = "disabled"; 1388 1389 u2port2: usb-phy@0 { 1390 reg = <0x0 0x700>; 1391 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>; 1392 clock-names = "ref"; 1393 #phy-cells = <1>; 1394 }; 1395 }; 1396 1397 u3phy3: t-phy@11c50000 { 1398 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1399 #address-cells = <1>; 1400 #size-cells = <1>; 1401 ranges = <0 0 0x11c50000 0x700>; 1402 status = "disabled"; 1403 1404 u2port3: usb-phy@0 { 1405 reg = <0x0 0x700>; 1406 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>; 1407 clock-names = "ref"; 1408 #phy-cells = <1>; 1409 }; 1410 }; 1411 1412 i2c5: i2c@11d00000 { 1413 compatible = "mediatek,mt8195-i2c", 1414 "mediatek,mt8192-i2c"; 1415 reg = <0 0x11d00000 0 0x1000>, 1416 <0 0x10220580 0 0x80>; 1417 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>; 1418 clock-div = <1>; 1419 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>, 1420 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1421 clock-names = "main", "dma"; 1422 #address-cells = <1>; 1423 #size-cells = <0>; 1424 status = "disabled"; 1425 }; 1426 1427 i2c6: i2c@11d01000 { 1428 compatible = "mediatek,mt8195-i2c", 1429 "mediatek,mt8192-i2c"; 1430 reg = <0 0x11d01000 0 0x1000>, 1431 <0 0x10220600 0 0x80>; 1432 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>; 1433 clock-div = <1>; 1434 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>, 1435 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1436 clock-names = "main", "dma"; 1437 #address-cells = <1>; 1438 #size-cells = <0>; 1439 status = "disabled"; 1440 }; 1441 1442 i2c7: i2c@11d02000 { 1443 compatible = "mediatek,mt8195-i2c", 1444 "mediatek,mt8192-i2c"; 1445 reg = <0 0x11d02000 0 0x1000>, 1446 <0 0x10220680 0 0x80>; 1447 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>; 1448 clock-div = <1>; 1449 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>, 1450 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1451 clock-names = "main", "dma"; 1452 #address-cells = <1>; 1453 #size-cells = <0>; 1454 status = "disabled"; 1455 }; 1456 1457 imp_iic_wrap_s: clock-controller@11d03000 { 1458 compatible = "mediatek,mt8195-imp_iic_wrap_s"; 1459 reg = <0 0x11d03000 0 0x1000>; 1460 #clock-cells = <1>; 1461 }; 1462 1463 i2c0: i2c@11e00000 { 1464 compatible = "mediatek,mt8195-i2c", 1465 "mediatek,mt8192-i2c"; 1466 reg = <0 0x11e00000 0 0x1000>, 1467 <0 0x10220080 0 0x80>; 1468 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>; 1469 clock-div = <1>; 1470 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>, 1471 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1472 clock-names = "main", "dma"; 1473 #address-cells = <1>; 1474 #size-cells = <0>; 1475 status = "disabled"; 1476 }; 1477 1478 i2c1: i2c@11e01000 { 1479 compatible = "mediatek,mt8195-i2c", 1480 "mediatek,mt8192-i2c"; 1481 reg = <0 0x11e01000 0 0x1000>, 1482 <0 0x10220200 0 0x80>; 1483 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>; 1484 clock-div = <1>; 1485 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>, 1486 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1487 clock-names = "main", "dma"; 1488 #address-cells = <1>; 1489 #size-cells = <0>; 1490 status = "disabled"; 1491 }; 1492 1493 i2c2: i2c@11e02000 { 1494 compatible = "mediatek,mt8195-i2c", 1495 "mediatek,mt8192-i2c"; 1496 reg = <0 0x11e02000 0 0x1000>, 1497 <0 0x10220380 0 0x80>; 1498 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>; 1499 clock-div = <1>; 1500 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>, 1501 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1502 clock-names = "main", "dma"; 1503 #address-cells = <1>; 1504 #size-cells = <0>; 1505 status = "disabled"; 1506 }; 1507 1508 i2c3: i2c@11e03000 { 1509 compatible = "mediatek,mt8195-i2c", 1510 "mediatek,mt8192-i2c"; 1511 reg = <0 0x11e03000 0 0x1000>, 1512 <0 0x10220480 0 0x80>; 1513 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>; 1514 clock-div = <1>; 1515 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>, 1516 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1517 clock-names = "main", "dma"; 1518 #address-cells = <1>; 1519 #size-cells = <0>; 1520 status = "disabled"; 1521 }; 1522 1523 i2c4: i2c@11e04000 { 1524 compatible = "mediatek,mt8195-i2c", 1525 "mediatek,mt8192-i2c"; 1526 reg = <0 0x11e04000 0 0x1000>, 1527 <0 0x10220500 0 0x80>; 1528 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>; 1529 clock-div = <1>; 1530 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>, 1531 <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 1532 clock-names = "main", "dma"; 1533 #address-cells = <1>; 1534 #size-cells = <0>; 1535 status = "disabled"; 1536 }; 1537 1538 imp_iic_wrap_w: clock-controller@11e05000 { 1539 compatible = "mediatek,mt8195-imp_iic_wrap_w"; 1540 reg = <0 0x11e05000 0 0x1000>; 1541 #clock-cells = <1>; 1542 }; 1543 1544 u3phy1: t-phy@11e30000 { 1545 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1546 #address-cells = <1>; 1547 #size-cells = <1>; 1548 ranges = <0 0 0x11e30000 0xe00>; 1549 status = "disabled"; 1550 1551 u2port1: usb-phy@0 { 1552 reg = <0x0 0x700>; 1553 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>, 1554 <&clk26m>; 1555 clock-names = "ref", "da_ref"; 1556 #phy-cells = <1>; 1557 }; 1558 1559 u3port1: usb-phy@700 { 1560 reg = <0x700 0x700>; 1561 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1562 <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>; 1563 clock-names = "ref", "da_ref"; 1564 nvmem-cells = <&comb_intr_p1>, 1565 <&comb_rx_imp_p1>, 1566 <&comb_tx_imp_p1>; 1567 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1568 #phy-cells = <1>; 1569 }; 1570 }; 1571 1572 u3phy0: t-phy@11e40000 { 1573 compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 1574 #address-cells = <1>; 1575 #size-cells = <1>; 1576 ranges = <0 0 0x11e40000 0xe00>; 1577 status = "disabled"; 1578 1579 u2port0: usb-phy@0 { 1580 reg = <0x0 0x700>; 1581 clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>, 1582 <&clk26m>; 1583 clock-names = "ref", "da_ref"; 1584 #phy-cells = <1>; 1585 }; 1586 1587 u3port0: usb-phy@700 { 1588 reg = <0x700 0x700>; 1589 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 1590 <&topckgen CLK_TOP_SSUSB_PHY_REF>; 1591 clock-names = "ref", "da_ref"; 1592 nvmem-cells = <&u3_intr_p0>, 1593 <&u3_rx_imp_p0>, 1594 <&u3_tx_imp_p0>; 1595 nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 1596 #phy-cells = <1>; 1597 }; 1598 }; 1599 1600 pciephy: phy@11e80000 { 1601 compatible = "mediatek,mt8195-pcie-phy"; 1602 reg = <0 0x11e80000 0 0x10000>; 1603 reg-names = "sif"; 1604 nvmem-cells = <&pciephy_glb_intr>, <&pciephy_tx_ln0_pmos>, 1605 <&pciephy_tx_ln0_nmos>, <&pciephy_rx_ln0>, 1606 <&pciephy_tx_ln1_pmos>, <&pciephy_tx_ln1_nmos>, 1607 <&pciephy_rx_ln1>; 1608 nvmem-cell-names = "glb_intr", "tx_ln0_pmos", 1609 "tx_ln0_nmos", "rx_ln0", 1610 "tx_ln1_pmos", "tx_ln1_nmos", 1611 "rx_ln1"; 1612 power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_PHY>; 1613 #phy-cells = <0>; 1614 status = "disabled"; 1615 }; 1616 1617 ufsphy: ufs-phy@11fa0000 { 1618 compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy"; 1619 reg = <0 0x11fa0000 0 0xc000>; 1620 clocks = <&clk26m>, <&clk26m>; 1621 clock-names = "unipro", "mp"; 1622 #phy-cells = <0>; 1623 status = "disabled"; 1624 }; 1625 1626 mfgcfg: clock-controller@13fbf000 { 1627 compatible = "mediatek,mt8195-mfgcfg"; 1628 reg = <0 0x13fbf000 0 0x1000>; 1629 #clock-cells = <1>; 1630 }; 1631 1632 vppsys0: clock-controller@14000000 { 1633 compatible = "mediatek,mt8195-vppsys0"; 1634 reg = <0 0x14000000 0 0x1000>; 1635 #clock-cells = <1>; 1636 }; 1637 1638 smi_sub_common_vpp0_vpp1_2x1: smi@14010000 { 1639 compatible = "mediatek,mt8195-smi-sub-common"; 1640 reg = <0 0x14010000 0 0x1000>; 1641 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1642 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1643 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 1644 clock-names = "apb", "smi", "gals0"; 1645 mediatek,smi = <&smi_common_vpp>; 1646 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1647 }; 1648 1649 smi_sub_common_vdec_vpp0_2x1: smi@14011000 { 1650 compatible = "mediatek,mt8195-smi-sub-common"; 1651 reg = <0 0x14011000 0 0x1000>; 1652 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1653 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 1654 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>; 1655 clock-names = "apb", "smi", "gals0"; 1656 mediatek,smi = <&smi_common_vpp>; 1657 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1658 }; 1659 1660 smi_common_vpp: smi@14012000 { 1661 compatible = "mediatek,mt8195-smi-common-vpp"; 1662 reg = <0 0x14012000 0 0x1000>; 1663 clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1664 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>, 1665 <&vppsys0 CLK_VPP0_SMI_RSI>, 1666 <&vppsys0 CLK_VPP0_SMI_RSI>; 1667 clock-names = "apb", "smi", "gals0", "gals1"; 1668 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1669 }; 1670 1671 larb4: larb@14013000 { 1672 compatible = "mediatek,mt8195-smi-larb"; 1673 reg = <0 0x14013000 0 0x1000>; 1674 mediatek,larb-id = <4>; 1675 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 1676 clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>, 1677 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>; 1678 clock-names = "apb", "smi"; 1679 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1680 }; 1681 1682 iommu_vpp: iommu@14018000 { 1683 compatible = "mediatek,mt8195-iommu-vpp"; 1684 reg = <0 0x14018000 0 0x1000>; 1685 mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8 1686 &larb12 &larb14 &larb16 &larb18 1687 &larb20 &larb22 &larb23 &larb26 1688 &larb27>; 1689 interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>; 1690 clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>; 1691 clock-names = "bclk"; 1692 #iommu-cells = <1>; 1693 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>; 1694 }; 1695 1696 wpesys: clock-controller@14e00000 { 1697 compatible = "mediatek,mt8195-wpesys"; 1698 reg = <0 0x14e00000 0 0x1000>; 1699 #clock-cells = <1>; 1700 }; 1701 1702 wpesys_vpp0: clock-controller@14e02000 { 1703 compatible = "mediatek,mt8195-wpesys_vpp0"; 1704 reg = <0 0x14e02000 0 0x1000>; 1705 #clock-cells = <1>; 1706 }; 1707 1708 wpesys_vpp1: clock-controller@14e03000 { 1709 compatible = "mediatek,mt8195-wpesys_vpp1"; 1710 reg = <0 0x14e03000 0 0x1000>; 1711 #clock-cells = <1>; 1712 }; 1713 1714 larb7: larb@14e04000 { 1715 compatible = "mediatek,mt8195-smi-larb"; 1716 reg = <0 0x14e04000 0 0x1000>; 1717 mediatek,larb-id = <7>; 1718 mediatek,smi = <&smi_common_vdo>; 1719 clocks = <&wpesys CLK_WPE_SMI_LARB7>, 1720 <&wpesys CLK_WPE_SMI_LARB7>; 1721 clock-names = "apb", "smi"; 1722 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 1723 }; 1724 1725 larb8: larb@14e05000 { 1726 compatible = "mediatek,mt8195-smi-larb"; 1727 reg = <0 0x14e05000 0 0x1000>; 1728 mediatek,larb-id = <8>; 1729 mediatek,smi = <&smi_common_vpp>; 1730 clocks = <&wpesys CLK_WPE_SMI_LARB8>, 1731 <&wpesys CLK_WPE_SMI_LARB8>, 1732 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>; 1733 clock-names = "apb", "smi", "gals"; 1734 power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>; 1735 }; 1736 1737 vppsys1: clock-controller@14f00000 { 1738 compatible = "mediatek,mt8195-vppsys1"; 1739 reg = <0 0x14f00000 0 0x1000>; 1740 #clock-cells = <1>; 1741 }; 1742 1743 larb5: larb@14f02000 { 1744 compatible = "mediatek,mt8195-smi-larb"; 1745 reg = <0 0x14f02000 0 0x1000>; 1746 mediatek,larb-id = <5>; 1747 mediatek,smi = <&smi_common_vdo>; 1748 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 1749 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 1750 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>; 1751 clock-names = "apb", "smi", "gals"; 1752 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 1753 }; 1754 1755 larb6: larb@14f03000 { 1756 compatible = "mediatek,mt8195-smi-larb"; 1757 reg = <0 0x14f03000 0 0x1000>; 1758 mediatek,larb-id = <6>; 1759 mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>; 1760 clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>, 1761 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>, 1762 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>; 1763 clock-names = "apb", "smi", "gals"; 1764 power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>; 1765 }; 1766 1767 imgsys: clock-controller@15000000 { 1768 compatible = "mediatek,mt8195-imgsys"; 1769 reg = <0 0x15000000 0 0x1000>; 1770 #clock-cells = <1>; 1771 }; 1772 1773 larb9: larb@15001000 { 1774 compatible = "mediatek,mt8195-smi-larb"; 1775 reg = <0 0x15001000 0 0x1000>; 1776 mediatek,larb-id = <9>; 1777 mediatek,smi = <&smi_sub_common_img1_3x1>; 1778 clocks = <&imgsys CLK_IMG_LARB9>, 1779 <&imgsys CLK_IMG_LARB9>, 1780 <&imgsys CLK_IMG_GALS>; 1781 clock-names = "apb", "smi", "gals"; 1782 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1783 }; 1784 1785 smi_sub_common_img0_3x1: smi@15002000 { 1786 compatible = "mediatek,mt8195-smi-sub-common"; 1787 reg = <0 0x15002000 0 0x1000>; 1788 clocks = <&imgsys CLK_IMG_IPE>, 1789 <&imgsys CLK_IMG_IPE>, 1790 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 1791 clock-names = "apb", "smi", "gals0"; 1792 mediatek,smi = <&smi_common_vpp>; 1793 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1794 }; 1795 1796 smi_sub_common_img1_3x1: smi@15003000 { 1797 compatible = "mediatek,mt8195-smi-sub-common"; 1798 reg = <0 0x15003000 0 0x1000>; 1799 clocks = <&imgsys CLK_IMG_LARB9>, 1800 <&imgsys CLK_IMG_LARB9>, 1801 <&imgsys CLK_IMG_GALS>; 1802 clock-names = "apb", "smi", "gals0"; 1803 mediatek,smi = <&smi_common_vdo>; 1804 power-domains = <&spm MT8195_POWER_DOMAIN_IMG>; 1805 }; 1806 1807 imgsys1_dip_top: clock-controller@15110000 { 1808 compatible = "mediatek,mt8195-imgsys1_dip_top"; 1809 reg = <0 0x15110000 0 0x1000>; 1810 #clock-cells = <1>; 1811 }; 1812 1813 larb10: larb@15120000 { 1814 compatible = "mediatek,mt8195-smi-larb"; 1815 reg = <0 0x15120000 0 0x1000>; 1816 mediatek,larb-id = <10>; 1817 mediatek,smi = <&smi_sub_common_img1_3x1>; 1818 clocks = <&imgsys CLK_IMG_DIP0>, 1819 <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>; 1820 clock-names = "apb", "smi"; 1821 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 1822 }; 1823 1824 imgsys1_dip_nr: clock-controller@15130000 { 1825 compatible = "mediatek,mt8195-imgsys1_dip_nr"; 1826 reg = <0 0x15130000 0 0x1000>; 1827 #clock-cells = <1>; 1828 }; 1829 1830 imgsys1_wpe: clock-controller@15220000 { 1831 compatible = "mediatek,mt8195-imgsys1_wpe"; 1832 reg = <0 0x15220000 0 0x1000>; 1833 #clock-cells = <1>; 1834 }; 1835 1836 larb11: larb@15230000 { 1837 compatible = "mediatek,mt8195-smi-larb"; 1838 reg = <0 0x15230000 0 0x1000>; 1839 mediatek,larb-id = <11>; 1840 mediatek,smi = <&smi_sub_common_img1_3x1>; 1841 clocks = <&imgsys CLK_IMG_WPE0>, 1842 <&imgsys1_wpe CLK_IMG1_WPE_LARB11>; 1843 clock-names = "apb", "smi"; 1844 power-domains = <&spm MT8195_POWER_DOMAIN_DIP>; 1845 }; 1846 1847 ipesys: clock-controller@15330000 { 1848 compatible = "mediatek,mt8195-ipesys"; 1849 reg = <0 0x15330000 0 0x1000>; 1850 #clock-cells = <1>; 1851 }; 1852 1853 larb12: larb@15340000 { 1854 compatible = "mediatek,mt8195-smi-larb"; 1855 reg = <0 0x15340000 0 0x1000>; 1856 mediatek,larb-id = <12>; 1857 mediatek,smi = <&smi_sub_common_img0_3x1>; 1858 clocks = <&ipesys CLK_IPE_SMI_LARB12>, 1859 <&ipesys CLK_IPE_SMI_LARB12>; 1860 clock-names = "apb", "smi"; 1861 power-domains = <&spm MT8195_POWER_DOMAIN_IPE>; 1862 }; 1863 1864 camsys: clock-controller@16000000 { 1865 compatible = "mediatek,mt8195-camsys"; 1866 reg = <0 0x16000000 0 0x1000>; 1867 #clock-cells = <1>; 1868 }; 1869 1870 larb13: larb@16001000 { 1871 compatible = "mediatek,mt8195-smi-larb"; 1872 reg = <0 0x16001000 0 0x1000>; 1873 mediatek,larb-id = <13>; 1874 mediatek,smi = <&smi_sub_common_cam_4x1>; 1875 clocks = <&camsys CLK_CAM_LARB13>, 1876 <&camsys CLK_CAM_LARB13>, 1877 <&camsys CLK_CAM_CAM2MM0_GALS>; 1878 clock-names = "apb", "smi", "gals"; 1879 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1880 }; 1881 1882 larb14: larb@16002000 { 1883 compatible = "mediatek,mt8195-smi-larb"; 1884 reg = <0 0x16002000 0 0x1000>; 1885 mediatek,larb-id = <14>; 1886 mediatek,smi = <&smi_sub_common_cam_7x1>; 1887 clocks = <&camsys CLK_CAM_LARB14>, 1888 <&camsys CLK_CAM_LARB14>; 1889 clock-names = "apb", "smi"; 1890 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1891 }; 1892 1893 smi_sub_common_cam_4x1: smi@16004000 { 1894 compatible = "mediatek,mt8195-smi-sub-common"; 1895 reg = <0 0x16004000 0 0x1000>; 1896 clocks = <&camsys CLK_CAM_LARB13>, 1897 <&camsys CLK_CAM_LARB13>, 1898 <&camsys CLK_CAM_CAM2MM0_GALS>; 1899 clock-names = "apb", "smi", "gals0"; 1900 mediatek,smi = <&smi_common_vdo>; 1901 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1902 }; 1903 1904 smi_sub_common_cam_7x1: smi@16005000 { 1905 compatible = "mediatek,mt8195-smi-sub-common"; 1906 reg = <0 0x16005000 0 0x1000>; 1907 clocks = <&camsys CLK_CAM_LARB14>, 1908 <&camsys CLK_CAM_CAM2MM1_GALS>, 1909 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>; 1910 clock-names = "apb", "smi", "gals0"; 1911 mediatek,smi = <&smi_common_vpp>; 1912 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 1913 }; 1914 1915 larb16: larb@16012000 { 1916 compatible = "mediatek,mt8195-smi-larb"; 1917 reg = <0 0x16012000 0 0x1000>; 1918 mediatek,larb-id = <16>; 1919 mediatek,smi = <&smi_sub_common_cam_7x1>; 1920 clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>, 1921 <&camsys_rawa CLK_CAM_RAWA_LARBX>; 1922 clock-names = "apb", "smi"; 1923 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 1924 }; 1925 1926 larb17: larb@16013000 { 1927 compatible = "mediatek,mt8195-smi-larb"; 1928 reg = <0 0x16013000 0 0x1000>; 1929 mediatek,larb-id = <17>; 1930 mediatek,smi = <&smi_sub_common_cam_4x1>; 1931 clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>, 1932 <&camsys_yuva CLK_CAM_YUVA_LARBX>; 1933 clock-names = "apb", "smi"; 1934 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>; 1935 }; 1936 1937 larb27: larb@16014000 { 1938 compatible = "mediatek,mt8195-smi-larb"; 1939 reg = <0 0x16014000 0 0x1000>; 1940 mediatek,larb-id = <27>; 1941 mediatek,smi = <&smi_sub_common_cam_7x1>; 1942 clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>, 1943 <&camsys_rawb CLK_CAM_RAWB_LARBX>; 1944 clock-names = "apb", "smi"; 1945 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 1946 }; 1947 1948 larb28: larb@16015000 { 1949 compatible = "mediatek,mt8195-smi-larb"; 1950 reg = <0 0x16015000 0 0x1000>; 1951 mediatek,larb-id = <28>; 1952 mediatek,smi = <&smi_sub_common_cam_4x1>; 1953 clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>, 1954 <&camsys_yuvb CLK_CAM_YUVB_LARBX>; 1955 clock-names = "apb", "smi"; 1956 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>; 1957 }; 1958 1959 camsys_rawa: clock-controller@1604f000 { 1960 compatible = "mediatek,mt8195-camsys_rawa"; 1961 reg = <0 0x1604f000 0 0x1000>; 1962 #clock-cells = <1>; 1963 }; 1964 1965 camsys_yuva: clock-controller@1606f000 { 1966 compatible = "mediatek,mt8195-camsys_yuva"; 1967 reg = <0 0x1606f000 0 0x1000>; 1968 #clock-cells = <1>; 1969 }; 1970 1971 camsys_rawb: clock-controller@1608f000 { 1972 compatible = "mediatek,mt8195-camsys_rawb"; 1973 reg = <0 0x1608f000 0 0x1000>; 1974 #clock-cells = <1>; 1975 }; 1976 1977 camsys_yuvb: clock-controller@160af000 { 1978 compatible = "mediatek,mt8195-camsys_yuvb"; 1979 reg = <0 0x160af000 0 0x1000>; 1980 #clock-cells = <1>; 1981 }; 1982 1983 camsys_mraw: clock-controller@16140000 { 1984 compatible = "mediatek,mt8195-camsys_mraw"; 1985 reg = <0 0x16140000 0 0x1000>; 1986 #clock-cells = <1>; 1987 }; 1988 1989 larb25: larb@16141000 { 1990 compatible = "mediatek,mt8195-smi-larb"; 1991 reg = <0 0x16141000 0 0x1000>; 1992 mediatek,larb-id = <25>; 1993 mediatek,smi = <&smi_sub_common_cam_4x1>; 1994 clocks = <&camsys CLK_CAM_LARB13>, 1995 <&camsys_mraw CLK_CAM_MRAW_LARBX>, 1996 <&camsys CLK_CAM_CAM2MM0_GALS>; 1997 clock-names = "apb", "smi", "gals"; 1998 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 1999 }; 2000 2001 larb26: larb@16142000 { 2002 compatible = "mediatek,mt8195-smi-larb"; 2003 reg = <0 0x16142000 0 0x1000>; 2004 mediatek,larb-id = <26>; 2005 mediatek,smi = <&smi_sub_common_cam_7x1>; 2006 clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>, 2007 <&camsys_mraw CLK_CAM_MRAW_LARBX>; 2008 clock-names = "apb", "smi"; 2009 power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>; 2010 2011 }; 2012 2013 ccusys: clock-controller@17200000 { 2014 compatible = "mediatek,mt8195-ccusys"; 2015 reg = <0 0x17200000 0 0x1000>; 2016 #clock-cells = <1>; 2017 }; 2018 2019 larb18: larb@17201000 { 2020 compatible = "mediatek,mt8195-smi-larb"; 2021 reg = <0 0x17201000 0 0x1000>; 2022 mediatek,larb-id = <18>; 2023 mediatek,smi = <&smi_sub_common_cam_7x1>; 2024 clocks = <&ccusys CLK_CCU_LARB18>, 2025 <&ccusys CLK_CCU_LARB18>; 2026 clock-names = "apb", "smi"; 2027 power-domains = <&spm MT8195_POWER_DOMAIN_CAM>; 2028 }; 2029 2030 larb24: larb@1800d000 { 2031 compatible = "mediatek,mt8195-smi-larb"; 2032 reg = <0 0x1800d000 0 0x1000>; 2033 mediatek,larb-id = <24>; 2034 mediatek,smi = <&smi_common_vdo>; 2035 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>, 2036 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2037 clock-names = "apb", "smi"; 2038 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2039 }; 2040 2041 larb23: larb@1800e000 { 2042 compatible = "mediatek,mt8195-smi-larb"; 2043 reg = <0 0x1800e000 0 0x1000>; 2044 mediatek,larb-id = <23>; 2045 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2046 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2047 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 2048 clock-names = "apb", "smi"; 2049 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>; 2050 }; 2051 2052 vdecsys_soc: clock-controller@1800f000 { 2053 compatible = "mediatek,mt8195-vdecsys_soc"; 2054 reg = <0 0x1800f000 0 0x1000>; 2055 #clock-cells = <1>; 2056 }; 2057 2058 larb21: larb@1802e000 { 2059 compatible = "mediatek,mt8195-smi-larb"; 2060 reg = <0 0x1802e000 0 0x1000>; 2061 mediatek,larb-id = <21>; 2062 mediatek,smi = <&smi_common_vdo>; 2063 clocks = <&vdecsys CLK_VDEC_LARB1>, 2064 <&vdecsys CLK_VDEC_LARB1>; 2065 clock-names = "apb", "smi"; 2066 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>; 2067 }; 2068 2069 vdecsys: clock-controller@1802f000 { 2070 compatible = "mediatek,mt8195-vdecsys"; 2071 reg = <0 0x1802f000 0 0x1000>; 2072 #clock-cells = <1>; 2073 }; 2074 2075 larb22: larb@1803e000 { 2076 compatible = "mediatek,mt8195-smi-larb"; 2077 reg = <0 0x1803e000 0 0x1000>; 2078 mediatek,larb-id = <22>; 2079 mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>; 2080 clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>, 2081 <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>; 2082 clock-names = "apb", "smi"; 2083 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>; 2084 }; 2085 2086 vdecsys_core1: clock-controller@1803f000 { 2087 compatible = "mediatek,mt8195-vdecsys_core1"; 2088 reg = <0 0x1803f000 0 0x1000>; 2089 #clock-cells = <1>; 2090 }; 2091 2092 apusys_pll: clock-controller@190f3000 { 2093 compatible = "mediatek,mt8195-apusys_pll"; 2094 reg = <0 0x190f3000 0 0x1000>; 2095 #clock-cells = <1>; 2096 }; 2097 2098 vencsys: clock-controller@1a000000 { 2099 compatible = "mediatek,mt8195-vencsys"; 2100 reg = <0 0x1a000000 0 0x1000>; 2101 #clock-cells = <1>; 2102 }; 2103 2104 larb19: larb@1a010000 { 2105 compatible = "mediatek,mt8195-smi-larb"; 2106 reg = <0 0x1a010000 0 0x1000>; 2107 mediatek,larb-id = <19>; 2108 mediatek,smi = <&smi_common_vdo>; 2109 clocks = <&vencsys CLK_VENC_VENC>, 2110 <&vencsys CLK_VENC_GALS>; 2111 clock-names = "apb", "smi"; 2112 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2113 }; 2114 2115 venc: video-codec@1a020000 { 2116 compatible = "mediatek,mt8195-vcodec-enc"; 2117 reg = <0 0x1a020000 0 0x10000>; 2118 iommus = <&iommu_vdo M4U_PORT_L19_VENC_RCPU>, 2119 <&iommu_vdo M4U_PORT_L19_VENC_REC>, 2120 <&iommu_vdo M4U_PORT_L19_VENC_BSDMA>, 2121 <&iommu_vdo M4U_PORT_L19_VENC_SV_COMV>, 2122 <&iommu_vdo M4U_PORT_L19_VENC_RD_COMV>, 2123 <&iommu_vdo M4U_PORT_L19_VENC_CUR_LUMA>, 2124 <&iommu_vdo M4U_PORT_L19_VENC_CUR_CHROMA>, 2125 <&iommu_vdo M4U_PORT_L19_VENC_REF_LUMA>, 2126 <&iommu_vdo M4U_PORT_L19_VENC_REF_CHROMA>; 2127 interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>; 2128 mediatek,scp = <&scp>; 2129 clocks = <&vencsys CLK_VENC_VENC>; 2130 clock-names = "venc_sel"; 2131 assigned-clocks = <&topckgen CLK_TOP_VENC>; 2132 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 2133 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 2134 #address-cells = <2>; 2135 #size-cells = <2>; 2136 dma-ranges = <0x1 0x0 0x0 0x40000000 0x0 0xfff00000>; 2137 }; 2138 2139 vencsys_core1: clock-controller@1b000000 { 2140 compatible = "mediatek,mt8195-vencsys_core1"; 2141 reg = <0 0x1b000000 0 0x1000>; 2142 #clock-cells = <1>; 2143 }; 2144 2145 vdosys0: syscon@1c01a000 { 2146 compatible = "mediatek,mt8195-mmsys", "syscon"; 2147 reg = <0 0x1c01a000 0 0x1000>; 2148 mboxes = <&gce0 0 CMDQ_THR_PRIO_4>; 2149 #clock-cells = <1>; 2150 }; 2151 2152 larb20: larb@1b010000 { 2153 compatible = "mediatek,mt8195-smi-larb"; 2154 reg = <0 0x1b010000 0 0x1000>; 2155 mediatek,larb-id = <20>; 2156 mediatek,smi = <&smi_common_vpp>; 2157 clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>, 2158 <&vencsys_core1 CLK_VENC_CORE1_GALS>, 2159 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2160 clock-names = "apb", "smi", "gals"; 2161 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 2162 }; 2163 2164 ovl0: ovl@1c000000 { 2165 compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl"; 2166 reg = <0 0x1c000000 0 0x1000>; 2167 interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>; 2168 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2169 clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>; 2170 iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>; 2171 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>; 2172 }; 2173 2174 rdma0: rdma@1c002000 { 2175 compatible = "mediatek,mt8195-disp-rdma"; 2176 reg = <0 0x1c002000 0 0x1000>; 2177 interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>; 2178 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2179 clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>; 2180 iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>; 2181 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>; 2182 }; 2183 2184 color0: color@1c003000 { 2185 compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color"; 2186 reg = <0 0x1c003000 0 0x1000>; 2187 interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>; 2188 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2189 clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>; 2190 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>; 2191 }; 2192 2193 ccorr0: ccorr@1c004000 { 2194 compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr"; 2195 reg = <0 0x1c004000 0 0x1000>; 2196 interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>; 2197 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2198 clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>; 2199 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>; 2200 }; 2201 2202 aal0: aal@1c005000 { 2203 compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal"; 2204 reg = <0 0x1c005000 0 0x1000>; 2205 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>; 2206 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2207 clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>; 2208 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>; 2209 }; 2210 2211 gamma0: gamma@1c006000 { 2212 compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma"; 2213 reg = <0 0x1c006000 0 0x1000>; 2214 interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>; 2215 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2216 clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>; 2217 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>; 2218 }; 2219 2220 dither0: dither@1c007000 { 2221 compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither"; 2222 reg = <0 0x1c007000 0 0x1000>; 2223 interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>; 2224 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2225 clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>; 2226 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>; 2227 }; 2228 2229 dsc0: dsc@1c009000 { 2230 compatible = "mediatek,mt8195-disp-dsc"; 2231 reg = <0 0x1c009000 0 0x1000>; 2232 interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>; 2233 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2234 clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>; 2235 mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>; 2236 }; 2237 2238 merge0: merge@1c014000 { 2239 compatible = "mediatek,mt8195-disp-merge"; 2240 reg = <0 0x1c014000 0 0x1000>; 2241 interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>; 2242 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2243 clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>; 2244 mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>; 2245 }; 2246 2247 mutex: mutex@1c016000 { 2248 compatible = "mediatek,mt8195-disp-mutex"; 2249 reg = <0 0x1c016000 0 0x1000>; 2250 interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>; 2251 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2252 clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>; 2253 mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>; 2254 }; 2255 2256 larb0: larb@1c018000 { 2257 compatible = "mediatek,mt8195-smi-larb"; 2258 reg = <0 0x1c018000 0 0x1000>; 2259 mediatek,larb-id = <0>; 2260 mediatek,smi = <&smi_common_vdo>; 2261 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2262 <&vdosys0 CLK_VDO0_SMI_LARB>, 2263 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>; 2264 clock-names = "apb", "smi", "gals"; 2265 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2266 }; 2267 2268 larb1: larb@1c019000 { 2269 compatible = "mediatek,mt8195-smi-larb"; 2270 reg = <0 0x1c019000 0 0x1000>; 2271 mediatek,larb-id = <1>; 2272 mediatek,smi = <&smi_common_vpp>; 2273 clocks = <&vdosys0 CLK_VDO0_SMI_LARB>, 2274 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>, 2275 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>; 2276 clock-names = "apb", "smi", "gals"; 2277 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2278 }; 2279 2280 vdosys1: syscon@1c100000 { 2281 compatible = "mediatek,mt8195-mmsys", "syscon"; 2282 reg = <0 0x1c100000 0 0x1000>; 2283 #clock-cells = <1>; 2284 }; 2285 2286 smi_common_vdo: smi@1c01b000 { 2287 compatible = "mediatek,mt8195-smi-common-vdo"; 2288 reg = <0 0x1c01b000 0 0x1000>; 2289 clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>, 2290 <&vdosys0 CLK_VDO0_SMI_EMI>, 2291 <&vdosys0 CLK_VDO0_SMI_RSI>, 2292 <&vdosys0 CLK_VDO0_SMI_GALS>; 2293 clock-names = "apb", "smi", "gals0", "gals1"; 2294 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2295 2296 }; 2297 2298 iommu_vdo: iommu@1c01f000 { 2299 compatible = "mediatek,mt8195-iommu-vdo"; 2300 reg = <0 0x1c01f000 0 0x1000>; 2301 mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9 2302 &larb10 &larb11 &larb13 &larb17 2303 &larb19 &larb21 &larb24 &larb25 2304 &larb28>; 2305 interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>; 2306 #iommu-cells = <1>; 2307 clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>; 2308 clock-names = "bclk"; 2309 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; 2310 }; 2311 2312 larb2: larb@1c102000 { 2313 compatible = "mediatek,mt8195-smi-larb"; 2314 reg = <0 0x1c102000 0 0x1000>; 2315 mediatek,larb-id = <2>; 2316 mediatek,smi = <&smi_common_vdo>; 2317 clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>, 2318 <&vdosys1 CLK_VDO1_SMI_LARB2>, 2319 <&vdosys1 CLK_VDO1_GALS>; 2320 clock-names = "apb", "smi", "gals"; 2321 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2322 }; 2323 2324 larb3: larb@1c103000 { 2325 compatible = "mediatek,mt8195-smi-larb"; 2326 reg = <0 0x1c103000 0 0x1000>; 2327 mediatek,larb-id = <3>; 2328 mediatek,smi = <&smi_common_vpp>; 2329 clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>, 2330 <&vdosys1 CLK_VDO1_GALS>, 2331 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>; 2332 clock-names = "apb", "smi", "gals"; 2333 power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; 2334 }; 2335 }; 2336}; 2337