1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Copyright (C) 2020 MediaTek Inc. 4 * Author: Seiya Wang <seiya.wang@mediatek.com> 5 */ 6 7/dts-v1/; 8#include <dt-bindings/clock/mt8192-clk.h> 9#include <dt-bindings/interrupt-controller/arm-gic.h> 10#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/memory/mt8192-larb-port.h> 12#include <dt-bindings/pinctrl/mt8192-pinfunc.h> 13#include <dt-bindings/phy/phy.h> 14#include <dt-bindings/power/mt8192-power.h> 15 16/ { 17 compatible = "mediatek,mt8192"; 18 interrupt-parent = <&gic>; 19 #address-cells = <2>; 20 #size-cells = <2>; 21 22 clk26m: oscillator0 { 23 compatible = "fixed-clock"; 24 #clock-cells = <0>; 25 clock-frequency = <26000000>; 26 clock-output-names = "clk26m"; 27 }; 28 29 clk32k: oscillator1 { 30 compatible = "fixed-clock"; 31 #clock-cells = <0>; 32 clock-frequency = <32768>; 33 clock-output-names = "clk32k"; 34 }; 35 36 cpus { 37 #address-cells = <1>; 38 #size-cells = <0>; 39 40 cpu0: cpu@0 { 41 device_type = "cpu"; 42 compatible = "arm,cortex-a55"; 43 reg = <0x000>; 44 enable-method = "psci"; 45 clock-frequency = <1701000000>; 46 cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; 47 next-level-cache = <&l2_0>; 48 capacity-dmips-mhz = <530>; 49 }; 50 51 cpu1: cpu@100 { 52 device_type = "cpu"; 53 compatible = "arm,cortex-a55"; 54 reg = <0x100>; 55 enable-method = "psci"; 56 clock-frequency = <1701000000>; 57 cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; 58 next-level-cache = <&l2_0>; 59 capacity-dmips-mhz = <530>; 60 }; 61 62 cpu2: cpu@200 { 63 device_type = "cpu"; 64 compatible = "arm,cortex-a55"; 65 reg = <0x200>; 66 enable-method = "psci"; 67 clock-frequency = <1701000000>; 68 cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; 69 next-level-cache = <&l2_0>; 70 capacity-dmips-mhz = <530>; 71 }; 72 73 cpu3: cpu@300 { 74 device_type = "cpu"; 75 compatible = "arm,cortex-a55"; 76 reg = <0x300>; 77 enable-method = "psci"; 78 clock-frequency = <1701000000>; 79 cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; 80 next-level-cache = <&l2_0>; 81 capacity-dmips-mhz = <530>; 82 }; 83 84 cpu4: cpu@400 { 85 device_type = "cpu"; 86 compatible = "arm,cortex-a76"; 87 reg = <0x400>; 88 enable-method = "psci"; 89 clock-frequency = <2171000000>; 90 cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; 91 next-level-cache = <&l2_1>; 92 capacity-dmips-mhz = <1024>; 93 }; 94 95 cpu5: cpu@500 { 96 device_type = "cpu"; 97 compatible = "arm,cortex-a76"; 98 reg = <0x500>; 99 enable-method = "psci"; 100 clock-frequency = <2171000000>; 101 cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; 102 next-level-cache = <&l2_1>; 103 capacity-dmips-mhz = <1024>; 104 }; 105 106 cpu6: cpu@600 { 107 device_type = "cpu"; 108 compatible = "arm,cortex-a76"; 109 reg = <0x600>; 110 enable-method = "psci"; 111 clock-frequency = <2171000000>; 112 cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; 113 next-level-cache = <&l2_1>; 114 capacity-dmips-mhz = <1024>; 115 }; 116 117 cpu7: cpu@700 { 118 device_type = "cpu"; 119 compatible = "arm,cortex-a76"; 120 reg = <0x700>; 121 enable-method = "psci"; 122 clock-frequency = <2171000000>; 123 cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; 124 next-level-cache = <&l2_1>; 125 capacity-dmips-mhz = <1024>; 126 }; 127 128 cpu-map { 129 cluster0 { 130 core0 { 131 cpu = <&cpu0>; 132 }; 133 core1 { 134 cpu = <&cpu1>; 135 }; 136 core2 { 137 cpu = <&cpu2>; 138 }; 139 core3 { 140 cpu = <&cpu3>; 141 }; 142 }; 143 144 cluster1 { 145 core0 { 146 cpu = <&cpu4>; 147 }; 148 core1 { 149 cpu = <&cpu5>; 150 }; 151 core2 { 152 cpu = <&cpu6>; 153 }; 154 core3 { 155 cpu = <&cpu7>; 156 }; 157 }; 158 }; 159 160 l2_0: l2-cache0 { 161 compatible = "cache"; 162 next-level-cache = <&l3_0>; 163 }; 164 165 l2_1: l2-cache1 { 166 compatible = "cache"; 167 next-level-cache = <&l3_0>; 168 }; 169 170 l3_0: l3-cache { 171 compatible = "cache"; 172 }; 173 174 idle-states { 175 entry-method = "psci"; 176 cpu_sleep_l: cpu-sleep-l { 177 compatible = "arm,idle-state"; 178 arm,psci-suspend-param = <0x00010001>; 179 local-timer-stop; 180 entry-latency-us = <55>; 181 exit-latency-us = <140>; 182 min-residency-us = <780>; 183 }; 184 cpu_sleep_b: cpu-sleep-b { 185 compatible = "arm,idle-state"; 186 arm,psci-suspend-param = <0x00010001>; 187 local-timer-stop; 188 entry-latency-us = <35>; 189 exit-latency-us = <145>; 190 min-residency-us = <720>; 191 }; 192 cluster_sleep_l: cluster-sleep-l { 193 compatible = "arm,idle-state"; 194 arm,psci-suspend-param = <0x01010002>; 195 local-timer-stop; 196 entry-latency-us = <60>; 197 exit-latency-us = <155>; 198 min-residency-us = <860>; 199 }; 200 cluster_sleep_b: cluster-sleep-b { 201 compatible = "arm,idle-state"; 202 arm,psci-suspend-param = <0x01010002>; 203 local-timer-stop; 204 entry-latency-us = <40>; 205 exit-latency-us = <155>; 206 min-residency-us = <780>; 207 }; 208 }; 209 }; 210 211 pmu-a55 { 212 compatible = "arm,cortex-a55-pmu"; 213 interrupt-parent = <&gic>; 214 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 215 }; 216 217 pmu-a76 { 218 compatible = "arm,cortex-a76-pmu"; 219 interrupt-parent = <&gic>; 220 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 221 }; 222 223 psci { 224 compatible = "arm,psci-1.0"; 225 method = "smc"; 226 }; 227 228 timer: timer { 229 compatible = "arm,armv8-timer"; 230 interrupt-parent = <&gic>; 231 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 232 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 233 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 234 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 235 clock-frequency = <13000000>; 236 }; 237 238 soc { 239 #address-cells = <2>; 240 #size-cells = <2>; 241 compatible = "simple-bus"; 242 ranges; 243 244 gic: interrupt-controller@c000000 { 245 compatible = "arm,gic-v3"; 246 #interrupt-cells = <4>; 247 #redistributor-regions = <1>; 248 interrupt-parent = <&gic>; 249 interrupt-controller; 250 reg = <0 0x0c000000 0 0x40000>, 251 <0 0x0c040000 0 0x200000>; 252 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 253 254 ppi-partitions { 255 ppi_cluster0: interrupt-partition-0 { 256 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 257 }; 258 ppi_cluster1: interrupt-partition-1 { 259 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>; 260 }; 261 }; 262 }; 263 264 topckgen: syscon@10000000 { 265 compatible = "mediatek,mt8192-topckgen", "syscon"; 266 reg = <0 0x10000000 0 0x1000>; 267 #clock-cells = <1>; 268 }; 269 270 infracfg: syscon@10001000 { 271 compatible = "mediatek,mt8192-infracfg", "syscon"; 272 reg = <0 0x10001000 0 0x1000>; 273 #clock-cells = <1>; 274 #reset-cells = <1>; 275 }; 276 277 pericfg: syscon@10003000 { 278 compatible = "mediatek,mt8192-pericfg", "syscon"; 279 reg = <0 0x10003000 0 0x1000>; 280 #clock-cells = <1>; 281 }; 282 283 pio: pinctrl@10005000 { 284 compatible = "mediatek,mt8192-pinctrl"; 285 reg = <0 0x10005000 0 0x1000>, 286 <0 0x11c20000 0 0x1000>, 287 <0 0x11d10000 0 0x1000>, 288 <0 0x11d30000 0 0x1000>, 289 <0 0x11d40000 0 0x1000>, 290 <0 0x11e20000 0 0x1000>, 291 <0 0x11e70000 0 0x1000>, 292 <0 0x11ea0000 0 0x1000>, 293 <0 0x11f20000 0 0x1000>, 294 <0 0x11f30000 0 0x1000>, 295 <0 0x1000b000 0 0x1000>; 296 reg-names = "iocfg0", "iocfg_rm", "iocfg_bm", 297 "iocfg_bl", "iocfg_br", "iocfg_lm", 298 "iocfg_lb", "iocfg_rt", "iocfg_lt", 299 "iocfg_tl", "eint"; 300 gpio-controller; 301 #gpio-cells = <2>; 302 gpio-ranges = <&pio 0 0 220>; 303 interrupt-controller; 304 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>; 305 #interrupt-cells = <2>; 306 }; 307 308 scpsys: syscon@10006000 { 309 compatible = "syscon", "simple-mfd"; 310 reg = <0 0x10006000 0 0x1000>; 311 #power-domain-cells = <1>; 312 313 /* System Power Manager */ 314 spm: power-controller { 315 compatible = "mediatek,mt8192-power-controller"; 316 #address-cells = <1>; 317 #size-cells = <0>; 318 #power-domain-cells = <1>; 319 320 /* power domain of the SoC */ 321 power-domain@MT8192_POWER_DOMAIN_AUDIO { 322 reg = <MT8192_POWER_DOMAIN_AUDIO>; 323 clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>, 324 <&infracfg CLK_INFRA_AUDIO_26M_B>, 325 <&infracfg CLK_INFRA_AUDIO>; 326 clock-names = "audio", "audio1", "audio2"; 327 mediatek,infracfg = <&infracfg>; 328 #power-domain-cells = <0>; 329 }; 330 331 power-domain@MT8192_POWER_DOMAIN_CONN { 332 reg = <MT8192_POWER_DOMAIN_CONN>; 333 clocks = <&infracfg CLK_INFRA_PMIC_CONN>; 334 clock-names = "conn"; 335 mediatek,infracfg = <&infracfg>; 336 #power-domain-cells = <0>; 337 }; 338 339 power-domain@MT8192_POWER_DOMAIN_MFG0 { 340 reg = <MT8192_POWER_DOMAIN_MFG0>; 341 clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>; 342 clock-names = "mfg"; 343 #address-cells = <1>; 344 #size-cells = <0>; 345 #power-domain-cells = <1>; 346 347 power-domain@MT8192_POWER_DOMAIN_MFG1 { 348 reg = <MT8192_POWER_DOMAIN_MFG1>; 349 mediatek,infracfg = <&infracfg>; 350 #address-cells = <1>; 351 #size-cells = <0>; 352 #power-domain-cells = <1>; 353 354 power-domain@MT8192_POWER_DOMAIN_MFG2 { 355 reg = <MT8192_POWER_DOMAIN_MFG2>; 356 #power-domain-cells = <0>; 357 }; 358 359 power-domain@MT8192_POWER_DOMAIN_MFG3 { 360 reg = <MT8192_POWER_DOMAIN_MFG3>; 361 #power-domain-cells = <0>; 362 }; 363 364 power-domain@MT8192_POWER_DOMAIN_MFG4 { 365 reg = <MT8192_POWER_DOMAIN_MFG4>; 366 #power-domain-cells = <0>; 367 }; 368 369 power-domain@MT8192_POWER_DOMAIN_MFG5 { 370 reg = <MT8192_POWER_DOMAIN_MFG5>; 371 #power-domain-cells = <0>; 372 }; 373 374 power-domain@MT8192_POWER_DOMAIN_MFG6 { 375 reg = <MT8192_POWER_DOMAIN_MFG6>; 376 #power-domain-cells = <0>; 377 }; 378 }; 379 }; 380 381 power-domain@MT8192_POWER_DOMAIN_DISP { 382 reg = <MT8192_POWER_DOMAIN_DISP>; 383 clocks = <&topckgen CLK_TOP_DISP_SEL>, 384 <&mmsys CLK_MM_SMI_INFRA>, 385 <&mmsys CLK_MM_SMI_COMMON>, 386 <&mmsys CLK_MM_SMI_GALS>, 387 <&mmsys CLK_MM_SMI_IOMMU>; 388 clock-names = "disp", "disp-0", "disp-1", "disp-2", 389 "disp-3"; 390 mediatek,infracfg = <&infracfg>; 391 #address-cells = <1>; 392 #size-cells = <0>; 393 #power-domain-cells = <1>; 394 395 power-domain@MT8192_POWER_DOMAIN_IPE { 396 reg = <MT8192_POWER_DOMAIN_IPE>; 397 clocks = <&topckgen CLK_TOP_IPE_SEL>, 398 <&ipesys CLK_IPE_LARB19>, 399 <&ipesys CLK_IPE_LARB20>, 400 <&ipesys CLK_IPE_SMI_SUBCOM>, 401 <&ipesys CLK_IPE_GALS>; 402 clock-names = "ipe", "ipe-0", "ipe-1", "ipe-2", 403 "ipe-3"; 404 mediatek,infracfg = <&infracfg>; 405 #power-domain-cells = <0>; 406 }; 407 408 power-domain@MT8192_POWER_DOMAIN_ISP { 409 reg = <MT8192_POWER_DOMAIN_ISP>; 410 clocks = <&topckgen CLK_TOP_IMG1_SEL>, 411 <&imgsys CLK_IMG_LARB9>, 412 <&imgsys CLK_IMG_GALS>; 413 clock-names = "isp", "isp-0", "isp-1"; 414 mediatek,infracfg = <&infracfg>; 415 #power-domain-cells = <0>; 416 }; 417 418 power-domain@MT8192_POWER_DOMAIN_ISP2 { 419 reg = <MT8192_POWER_DOMAIN_ISP2>; 420 clocks = <&topckgen CLK_TOP_IMG2_SEL>, 421 <&imgsys2 CLK_IMG2_LARB11>, 422 <&imgsys2 CLK_IMG2_GALS>; 423 clock-names = "isp2", "isp2-0", "isp2-1"; 424 mediatek,infracfg = <&infracfg>; 425 #power-domain-cells = <0>; 426 }; 427 428 power-domain@MT8192_POWER_DOMAIN_MDP { 429 reg = <MT8192_POWER_DOMAIN_MDP>; 430 clocks = <&topckgen CLK_TOP_MDP_SEL>, 431 <&mdpsys CLK_MDP_SMI0>; 432 clock-names = "mdp", "mdp-0"; 433 mediatek,infracfg = <&infracfg>; 434 #power-domain-cells = <0>; 435 }; 436 437 power-domain@MT8192_POWER_DOMAIN_VENC { 438 reg = <MT8192_POWER_DOMAIN_VENC>; 439 clocks = <&topckgen CLK_TOP_VENC_SEL>, 440 <&vencsys CLK_VENC_SET1_VENC>; 441 clock-names = "venc", "venc-0"; 442 mediatek,infracfg = <&infracfg>; 443 #power-domain-cells = <0>; 444 }; 445 446 power-domain@MT8192_POWER_DOMAIN_VDEC { 447 reg = <MT8192_POWER_DOMAIN_VDEC>; 448 clocks = <&topckgen CLK_TOP_VDEC_SEL>, 449 <&vdecsys_soc CLK_VDEC_SOC_VDEC>, 450 <&vdecsys_soc CLK_VDEC_SOC_LAT>, 451 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 452 clock-names = "vdec", "vdec-0", "vdec-1", "vdec-2"; 453 mediatek,infracfg = <&infracfg>; 454 #address-cells = <1>; 455 #size-cells = <0>; 456 #power-domain-cells = <1>; 457 458 power-domain@MT8192_POWER_DOMAIN_VDEC2 { 459 reg = <MT8192_POWER_DOMAIN_VDEC2>; 460 clocks = <&vdecsys CLK_VDEC_VDEC>, 461 <&vdecsys CLK_VDEC_LAT>, 462 <&vdecsys CLK_VDEC_LARB1>; 463 clock-names = "vdec2-0", "vdec2-1", 464 "vdec2-2"; 465 #power-domain-cells = <0>; 466 }; 467 }; 468 469 power-domain@MT8192_POWER_DOMAIN_CAM { 470 reg = <MT8192_POWER_DOMAIN_CAM>; 471 clocks = <&topckgen CLK_TOP_CAM_SEL>, 472 <&camsys CLK_CAM_LARB13>, 473 <&camsys CLK_CAM_LARB14>, 474 <&camsys CLK_CAM_CCU_GALS>, 475 <&camsys CLK_CAM_CAM2MM_GALS>; 476 clock-names = "cam", "cam-0", "cam-1", "cam-2", 477 "cam-3"; 478 mediatek,infracfg = <&infracfg>; 479 #address-cells = <1>; 480 #size-cells = <0>; 481 #power-domain-cells = <1>; 482 483 power-domain@MT8192_POWER_DOMAIN_CAM_RAWA { 484 reg = <MT8192_POWER_DOMAIN_CAM_RAWA>; 485 clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>; 486 clock-names = "cam_rawa-0"; 487 #power-domain-cells = <0>; 488 }; 489 490 power-domain@MT8192_POWER_DOMAIN_CAM_RAWB { 491 reg = <MT8192_POWER_DOMAIN_CAM_RAWB>; 492 clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>; 493 clock-names = "cam_rawb-0"; 494 #power-domain-cells = <0>; 495 }; 496 497 power-domain@MT8192_POWER_DOMAIN_CAM_RAWC { 498 reg = <MT8192_POWER_DOMAIN_CAM_RAWC>; 499 clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>; 500 clock-names = "cam_rawc-0"; 501 #power-domain-cells = <0>; 502 }; 503 }; 504 }; 505 }; 506 }; 507 508 watchdog: watchdog@10007000 { 509 compatible = "mediatek,mt8192-wdt"; 510 reg = <0 0x10007000 0 0x100>; 511 #reset-cells = <1>; 512 }; 513 514 apmixedsys: syscon@1000c000 { 515 compatible = "mediatek,mt8192-apmixedsys", "syscon"; 516 reg = <0 0x1000c000 0 0x1000>; 517 #clock-cells = <1>; 518 }; 519 520 systimer: timer@10017000 { 521 compatible = "mediatek,mt8192-timer", 522 "mediatek,mt6765-timer"; 523 reg = <0 0x10017000 0 0x1000>; 524 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>; 525 clocks = <&topckgen CLK_TOP_CSW_F26M_D2>; 526 clock-names = "clk13m"; 527 }; 528 529 pwrap: pwrap@10026000 { 530 compatible = "mediatek,mt6873-pwrap"; 531 reg = <0 0x10026000 0 0x1000>; 532 reg-names = "pwrap"; 533 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>; 534 clocks = <&infracfg CLK_INFRA_PMIC_AP>, 535 <&infracfg CLK_INFRA_PMIC_TMR>; 536 clock-names = "spi", "wrap"; 537 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>; 538 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>; 539 }; 540 541 spmi: spmi@10027000 { 542 compatible = "mediatek,mt6873-spmi"; 543 reg = <0 0x10027000 0 0x000e00>, 544 <0 0x10029000 0 0x000100>; 545 reg-names = "pmif", "spmimst"; 546 clocks = <&infracfg CLK_INFRA_PMIC_AP>, 547 <&infracfg CLK_INFRA_PMIC_TMR>, 548 <&topckgen CLK_TOP_SPMI_MST_SEL>; 549 clock-names = "pmif_sys_ck", 550 "pmif_tmr_ck", 551 "spmimst_clk_mux"; 552 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>; 553 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>; 554 }; 555 556 scp_adsp: clock-controller@10720000 { 557 compatible = "mediatek,mt8192-scp_adsp"; 558 reg = <0 0x10720000 0 0x1000>; 559 #clock-cells = <1>; 560 }; 561 562 uart0: serial@11002000 { 563 compatible = "mediatek,mt8192-uart", 564 "mediatek,mt6577-uart"; 565 reg = <0 0x11002000 0 0x1000>; 566 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>; 567 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>; 568 clock-names = "baud", "bus"; 569 status = "disabled"; 570 }; 571 572 uart1: serial@11003000 { 573 compatible = "mediatek,mt8192-uart", 574 "mediatek,mt6577-uart"; 575 reg = <0 0x11003000 0 0x1000>; 576 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>; 577 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>; 578 clock-names = "baud", "bus"; 579 status = "disabled"; 580 }; 581 582 imp_iic_wrap_c: clock-controller@11007000 { 583 compatible = "mediatek,mt8192-imp_iic_wrap_c"; 584 reg = <0 0x11007000 0 0x1000>; 585 #clock-cells = <1>; 586 }; 587 588 spi0: spi@1100a000 { 589 compatible = "mediatek,mt8192-spi", 590 "mediatek,mt6765-spi"; 591 #address-cells = <1>; 592 #size-cells = <0>; 593 reg = <0 0x1100a000 0 0x1000>; 594 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH 0>; 595 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 596 <&topckgen CLK_TOP_SPI_SEL>, 597 <&infracfg CLK_INFRA_SPI0>; 598 clock-names = "parent-clk", "sel-clk", "spi-clk"; 599 status = "disabled"; 600 }; 601 602 spi1: spi@11010000 { 603 compatible = "mediatek,mt8192-spi", 604 "mediatek,mt6765-spi"; 605 #address-cells = <1>; 606 #size-cells = <0>; 607 reg = <0 0x11010000 0 0x1000>; 608 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH 0>; 609 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 610 <&topckgen CLK_TOP_SPI_SEL>, 611 <&infracfg CLK_INFRA_SPI1>; 612 clock-names = "parent-clk", "sel-clk", "spi-clk"; 613 status = "disabled"; 614 }; 615 616 spi2: spi@11012000 { 617 compatible = "mediatek,mt8192-spi", 618 "mediatek,mt6765-spi"; 619 #address-cells = <1>; 620 #size-cells = <0>; 621 reg = <0 0x11012000 0 0x1000>; 622 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH 0>; 623 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 624 <&topckgen CLK_TOP_SPI_SEL>, 625 <&infracfg CLK_INFRA_SPI2>; 626 clock-names = "parent-clk", "sel-clk", "spi-clk"; 627 status = "disabled"; 628 }; 629 630 spi3: spi@11013000 { 631 compatible = "mediatek,mt8192-spi", 632 "mediatek,mt6765-spi"; 633 #address-cells = <1>; 634 #size-cells = <0>; 635 reg = <0 0x11013000 0 0x1000>; 636 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH 0>; 637 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 638 <&topckgen CLK_TOP_SPI_SEL>, 639 <&infracfg CLK_INFRA_SPI3>; 640 clock-names = "parent-clk", "sel-clk", "spi-clk"; 641 status = "disabled"; 642 }; 643 644 spi4: spi@11018000 { 645 compatible = "mediatek,mt8192-spi", 646 "mediatek,mt6765-spi"; 647 #address-cells = <1>; 648 #size-cells = <0>; 649 reg = <0 0x11018000 0 0x1000>; 650 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>; 651 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 652 <&topckgen CLK_TOP_SPI_SEL>, 653 <&infracfg CLK_INFRA_SPI4>; 654 clock-names = "parent-clk", "sel-clk", "spi-clk"; 655 status = "disabled"; 656 }; 657 658 spi5: spi@11019000 { 659 compatible = "mediatek,mt8192-spi", 660 "mediatek,mt6765-spi"; 661 #address-cells = <1>; 662 #size-cells = <0>; 663 reg = <0 0x11019000 0 0x1000>; 664 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>; 665 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 666 <&topckgen CLK_TOP_SPI_SEL>, 667 <&infracfg CLK_INFRA_SPI5>; 668 clock-names = "parent-clk", "sel-clk", "spi-clk"; 669 status = "disabled"; 670 }; 671 672 spi6: spi@1101d000 { 673 compatible = "mediatek,mt8192-spi", 674 "mediatek,mt6765-spi"; 675 #address-cells = <1>; 676 #size-cells = <0>; 677 reg = <0 0x1101d000 0 0x1000>; 678 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH 0>; 679 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 680 <&topckgen CLK_TOP_SPI_SEL>, 681 <&infracfg CLK_INFRA_SPI6>; 682 clock-names = "parent-clk", "sel-clk", "spi-clk"; 683 status = "disabled"; 684 }; 685 686 spi7: spi@1101e000 { 687 compatible = "mediatek,mt8192-spi", 688 "mediatek,mt6765-spi"; 689 #address-cells = <1>; 690 #size-cells = <0>; 691 reg = <0 0x1101e000 0 0x1000>; 692 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH 0>; 693 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>, 694 <&topckgen CLK_TOP_SPI_SEL>, 695 <&infracfg CLK_INFRA_SPI7>; 696 clock-names = "parent-clk", "sel-clk", "spi-clk"; 697 status = "disabled"; 698 }; 699 700 scp: scp@10500000 { 701 compatible = "mediatek,mt8192-scp"; 702 reg = <0 0x10500000 0 0x100000>, 703 <0 0x10720000 0 0xe0000>, 704 <0 0x10700000 0 0x8000>; 705 reg-names = "sram", "cfg", "l1tcm"; 706 interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>; 707 clocks = <&infracfg CLK_INFRA_SCPSYS>; 708 clock-names = "main"; 709 status = "disabled"; 710 }; 711 712 xhci: usb@11200000 { 713 compatible = "mediatek,mt8192-xhci", 714 "mediatek,mtk-xhci"; 715 reg = <0 0x11200000 0 0x1000>, 716 <0 0x11203e00 0 0x0100>; 717 reg-names = "mac", "ippc"; 718 interrupts-extended = <&gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>; 719 interrupt-names = "host"; 720 phys = <&u2port0 PHY_TYPE_USB2>, 721 <&u3port0 PHY_TYPE_USB3>; 722 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_SEL>, 723 <&topckgen CLK_TOP_SSUSB_XHCI_SEL>; 724 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 725 <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 726 clocks = <&infracfg CLK_INFRA_SSUSB>, 727 <&infracfg CLK_INFRA_SSUSB_XHCI>, 728 <&apmixedsys CLK_APMIXED_USBPLL>; 729 clock-names = "sys_ck", "xhci_ck", "ref_ck"; 730 wakeup-source; 731 mediatek,syscon-wakeup = <&pericfg 0x420 102>; 732 status = "disabled"; 733 }; 734 735 audsys: syscon@11210000 { 736 compatible = "mediatek,mt8192-audsys", "syscon"; 737 reg = <0 0x11210000 0 0x2000>; 738 #clock-cells = <1>; 739 740 afe: mt8192-afe-pcm { 741 compatible = "mediatek,mt8192-audio"; 742 interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 0>; 743 resets = <&watchdog 17>; 744 reset-names = "audiosys"; 745 mediatek,apmixedsys = <&apmixedsys>; 746 mediatek,infracfg = <&infracfg>; 747 mediatek,topckgen = <&topckgen>; 748 power-domains = <&spm MT8192_POWER_DOMAIN_AUDIO>; 749 clocks = <&audsys CLK_AUD_AFE>, 750 <&audsys CLK_AUD_DAC>, 751 <&audsys CLK_AUD_DAC_PREDIS>, 752 <&audsys CLK_AUD_ADC>, 753 <&audsys CLK_AUD_ADDA6_ADC>, 754 <&audsys CLK_AUD_22M>, 755 <&audsys CLK_AUD_24M>, 756 <&audsys CLK_AUD_APLL_TUNER>, 757 <&audsys CLK_AUD_APLL2_TUNER>, 758 <&audsys CLK_AUD_TDM>, 759 <&audsys CLK_AUD_TML>, 760 <&audsys CLK_AUD_NLE>, 761 <&audsys CLK_AUD_DAC_HIRES>, 762 <&audsys CLK_AUD_ADC_HIRES>, 763 <&audsys CLK_AUD_ADC_HIRES_TML>, 764 <&audsys CLK_AUD_ADDA6_ADC_HIRES>, 765 <&audsys CLK_AUD_3RD_DAC>, 766 <&audsys CLK_AUD_3RD_DAC_PREDIS>, 767 <&audsys CLK_AUD_3RD_DAC_TML>, 768 <&audsys CLK_AUD_3RD_DAC_HIRES>, 769 <&infracfg CLK_INFRA_AUDIO>, 770 <&infracfg CLK_INFRA_AUDIO_26M_B>, 771 <&topckgen CLK_TOP_AUDIO_SEL>, 772 <&topckgen CLK_TOP_AUD_INTBUS_SEL>, 773 <&topckgen CLK_TOP_MAINPLL_D4_D4>, 774 <&topckgen CLK_TOP_AUD_1_SEL>, 775 <&topckgen CLK_TOP_APLL1>, 776 <&topckgen CLK_TOP_AUD_2_SEL>, 777 <&topckgen CLK_TOP_APLL2>, 778 <&topckgen CLK_TOP_AUD_ENGEN1_SEL>, 779 <&topckgen CLK_TOP_APLL1_D4>, 780 <&topckgen CLK_TOP_AUD_ENGEN2_SEL>, 781 <&topckgen CLK_TOP_APLL2_D4>, 782 <&topckgen CLK_TOP_APLL_I2S0_M_SEL>, 783 <&topckgen CLK_TOP_APLL_I2S1_M_SEL>, 784 <&topckgen CLK_TOP_APLL_I2S2_M_SEL>, 785 <&topckgen CLK_TOP_APLL_I2S3_M_SEL>, 786 <&topckgen CLK_TOP_APLL_I2S4_M_SEL>, 787 <&topckgen CLK_TOP_APLL_I2S5_M_SEL>, 788 <&topckgen CLK_TOP_APLL_I2S6_M_SEL>, 789 <&topckgen CLK_TOP_APLL_I2S7_M_SEL>, 790 <&topckgen CLK_TOP_APLL_I2S8_M_SEL>, 791 <&topckgen CLK_TOP_APLL_I2S9_M_SEL>, 792 <&topckgen CLK_TOP_APLL12_DIV0>, 793 <&topckgen CLK_TOP_APLL12_DIV1>, 794 <&topckgen CLK_TOP_APLL12_DIV2>, 795 <&topckgen CLK_TOP_APLL12_DIV3>, 796 <&topckgen CLK_TOP_APLL12_DIV4>, 797 <&topckgen CLK_TOP_APLL12_DIVB>, 798 <&topckgen CLK_TOP_APLL12_DIV5>, 799 <&topckgen CLK_TOP_APLL12_DIV6>, 800 <&topckgen CLK_TOP_APLL12_DIV7>, 801 <&topckgen CLK_TOP_APLL12_DIV8>, 802 <&topckgen CLK_TOP_APLL12_DIV9>, 803 <&topckgen CLK_TOP_AUDIO_H_SEL>, 804 <&clk26m>; 805 clock-names = "aud_afe_clk", 806 "aud_dac_clk", 807 "aud_dac_predis_clk", 808 "aud_adc_clk", 809 "aud_adda6_adc_clk", 810 "aud_apll22m_clk", 811 "aud_apll24m_clk", 812 "aud_apll1_tuner_clk", 813 "aud_apll2_tuner_clk", 814 "aud_tdm_clk", 815 "aud_tml_clk", 816 "aud_nle", 817 "aud_dac_hires_clk", 818 "aud_adc_hires_clk", 819 "aud_adc_hires_tml", 820 "aud_adda6_adc_hires_clk", 821 "aud_3rd_dac_clk", 822 "aud_3rd_dac_predis_clk", 823 "aud_3rd_dac_tml", 824 "aud_3rd_dac_hires_clk", 825 "aud_infra_clk", 826 "aud_infra_26m_clk", 827 "top_mux_audio", 828 "top_mux_audio_int", 829 "top_mainpll_d4_d4", 830 "top_mux_aud_1", 831 "top_apll1_ck", 832 "top_mux_aud_2", 833 "top_apll2_ck", 834 "top_mux_aud_eng1", 835 "top_apll1_d4", 836 "top_mux_aud_eng2", 837 "top_apll2_d4", 838 "top_i2s0_m_sel", 839 "top_i2s1_m_sel", 840 "top_i2s2_m_sel", 841 "top_i2s3_m_sel", 842 "top_i2s4_m_sel", 843 "top_i2s5_m_sel", 844 "top_i2s6_m_sel", 845 "top_i2s7_m_sel", 846 "top_i2s8_m_sel", 847 "top_i2s9_m_sel", 848 "top_apll12_div0", 849 "top_apll12_div1", 850 "top_apll12_div2", 851 "top_apll12_div3", 852 "top_apll12_div4", 853 "top_apll12_divb", 854 "top_apll12_div5", 855 "top_apll12_div6", 856 "top_apll12_div7", 857 "top_apll12_div8", 858 "top_apll12_div9", 859 "top_mux_audio_h", 860 "top_clk26m_clk"; 861 }; 862 }; 863 864 pcie: pcie@11230000 { 865 compatible = "mediatek,mt8192-pcie"; 866 device_type = "pci"; 867 reg = <0 0x11230000 0 0x2000>; 868 reg-names = "pcie-mac"; 869 #address-cells = <3>; 870 #size-cells = <2>; 871 clocks = <&infracfg CLK_INFRA_PCIE_PL_P_250M>, 872 <&infracfg CLK_INFRA_PCIE_TL_26M>, 873 <&infracfg CLK_INFRA_PCIE_TL_96M>, 874 <&infracfg CLK_INFRA_PCIE_TL_32K>, 875 <&infracfg CLK_INFRA_PCIE_PERI_26M>, 876 <&infracfg CLK_INFRA_PCIE_TOP_H_133M>; 877 clock-names = "pl_250m", "tl_26m", "tl_96m", 878 "tl_32k", "peri_26m", "top_133m"; 879 assigned-clocks = <&topckgen CLK_TOP_TL_SEL>; 880 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D6_D4>; 881 interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>; 882 bus-range = <0x00 0xff>; 883 ranges = <0x82000000 0 0x12000000 0x0 0x12000000 0 0x0800000>, 884 <0x81000000 0 0x12800000 0x0 0x12800000 0 0x0800000>; 885 #interrupt-cells = <1>; 886 interrupt-map-mask = <0 0 0 7>; 887 interrupt-map = <0 0 0 1 &pcie_intc0 0>, 888 <0 0 0 2 &pcie_intc0 1>, 889 <0 0 0 3 &pcie_intc0 2>, 890 <0 0 0 4 &pcie_intc0 3>; 891 892 pcie_intc0: interrupt-controller { 893 interrupt-controller; 894 #address-cells = <0>; 895 #interrupt-cells = <1>; 896 }; 897 }; 898 899 nor_flash: spi@11234000 { 900 compatible = "mediatek,mt8192-nor"; 901 reg = <0 0x11234000 0 0xe0>; 902 interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 0>; 903 clocks = <&topckgen CLK_TOP_SFLASH_SEL>, 904 <&infracfg CLK_INFRA_FLASHIF_SFLASH>, 905 <&infracfg CLK_INFRA_FLASHIF_TOP_H_133M>; 906 clock-names = "spi", "sf", "axi"; 907 assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>; 908 assigned-clock-parents = <&clk26m>; 909 #address-cells = <1>; 910 #size-cells = <0>; 911 status = "disabled"; 912 }; 913 914 efuse: efuse@11c10000 { 915 compatible = "mediatek,mt8192-efuse", "mediatek,efuse"; 916 reg = <0 0x11c10000 0 0x1000>; 917 #address-cells = <1>; 918 #size-cells = <1>; 919 920 lvts_e_data1: data1@1c0 { 921 reg = <0x1c0 0x58>; 922 }; 923 924 svs_calibration: calib@580 { 925 reg = <0x580 0x68>; 926 }; 927 }; 928 929 i2c3: i2c@11cb0000 { 930 compatible = "mediatek,mt8192-i2c"; 931 reg = <0 0x11cb0000 0 0x1000>, 932 <0 0x10217300 0 0x80>; 933 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>; 934 clocks = <&imp_iic_wrap_e CLK_IMP_IIC_WRAP_E_I2C3>, 935 <&infracfg CLK_INFRA_AP_DMA>; 936 clock-names = "main", "dma"; 937 clock-div = <1>; 938 #address-cells = <1>; 939 #size-cells = <0>; 940 status = "disabled"; 941 }; 942 943 imp_iic_wrap_e: clock-controller@11cb1000 { 944 compatible = "mediatek,mt8192-imp_iic_wrap_e"; 945 reg = <0 0x11cb1000 0 0x1000>; 946 #clock-cells = <1>; 947 }; 948 949 i2c7: i2c@11d00000 { 950 compatible = "mediatek,mt8192-i2c"; 951 reg = <0 0x11d00000 0 0x1000>, 952 <0 0x10217600 0 0x180>; 953 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>; 954 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>, 955 <&infracfg CLK_INFRA_AP_DMA>; 956 clock-names = "main", "dma"; 957 clock-div = <1>; 958 #address-cells = <1>; 959 #size-cells = <0>; 960 status = "disabled"; 961 }; 962 963 i2c8: i2c@11d01000 { 964 compatible = "mediatek,mt8192-i2c"; 965 reg = <0 0x11d01000 0 0x1000>, 966 <0 0x10217780 0 0x180>; 967 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>; 968 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C8>, 969 <&infracfg CLK_INFRA_AP_DMA>; 970 clock-names = "main", "dma"; 971 clock-div = <1>; 972 #address-cells = <1>; 973 #size-cells = <0>; 974 status = "disabled"; 975 }; 976 977 i2c9: i2c@11d02000 { 978 compatible = "mediatek,mt8192-i2c"; 979 reg = <0 0x11d02000 0 0x1000>, 980 <0 0x10217900 0 0x180>; 981 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH 0>; 982 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C9>, 983 <&infracfg CLK_INFRA_AP_DMA>; 984 clock-names = "main", "dma"; 985 clock-div = <1>; 986 #address-cells = <1>; 987 #size-cells = <0>; 988 status = "disabled"; 989 }; 990 991 imp_iic_wrap_s: clock-controller@11d03000 { 992 compatible = "mediatek,mt8192-imp_iic_wrap_s"; 993 reg = <0 0x11d03000 0 0x1000>; 994 #clock-cells = <1>; 995 }; 996 997 i2c1: i2c@11d20000 { 998 compatible = "mediatek,mt8192-i2c"; 999 reg = <0 0x11d20000 0 0x1000>, 1000 <0 0x10217100 0 0x80>; 1001 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>; 1002 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C1>, 1003 <&infracfg CLK_INFRA_AP_DMA>; 1004 clock-names = "main", "dma"; 1005 clock-div = <1>; 1006 #address-cells = <1>; 1007 #size-cells = <0>; 1008 status = "disabled"; 1009 }; 1010 1011 i2c2: i2c@11d21000 { 1012 compatible = "mediatek,mt8192-i2c"; 1013 reg = <0 0x11d21000 0 0x1000>, 1014 <0 0x10217180 0 0x180>; 1015 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>; 1016 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C2>, 1017 <&infracfg CLK_INFRA_AP_DMA>; 1018 clock-names = "main", "dma"; 1019 clock-div = <1>; 1020 #address-cells = <1>; 1021 #size-cells = <0>; 1022 status = "disabled"; 1023 }; 1024 1025 i2c4: i2c@11d22000 { 1026 compatible = "mediatek,mt8192-i2c"; 1027 reg = <0 0x11d22000 0 0x1000>, 1028 <0 0x10217380 0 0x180>; 1029 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>; 1030 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C4>, 1031 <&infracfg CLK_INFRA_AP_DMA>; 1032 clock-names = "main", "dma"; 1033 clock-div = <1>; 1034 #address-cells = <1>; 1035 #size-cells = <0>; 1036 status = "disabled"; 1037 }; 1038 1039 imp_iic_wrap_ws: clock-controller@11d23000 { 1040 compatible = "mediatek,mt8192-imp_iic_wrap_ws"; 1041 reg = <0 0x11d23000 0 0x1000>; 1042 #clock-cells = <1>; 1043 }; 1044 1045 i2c5: i2c@11e00000 { 1046 compatible = "mediatek,mt8192-i2c"; 1047 reg = <0 0x11e00000 0 0x1000>, 1048 <0 0x10217500 0 0x80>; 1049 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>; 1050 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C5>, 1051 <&infracfg CLK_INFRA_AP_DMA>; 1052 clock-names = "main", "dma"; 1053 clock-div = <1>; 1054 #address-cells = <1>; 1055 #size-cells = <0>; 1056 status = "disabled"; 1057 }; 1058 1059 imp_iic_wrap_w: clock-controller@11e01000 { 1060 compatible = "mediatek,mt8192-imp_iic_wrap_w"; 1061 reg = <0 0x11e01000 0 0x1000>; 1062 #clock-cells = <1>; 1063 }; 1064 1065 u3phy0: t-phy@11e40000 { 1066 compatible = "mediatek,mt8192-tphy", 1067 "mediatek,generic-tphy-v2"; 1068 #address-cells = <1>; 1069 #size-cells = <1>; 1070 ranges = <0x0 0x0 0x11e40000 0x1000>; 1071 1072 u2port0: usb-phy@0 { 1073 reg = <0x0 0x700>; 1074 clocks = <&clk26m>; 1075 clock-names = "ref"; 1076 #phy-cells = <1>; 1077 }; 1078 1079 u3port0: usb-phy@700 { 1080 reg = <0x700 0x900>; 1081 clocks = <&clk26m>; 1082 clock-names = "ref"; 1083 #phy-cells = <1>; 1084 }; 1085 }; 1086 1087 i2c0: i2c@11f00000 { 1088 compatible = "mediatek,mt8192-i2c"; 1089 reg = <0 0x11f00000 0 0x1000>, 1090 <0 0x10217080 0 0x80>; 1091 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>; 1092 clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C0>, 1093 <&infracfg CLK_INFRA_AP_DMA>; 1094 clock-names = "main", "dma"; 1095 clock-div = <1>; 1096 #address-cells = <1>; 1097 #size-cells = <0>; 1098 status = "disabled"; 1099 }; 1100 1101 i2c6: i2c@11f01000 { 1102 compatible = "mediatek,mt8192-i2c"; 1103 reg = <0 0x11f01000 0 0x1000>, 1104 <0 0x10217580 0 0x80>; 1105 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>; 1106 clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C6>, 1107 <&infracfg CLK_INFRA_AP_DMA>; 1108 clock-names = "main", "dma"; 1109 clock-div = <1>; 1110 #address-cells = <1>; 1111 #size-cells = <0>; 1112 status = "disabled"; 1113 }; 1114 1115 imp_iic_wrap_n: clock-controller@11f02000 { 1116 compatible = "mediatek,mt8192-imp_iic_wrap_n"; 1117 reg = <0 0x11f02000 0 0x1000>; 1118 #clock-cells = <1>; 1119 }; 1120 1121 msdc_top: clock-controller@11f10000 { 1122 compatible = "mediatek,mt8192-msdc_top"; 1123 reg = <0 0x11f10000 0 0x1000>; 1124 #clock-cells = <1>; 1125 }; 1126 1127 mmc0: mmc@11f60000 { 1128 compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc"; 1129 reg = <0 0x11f60000 0 0x1000>, <0 0x11f50000 0 0x1000>; 1130 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>; 1131 clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>, 1132 <&msdc_top CLK_MSDC_TOP_H_MST_0P>, 1133 <&msdc_top CLK_MSDC_TOP_SRC_0P>, 1134 <&msdc_top CLK_MSDC_TOP_P_CFG>, 1135 <&msdc_top CLK_MSDC_TOP_P_MSDC0>, 1136 <&msdc_top CLK_MSDC_TOP_AXI>, 1137 <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>; 1138 clock-names = "source", "hclk", "source_cg", "sys_cg", 1139 "pclk_cg", "axi_cg", "ahb_cg"; 1140 status = "disabled"; 1141 }; 1142 1143 mmc1: mmc@11f70000 { 1144 compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc"; 1145 reg = <0 0x11f70000 0 0x1000>, <0 0x11c70000 0 0x1000>; 1146 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>; 1147 clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>, 1148 <&msdc_top CLK_MSDC_TOP_H_MST_1P>, 1149 <&msdc_top CLK_MSDC_TOP_SRC_1P>, 1150 <&msdc_top CLK_MSDC_TOP_P_CFG>, 1151 <&msdc_top CLK_MSDC_TOP_P_MSDC1>, 1152 <&msdc_top CLK_MSDC_TOP_AXI>, 1153 <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>; 1154 clock-names = "source", "hclk", "source_cg", "sys_cg", 1155 "pclk_cg", "axi_cg", "ahb_cg"; 1156 status = "disabled"; 1157 }; 1158 1159 mfgcfg: clock-controller@13fbf000 { 1160 compatible = "mediatek,mt8192-mfgcfg"; 1161 reg = <0 0x13fbf000 0 0x1000>; 1162 #clock-cells = <1>; 1163 }; 1164 1165 mmsys: syscon@14000000 { 1166 compatible = "mediatek,mt8192-mmsys", "syscon"; 1167 reg = <0 0x14000000 0 0x1000>; 1168 #clock-cells = <1>; 1169 }; 1170 1171 smi_common: smi@14002000 { 1172 compatible = "mediatek,mt8192-smi-common"; 1173 reg = <0 0x14002000 0 0x1000>; 1174 clocks = <&mmsys CLK_MM_SMI_COMMON>, 1175 <&mmsys CLK_MM_SMI_INFRA>, 1176 <&mmsys CLK_MM_SMI_GALS>, 1177 <&mmsys CLK_MM_SMI_GALS>; 1178 clock-names = "apb", "smi", "gals0", "gals1"; 1179 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>; 1180 }; 1181 1182 larb0: larb@14003000 { 1183 compatible = "mediatek,mt8192-smi-larb"; 1184 reg = <0 0x14003000 0 0x1000>; 1185 mediatek,larb-id = <0>; 1186 mediatek,smi = <&smi_common>; 1187 clocks = <&clk26m>, <&clk26m>; 1188 clock-names = "apb", "smi"; 1189 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>; 1190 }; 1191 1192 larb1: larb@14004000 { 1193 compatible = "mediatek,mt8192-smi-larb"; 1194 reg = <0 0x14004000 0 0x1000>; 1195 mediatek,larb-id = <1>; 1196 mediatek,smi = <&smi_common>; 1197 clocks = <&clk26m>, <&clk26m>; 1198 clock-names = "apb", "smi"; 1199 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>; 1200 }; 1201 1202 dpi0: dpi@14016000 { 1203 compatible = "mediatek,mt8192-dpi"; 1204 reg = <0 0x14016000 0 0x1000>; 1205 interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>; 1206 clocks = <&mmsys CLK_MM_DPI_DPI0>, 1207 <&mmsys CLK_MM_DISP_DPI0>, 1208 <&apmixedsys CLK_APMIXED_TVDPLL>; 1209 clock-names = "pixel", "engine", "pll"; 1210 status = "disabled"; 1211 }; 1212 1213 iommu0: m4u@1401d000 { 1214 compatible = "mediatek,mt8192-m4u"; 1215 reg = <0 0x1401d000 0 0x1000>; 1216 mediatek,larbs = <&larb0>, <&larb1>, <&larb2>, 1217 <&larb4>, <&larb5>, <&larb7>, 1218 <&larb9>, <&larb11>, <&larb13>, 1219 <&larb14>, <&larb16>, <&larb17>, 1220 <&larb18>, <&larb19>, <&larb20>; 1221 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>; 1222 clocks = <&mmsys CLK_MM_SMI_IOMMU>; 1223 clock-names = "bclk"; 1224 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>; 1225 #iommu-cells = <1>; 1226 }; 1227 1228 imgsys: clock-controller@15020000 { 1229 compatible = "mediatek,mt8192-imgsys"; 1230 reg = <0 0x15020000 0 0x1000>; 1231 #clock-cells = <1>; 1232 }; 1233 1234 larb9: larb@1502e000 { 1235 compatible = "mediatek,mt8192-smi-larb"; 1236 reg = <0 0x1502e000 0 0x1000>; 1237 mediatek,larb-id = <9>; 1238 mediatek,smi = <&smi_common>; 1239 clocks = <&imgsys CLK_IMG_LARB9>, 1240 <&imgsys CLK_IMG_LARB9>; 1241 clock-names = "apb", "smi"; 1242 power-domains = <&spm MT8192_POWER_DOMAIN_ISP>; 1243 }; 1244 1245 imgsys2: clock-controller@15820000 { 1246 compatible = "mediatek,mt8192-imgsys2"; 1247 reg = <0 0x15820000 0 0x1000>; 1248 #clock-cells = <1>; 1249 }; 1250 1251 larb11: larb@1582e000 { 1252 compatible = "mediatek,mt8192-smi-larb"; 1253 reg = <0 0x1582e000 0 0x1000>; 1254 mediatek,larb-id = <11>; 1255 mediatek,smi = <&smi_common>; 1256 clocks = <&imgsys2 CLK_IMG2_LARB11>, 1257 <&imgsys2 CLK_IMG2_LARB11>; 1258 clock-names = "apb", "smi"; 1259 power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>; 1260 }; 1261 1262 larb5: larb@1600d000 { 1263 compatible = "mediatek,mt8192-smi-larb"; 1264 reg = <0 0x1600d000 0 0x1000>; 1265 mediatek,larb-id = <5>; 1266 mediatek,smi = <&smi_common>; 1267 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>, 1268 <&vdecsys_soc CLK_VDEC_SOC_LARB1>; 1269 clock-names = "apb", "smi"; 1270 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>; 1271 }; 1272 1273 vdecsys_soc: clock-controller@1600f000 { 1274 compatible = "mediatek,mt8192-vdecsys_soc"; 1275 reg = <0 0x1600f000 0 0x1000>; 1276 #clock-cells = <1>; 1277 }; 1278 1279 larb4: larb@1602e000 { 1280 compatible = "mediatek,mt8192-smi-larb"; 1281 reg = <0 0x1602e000 0 0x1000>; 1282 mediatek,larb-id = <4>; 1283 mediatek,smi = <&smi_common>; 1284 clocks = <&vdecsys CLK_VDEC_SOC_LARB1>, 1285 <&vdecsys CLK_VDEC_SOC_LARB1>; 1286 clock-names = "apb", "smi"; 1287 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>; 1288 }; 1289 1290 vdecsys: clock-controller@1602f000 { 1291 compatible = "mediatek,mt8192-vdecsys"; 1292 reg = <0 0x1602f000 0 0x1000>; 1293 #clock-cells = <1>; 1294 }; 1295 1296 vencsys: clock-controller@17000000 { 1297 compatible = "mediatek,mt8192-vencsys"; 1298 reg = <0 0x17000000 0 0x1000>; 1299 #clock-cells = <1>; 1300 }; 1301 1302 larb7: larb@17010000 { 1303 compatible = "mediatek,mt8192-smi-larb"; 1304 reg = <0 0x17010000 0 0x1000>; 1305 mediatek,larb-id = <7>; 1306 mediatek,smi = <&smi_common>; 1307 clocks = <&vencsys CLK_VENC_SET0_LARB>, 1308 <&vencsys CLK_VENC_SET1_VENC>; 1309 clock-names = "apb", "smi"; 1310 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>; 1311 }; 1312 1313 vcodec_enc: vcodec@17020000 { 1314 compatible = "mediatek,mt8192-vcodec-enc"; 1315 reg = <0 0x17020000 0 0x2000>; 1316 iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>, 1317 <&iommu0 M4U_PORT_L7_VENC_REC>, 1318 <&iommu0 M4U_PORT_L7_VENC_BSDMA>, 1319 <&iommu0 M4U_PORT_L7_VENC_SV_COMV>, 1320 <&iommu0 M4U_PORT_L7_VENC_RD_COMV>, 1321 <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>, 1322 <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>, 1323 <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>, 1324 <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>, 1325 <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>, 1326 <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>; 1327 interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>; 1328 mediatek,scp = <&scp>; 1329 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>; 1330 clocks = <&vencsys CLK_VENC_SET1_VENC>; 1331 clock-names = "venc-set1"; 1332 assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>; 1333 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>; 1334 }; 1335 1336 camsys: clock-controller@1a000000 { 1337 compatible = "mediatek,mt8192-camsys"; 1338 reg = <0 0x1a000000 0 0x1000>; 1339 #clock-cells = <1>; 1340 }; 1341 1342 larb13: larb@1a001000 { 1343 compatible = "mediatek,mt8192-smi-larb"; 1344 reg = <0 0x1a001000 0 0x1000>; 1345 mediatek,larb-id = <13>; 1346 mediatek,smi = <&smi_common>; 1347 clocks = <&camsys CLK_CAM_CAM>, 1348 <&camsys CLK_CAM_LARB13>; 1349 clock-names = "apb", "smi"; 1350 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>; 1351 }; 1352 1353 larb14: larb@1a002000 { 1354 compatible = "mediatek,mt8192-smi-larb"; 1355 reg = <0 0x1a002000 0 0x1000>; 1356 mediatek,larb-id = <14>; 1357 mediatek,smi = <&smi_common>; 1358 clocks = <&camsys CLK_CAM_CAM>, 1359 <&camsys CLK_CAM_LARB14>; 1360 clock-names = "apb", "smi"; 1361 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>; 1362 }; 1363 1364 larb16: larb@1a00f000 { 1365 compatible = "mediatek,mt8192-smi-larb"; 1366 reg = <0 0x1a00f000 0 0x1000>; 1367 mediatek,larb-id = <16>; 1368 mediatek,smi = <&smi_common>; 1369 clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>, 1370 <&camsys_rawa CLK_CAM_RAWA_LARBX>; 1371 clock-names = "apb", "smi"; 1372 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>; 1373 }; 1374 1375 larb17: larb@1a010000 { 1376 compatible = "mediatek,mt8192-smi-larb"; 1377 reg = <0 0x1a010000 0 0x1000>; 1378 mediatek,larb-id = <17>; 1379 mediatek,smi = <&smi_common>; 1380 clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>, 1381 <&camsys_rawb CLK_CAM_RAWB_LARBX>; 1382 clock-names = "apb", "smi"; 1383 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>; 1384 }; 1385 1386 larb18: larb@1a011000 { 1387 compatible = "mediatek,mt8192-smi-larb"; 1388 reg = <0 0x1a011000 0 0x1000>; 1389 mediatek,larb-id = <18>; 1390 mediatek,smi = <&smi_common>; 1391 clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>, 1392 <&camsys_rawc CLK_CAM_RAWC_CAM>; 1393 clock-names = "apb", "smi"; 1394 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>; 1395 }; 1396 1397 camsys_rawa: clock-controller@1a04f000 { 1398 compatible = "mediatek,mt8192-camsys_rawa"; 1399 reg = <0 0x1a04f000 0 0x1000>; 1400 #clock-cells = <1>; 1401 }; 1402 1403 camsys_rawb: clock-controller@1a06f000 { 1404 compatible = "mediatek,mt8192-camsys_rawb"; 1405 reg = <0 0x1a06f000 0 0x1000>; 1406 #clock-cells = <1>; 1407 }; 1408 1409 camsys_rawc: clock-controller@1a08f000 { 1410 compatible = "mediatek,mt8192-camsys_rawc"; 1411 reg = <0 0x1a08f000 0 0x1000>; 1412 #clock-cells = <1>; 1413 }; 1414 1415 ipesys: clock-controller@1b000000 { 1416 compatible = "mediatek,mt8192-ipesys"; 1417 reg = <0 0x1b000000 0 0x1000>; 1418 #clock-cells = <1>; 1419 }; 1420 1421 larb20: larb@1b00f000 { 1422 compatible = "mediatek,mt8192-smi-larb"; 1423 reg = <0 0x1b00f000 0 0x1000>; 1424 mediatek,larb-id = <20>; 1425 mediatek,smi = <&smi_common>; 1426 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>, 1427 <&ipesys CLK_IPE_LARB20>; 1428 clock-names = "apb", "smi"; 1429 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>; 1430 }; 1431 1432 larb19: larb@1b10f000 { 1433 compatible = "mediatek,mt8192-smi-larb"; 1434 reg = <0 0x1b10f000 0 0x1000>; 1435 mediatek,larb-id = <19>; 1436 mediatek,smi = <&smi_common>; 1437 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>, 1438 <&ipesys CLK_IPE_LARB19>; 1439 clock-names = "apb", "smi"; 1440 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>; 1441 }; 1442 1443 mdpsys: clock-controller@1f000000 { 1444 compatible = "mediatek,mt8192-mdpsys"; 1445 reg = <0 0x1f000000 0 0x1000>; 1446 #clock-cells = <1>; 1447 }; 1448 1449 larb2: larb@1f002000 { 1450 compatible = "mediatek,mt8192-smi-larb"; 1451 reg = <0 0x1f002000 0 0x1000>; 1452 mediatek,larb-id = <2>; 1453 mediatek,smi = <&smi_common>; 1454 clocks = <&mdpsys CLK_MDP_SMI0>, 1455 <&mdpsys CLK_MDP_SMI0>; 1456 clock-names = "apb", "smi"; 1457 power-domains = <&spm MT8192_POWER_DOMAIN_MDP>; 1458 }; 1459 }; 1460}; 1461