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