162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019 MediaTek Inc. 462306a36Sopenharmony_ci * Copyright (c) 2019 BayLibre, SAS. 562306a36Sopenharmony_ci * Author: Fabien Parent <fparent@baylibre.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/clock/mt8516-clk.h> 962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 1162306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "mt8516-pinfunc.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/ { 1662306a36Sopenharmony_ci compatible = "mediatek,mt8516"; 1762306a36Sopenharmony_ci interrupt-parent = <&sysirq>; 1862306a36Sopenharmony_ci #address-cells = <2>; 1962306a36Sopenharmony_ci #size-cells = <2>; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci cluster0_opp: opp-table-0 { 2262306a36Sopenharmony_ci compatible = "operating-points-v2"; 2362306a36Sopenharmony_ci opp-shared; 2462306a36Sopenharmony_ci opp-598000000 { 2562306a36Sopenharmony_ci opp-hz = /bits/ 64 <598000000>; 2662306a36Sopenharmony_ci opp-microvolt = <1150000>; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci opp-747500000 { 2962306a36Sopenharmony_ci opp-hz = /bits/ 64 <747500000>; 3062306a36Sopenharmony_ci opp-microvolt = <1150000>; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci opp-1040000000 { 3362306a36Sopenharmony_ci opp-hz = /bits/ 64 <1040000000>; 3462306a36Sopenharmony_ci opp-microvolt = <1200000>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci opp-1196000000 { 3762306a36Sopenharmony_ci opp-hz = /bits/ 64 <1196000000>; 3862306a36Sopenharmony_ci opp-microvolt = <1250000>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci opp-1300000000 { 4162306a36Sopenharmony_ci opp-hz = /bits/ 64 <1300000000>; 4262306a36Sopenharmony_ci opp-microvolt = <1300000>; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci cpus { 4762306a36Sopenharmony_ci #address-cells = <1>; 4862306a36Sopenharmony_ci #size-cells = <0>; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci cpu0: cpu@0 { 5162306a36Sopenharmony_ci device_type = "cpu"; 5262306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 5362306a36Sopenharmony_ci reg = <0x0>; 5462306a36Sopenharmony_ci enable-method = "psci"; 5562306a36Sopenharmony_ci cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 5662306a36Sopenharmony_ci <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 5762306a36Sopenharmony_ci clocks = <&infracfg CLK_IFR_MUX1_SEL>, 5862306a36Sopenharmony_ci <&topckgen CLK_TOP_MAINPLL_D2>; 5962306a36Sopenharmony_ci clock-names = "cpu", "intermediate"; 6062306a36Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci cpu1: cpu@1 { 6462306a36Sopenharmony_ci device_type = "cpu"; 6562306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 6662306a36Sopenharmony_ci reg = <0x1>; 6762306a36Sopenharmony_ci enable-method = "psci"; 6862306a36Sopenharmony_ci cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 6962306a36Sopenharmony_ci <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 7062306a36Sopenharmony_ci clocks = <&infracfg CLK_IFR_MUX1_SEL>, 7162306a36Sopenharmony_ci <&topckgen CLK_TOP_MAINPLL_D2>; 7262306a36Sopenharmony_ci clock-names = "cpu", "intermediate"; 7362306a36Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci cpu2: cpu@2 { 7762306a36Sopenharmony_ci device_type = "cpu"; 7862306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 7962306a36Sopenharmony_ci reg = <0x2>; 8062306a36Sopenharmony_ci enable-method = "psci"; 8162306a36Sopenharmony_ci cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 8262306a36Sopenharmony_ci <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 8362306a36Sopenharmony_ci clocks = <&infracfg CLK_IFR_MUX1_SEL>, 8462306a36Sopenharmony_ci <&topckgen CLK_TOP_MAINPLL_D2>; 8562306a36Sopenharmony_ci clock-names = "cpu", "intermediate"; 8662306a36Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci cpu3: cpu@3 { 9062306a36Sopenharmony_ci device_type = "cpu"; 9162306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 9262306a36Sopenharmony_ci reg = <0x3>; 9362306a36Sopenharmony_ci enable-method = "psci"; 9462306a36Sopenharmony_ci cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 9562306a36Sopenharmony_ci <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 9662306a36Sopenharmony_ci clocks = <&infracfg CLK_IFR_MUX1_SEL>, 9762306a36Sopenharmony_ci <&topckgen CLK_TOP_MAINPLL_D2>; 9862306a36Sopenharmony_ci clock-names = "cpu", "intermediate", "armpll"; 9962306a36Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci idle-states { 10362306a36Sopenharmony_ci entry-method = "psci"; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci CPU_SLEEP_0_0: cpu-sleep-0-0 { 10662306a36Sopenharmony_ci compatible = "arm,idle-state"; 10762306a36Sopenharmony_ci entry-latency-us = <600>; 10862306a36Sopenharmony_ci exit-latency-us = <600>; 10962306a36Sopenharmony_ci min-residency-us = <1200>; 11062306a36Sopenharmony_ci arm,psci-suspend-param = <0x0010000>; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci CLUSTER_SLEEP_0: cluster-sleep-0 { 11462306a36Sopenharmony_ci compatible = "arm,idle-state"; 11562306a36Sopenharmony_ci entry-latency-us = <800>; 11662306a36Sopenharmony_ci exit-latency-us = <1000>; 11762306a36Sopenharmony_ci min-residency-us = <2000>; 11862306a36Sopenharmony_ci arm,psci-suspend-param = <0x2010000>; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci psci { 12462306a36Sopenharmony_ci compatible = "arm,psci-1.0"; 12562306a36Sopenharmony_ci method = "smc"; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci clk26m: clk26m { 12962306a36Sopenharmony_ci compatible = "fixed-clock"; 13062306a36Sopenharmony_ci #clock-cells = <0>; 13162306a36Sopenharmony_ci clock-frequency = <26000000>; 13262306a36Sopenharmony_ci clock-output-names = "clk26m"; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci clk32k: clk32k { 13662306a36Sopenharmony_ci compatible = "fixed-clock"; 13762306a36Sopenharmony_ci #clock-cells = <0>; 13862306a36Sopenharmony_ci clock-frequency = <32000>; 13962306a36Sopenharmony_ci clock-output-names = "clk32k"; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci reserved-memory { 14362306a36Sopenharmony_ci #address-cells = <2>; 14462306a36Sopenharmony_ci #size-cells = <2>; 14562306a36Sopenharmony_ci ranges; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ 14862306a36Sopenharmony_ci bl31_secmon_reserved: secmon@43000000 { 14962306a36Sopenharmony_ci no-map; 15062306a36Sopenharmony_ci reg = <0 0x43000000 0 0x20000>; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci timer { 15562306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 15662306a36Sopenharmony_ci interrupt-parent = <&gic>; 15762306a36Sopenharmony_ci interrupts = <GIC_PPI 13 15862306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 15962306a36Sopenharmony_ci <GIC_PPI 14 16062306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 16162306a36Sopenharmony_ci <GIC_PPI 11 16262306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 16362306a36Sopenharmony_ci <GIC_PPI 10 16462306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci pmu { 16862306a36Sopenharmony_ci compatible = "arm,armv8-pmuv3"; 16962306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_LOW>, 17062306a36Sopenharmony_ci <GIC_SPI 5 IRQ_TYPE_LEVEL_LOW>, 17162306a36Sopenharmony_ci <GIC_SPI 6 IRQ_TYPE_LEVEL_LOW>, 17262306a36Sopenharmony_ci <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>; 17362306a36Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci soc { 17762306a36Sopenharmony_ci #address-cells = <2>; 17862306a36Sopenharmony_ci #size-cells = <2>; 17962306a36Sopenharmony_ci compatible = "simple-bus"; 18062306a36Sopenharmony_ci ranges; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci topckgen: topckgen@10000000 { 18362306a36Sopenharmony_ci compatible = "mediatek,mt8516-topckgen", "syscon"; 18462306a36Sopenharmony_ci reg = <0 0x10000000 0 0x1000>; 18562306a36Sopenharmony_ci #clock-cells = <1>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci infracfg: infracfg@10001000 { 18962306a36Sopenharmony_ci compatible = "mediatek,mt8516-infracfg", "syscon"; 19062306a36Sopenharmony_ci reg = <0 0x10001000 0 0x1000>; 19162306a36Sopenharmony_ci #clock-cells = <1>; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci pericfg: pericfg@10003050 { 19562306a36Sopenharmony_ci compatible = "mediatek,mt8516-pericfg", "syscon"; 19662306a36Sopenharmony_ci reg = <0 0x10003050 0 0x1000>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci apmixedsys: apmixedsys@10018000 { 20062306a36Sopenharmony_ci compatible = "mediatek,mt8516-apmixedsys", "syscon"; 20162306a36Sopenharmony_ci reg = <0 0x10018000 0 0x710>; 20262306a36Sopenharmony_ci #clock-cells = <1>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci watchdog@10007000 { 20662306a36Sopenharmony_ci compatible = "mediatek,mt8516-wdt", 20762306a36Sopenharmony_ci "mediatek,mt6589-wdt"; 20862306a36Sopenharmony_ci reg = <0 0x10007000 0 0x1000>; 20962306a36Sopenharmony_ci interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_FALLING>; 21062306a36Sopenharmony_ci #reset-cells = <1>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci timer: timer@10008000 { 21462306a36Sopenharmony_ci compatible = "mediatek,mt8516-timer", 21562306a36Sopenharmony_ci "mediatek,mt6577-timer"; 21662306a36Sopenharmony_ci reg = <0 0x10008000 0 0x1000>; 21762306a36Sopenharmony_ci interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 21862306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_CLK26M_D2>, 21962306a36Sopenharmony_ci <&topckgen CLK_TOP_APXGPT>; 22062306a36Sopenharmony_ci clock-names = "clk13m", "bus"; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci syscfg_pctl: syscfg-pctl@10005000 { 22462306a36Sopenharmony_ci compatible = "syscon"; 22562306a36Sopenharmony_ci reg = <0 0x10005000 0 0x1000>; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci pio: pinctrl@1000b000 { 22962306a36Sopenharmony_ci compatible = "mediatek,mt8516-pinctrl"; 23062306a36Sopenharmony_ci reg = <0 0x1000b000 0 0x1000>; 23162306a36Sopenharmony_ci mediatek,pctl-regmap = <&syscfg_pctl>; 23262306a36Sopenharmony_ci gpio-controller; 23362306a36Sopenharmony_ci #gpio-cells = <2>; 23462306a36Sopenharmony_ci interrupt-controller; 23562306a36Sopenharmony_ci #interrupt-cells = <2>; 23662306a36Sopenharmony_ci interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci efuse: efuse@10009000 { 24062306a36Sopenharmony_ci compatible = "mediatek,mt8516-efuse", "mediatek,efuse"; 24162306a36Sopenharmony_ci reg = <0 0x10009000 0 0x1000>; 24262306a36Sopenharmony_ci #address-cells = <1>; 24362306a36Sopenharmony_ci #size-cells = <1>; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci pwrap: pwrap@1000f000 { 24762306a36Sopenharmony_ci compatible = "mediatek,mt8516-pwrap"; 24862306a36Sopenharmony_ci reg = <0 0x1000f000 0 0x1000>; 24962306a36Sopenharmony_ci reg-names = "pwrap"; 25062306a36Sopenharmony_ci interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_LOW>; 25162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_PMICWRAP_26M>, 25262306a36Sopenharmony_ci <&topckgen CLK_TOP_PMICWRAP_AP>; 25362306a36Sopenharmony_ci clock-names = "spi", "wrap"; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci sysirq: interrupt-controller@10200620 { 25762306a36Sopenharmony_ci compatible = "mediatek,mt8516-sysirq", 25862306a36Sopenharmony_ci "mediatek,mt6577-sysirq"; 25962306a36Sopenharmony_ci interrupt-controller; 26062306a36Sopenharmony_ci #interrupt-cells = <3>; 26162306a36Sopenharmony_ci interrupt-parent = <&gic>; 26262306a36Sopenharmony_ci reg = <0 0x10200620 0 0x20>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci gic: interrupt-controller@10310000 { 26662306a36Sopenharmony_ci compatible = "arm,gic-400"; 26762306a36Sopenharmony_ci #interrupt-cells = <3>; 26862306a36Sopenharmony_ci interrupt-parent = <&gic>; 26962306a36Sopenharmony_ci interrupt-controller; 27062306a36Sopenharmony_ci reg = <0 0x10310000 0 0x1000>, 27162306a36Sopenharmony_ci <0 0x10320000 0 0x1000>, 27262306a36Sopenharmony_ci <0 0x10340000 0 0x2000>, 27362306a36Sopenharmony_ci <0 0x10360000 0 0x2000>; 27462306a36Sopenharmony_ci interrupts = <GIC_PPI 9 27562306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci apdma: dma-controller@11000480 { 27962306a36Sopenharmony_ci compatible = "mediatek,mt8516-uart-dma", 28062306a36Sopenharmony_ci "mediatek,mt6577-uart-dma"; 28162306a36Sopenharmony_ci reg = <0 0x11000480 0 0x80>, 28262306a36Sopenharmony_ci <0 0x11000500 0 0x80>, 28362306a36Sopenharmony_ci <0 0x11000580 0 0x80>, 28462306a36Sopenharmony_ci <0 0x11000600 0 0x80>, 28562306a36Sopenharmony_ci <0 0x11000980 0 0x80>, 28662306a36Sopenharmony_ci <0 0x11000a00 0 0x80>; 28762306a36Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>, 28862306a36Sopenharmony_ci <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>, 28962306a36Sopenharmony_ci <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>, 29062306a36Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_LOW>, 29162306a36Sopenharmony_ci <GIC_SPI 100 IRQ_TYPE_LEVEL_LOW>, 29262306a36Sopenharmony_ci <GIC_SPI 101 IRQ_TYPE_LEVEL_LOW>; 29362306a36Sopenharmony_ci dma-requests = <6>; 29462306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_APDMA>; 29562306a36Sopenharmony_ci clock-names = "apdma"; 29662306a36Sopenharmony_ci #dma-cells = <1>; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci uart0: serial@11005000 { 30062306a36Sopenharmony_ci compatible = "mediatek,mt8516-uart", 30162306a36Sopenharmony_ci "mediatek,mt6577-uart"; 30262306a36Sopenharmony_ci reg = <0 0x11005000 0 0x1000>; 30362306a36Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 30462306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_UART0_SEL>, 30562306a36Sopenharmony_ci <&topckgen CLK_TOP_UART0>; 30662306a36Sopenharmony_ci clock-names = "baud", "bus"; 30762306a36Sopenharmony_ci dmas = <&apdma 0 30862306a36Sopenharmony_ci &apdma 1>; 30962306a36Sopenharmony_ci dma-names = "tx", "rx"; 31062306a36Sopenharmony_ci status = "disabled"; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci uart1: serial@11006000 { 31462306a36Sopenharmony_ci compatible = "mediatek,mt8516-uart", 31562306a36Sopenharmony_ci "mediatek,mt6577-uart"; 31662306a36Sopenharmony_ci reg = <0 0x11006000 0 0x1000>; 31762306a36Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 31862306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_UART1_SEL>, 31962306a36Sopenharmony_ci <&topckgen CLK_TOP_UART1>; 32062306a36Sopenharmony_ci clock-names = "baud", "bus"; 32162306a36Sopenharmony_ci dmas = <&apdma 2 32262306a36Sopenharmony_ci &apdma 3>; 32362306a36Sopenharmony_ci dma-names = "tx", "rx"; 32462306a36Sopenharmony_ci status = "disabled"; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci uart2: serial@11007000 { 32862306a36Sopenharmony_ci compatible = "mediatek,mt8516-uart", 32962306a36Sopenharmony_ci "mediatek,mt6577-uart"; 33062306a36Sopenharmony_ci reg = <0 0x11007000 0 0x1000>; 33162306a36Sopenharmony_ci interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>; 33262306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_UART2_SEL>, 33362306a36Sopenharmony_ci <&topckgen CLK_TOP_UART2>; 33462306a36Sopenharmony_ci clock-names = "baud", "bus"; 33562306a36Sopenharmony_ci dmas = <&apdma 4 33662306a36Sopenharmony_ci &apdma 5>; 33762306a36Sopenharmony_ci dma-names = "tx", "rx"; 33862306a36Sopenharmony_ci status = "disabled"; 33962306a36Sopenharmony_ci }; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci i2c0: i2c@11009000 { 34262306a36Sopenharmony_ci compatible = "mediatek,mt8516-i2c", 34362306a36Sopenharmony_ci "mediatek,mt2712-i2c"; 34462306a36Sopenharmony_ci reg = <0 0x11009000 0 0x90>, 34562306a36Sopenharmony_ci <0 0x11000180 0 0x80>; 34662306a36Sopenharmony_ci interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; 34762306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_I2C0>, 34862306a36Sopenharmony_ci <&topckgen CLK_TOP_APDMA>; 34962306a36Sopenharmony_ci clock-names = "main", "dma"; 35062306a36Sopenharmony_ci #address-cells = <1>; 35162306a36Sopenharmony_ci #size-cells = <0>; 35262306a36Sopenharmony_ci status = "disabled"; 35362306a36Sopenharmony_ci }; 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ci i2c1: i2c@1100a000 { 35662306a36Sopenharmony_ci compatible = "mediatek,mt8516-i2c", 35762306a36Sopenharmony_ci "mediatek,mt2712-i2c"; 35862306a36Sopenharmony_ci reg = <0 0x1100a000 0 0x90>, 35962306a36Sopenharmony_ci <0 0x11000200 0 0x80>; 36062306a36Sopenharmony_ci interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 36162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_I2C1>, 36262306a36Sopenharmony_ci <&topckgen CLK_TOP_APDMA>; 36362306a36Sopenharmony_ci clock-names = "main", "dma"; 36462306a36Sopenharmony_ci #address-cells = <1>; 36562306a36Sopenharmony_ci #size-cells = <0>; 36662306a36Sopenharmony_ci status = "disabled"; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci i2c2: i2c@1100b000 { 37062306a36Sopenharmony_ci compatible = "mediatek,mt8516-i2c", 37162306a36Sopenharmony_ci "mediatek,mt2712-i2c"; 37262306a36Sopenharmony_ci reg = <0 0x1100b000 0 0x90>, 37362306a36Sopenharmony_ci <0 0x11000280 0 0x80>; 37462306a36Sopenharmony_ci interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 37562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_I2C2>, 37662306a36Sopenharmony_ci <&topckgen CLK_TOP_APDMA>; 37762306a36Sopenharmony_ci clock-names = "main", "dma"; 37862306a36Sopenharmony_ci #address-cells = <1>; 37962306a36Sopenharmony_ci #size-cells = <0>; 38062306a36Sopenharmony_ci status = "disabled"; 38162306a36Sopenharmony_ci }; 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci spi: spi@1100c000 { 38462306a36Sopenharmony_ci compatible = "mediatek,mt8516-spi", 38562306a36Sopenharmony_ci "mediatek,mt2712-spi"; 38662306a36Sopenharmony_ci #address-cells = <1>; 38762306a36Sopenharmony_ci #size-cells = <0>; 38862306a36Sopenharmony_ci reg = <0 0x1100c000 0 0x1000>; 38962306a36Sopenharmony_ci interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>; 39062306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_UNIVPLL_D12>, 39162306a36Sopenharmony_ci <&topckgen CLK_TOP_SPI_SEL>, 39262306a36Sopenharmony_ci <&topckgen CLK_TOP_SPI>; 39362306a36Sopenharmony_ci clock-names = "parent-clk", "sel-clk", "spi-clk"; 39462306a36Sopenharmony_ci status = "disabled"; 39562306a36Sopenharmony_ci }; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci mmc0: mmc@11120000 { 39862306a36Sopenharmony_ci compatible = "mediatek,mt8516-mmc"; 39962306a36Sopenharmony_ci reg = <0 0x11120000 0 0x1000>; 40062306a36Sopenharmony_ci interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 40162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_MSDC0>, 40262306a36Sopenharmony_ci <&topckgen CLK_TOP_AHB_INFRA_SEL>, 40362306a36Sopenharmony_ci <&topckgen CLK_TOP_MSDC0_INFRA>; 40462306a36Sopenharmony_ci clock-names = "source", "hclk", "source_cg"; 40562306a36Sopenharmony_ci status = "disabled"; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci mmc1: mmc@11130000 { 40962306a36Sopenharmony_ci compatible = "mediatek,mt8516-mmc"; 41062306a36Sopenharmony_ci reg = <0 0x11130000 0 0x1000>; 41162306a36Sopenharmony_ci interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 41262306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_MSDC1>, 41362306a36Sopenharmony_ci <&topckgen CLK_TOP_AHB_INFRA_SEL>, 41462306a36Sopenharmony_ci <&topckgen CLK_TOP_MSDC1_INFRA>; 41562306a36Sopenharmony_ci clock-names = "source", "hclk", "source_cg"; 41662306a36Sopenharmony_ci status = "disabled"; 41762306a36Sopenharmony_ci }; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci mmc2: mmc@11170000 { 42062306a36Sopenharmony_ci compatible = "mediatek,mt8516-mmc"; 42162306a36Sopenharmony_ci reg = <0 0x11170000 0 0x1000>; 42262306a36Sopenharmony_ci interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>; 42362306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_MSDC2>, 42462306a36Sopenharmony_ci <&topckgen CLK_TOP_RG_MSDC2>, 42562306a36Sopenharmony_ci <&topckgen CLK_TOP_MSDC2_INFRA>; 42662306a36Sopenharmony_ci clock-names = "source", "hclk", "source_cg"; 42762306a36Sopenharmony_ci status = "disabled"; 42862306a36Sopenharmony_ci }; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci ethernet: ethernet@11180000 { 43162306a36Sopenharmony_ci compatible = "mediatek,mt8516-eth"; 43262306a36Sopenharmony_ci reg = <0 0x11180000 0 0x1000>; 43362306a36Sopenharmony_ci mediatek,pericfg = <&pericfg>; 43462306a36Sopenharmony_ci interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>; 43562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_RG_ETH>, 43662306a36Sopenharmony_ci <&topckgen CLK_TOP_66M_ETH>, 43762306a36Sopenharmony_ci <&topckgen CLK_TOP_133M_ETH>; 43862306a36Sopenharmony_ci clock-names = "core", "reg", "trans"; 43962306a36Sopenharmony_ci status = "disabled"; 44062306a36Sopenharmony_ci }; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci rng: rng@1020c000 { 44362306a36Sopenharmony_ci compatible = "mediatek,mt8516-rng", 44462306a36Sopenharmony_ci "mediatek,mt7623-rng"; 44562306a36Sopenharmony_ci reg = <0 0x1020c000 0 0x100>; 44662306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_TRNG>; 44762306a36Sopenharmony_ci clock-names = "rng"; 44862306a36Sopenharmony_ci }; 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ci pwm: pwm@11008000 { 45162306a36Sopenharmony_ci compatible = "mediatek,mt8516-pwm"; 45262306a36Sopenharmony_ci reg = <0 0x11008000 0 0x1000>; 45362306a36Sopenharmony_ci #pwm-cells = <2>; 45462306a36Sopenharmony_ci interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_LOW>; 45562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_PWM>, 45662306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM_B>, 45762306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM1_FB>, 45862306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM2_FB>, 45962306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM3_FB>, 46062306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM4_FB>, 46162306a36Sopenharmony_ci <&topckgen CLK_TOP_PWM5_FB>; 46262306a36Sopenharmony_ci clock-names = "top", "main", "pwm1", "pwm2", "pwm3", 46362306a36Sopenharmony_ci "pwm4", "pwm5"; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci usb0: usb@11100000 { 46762306a36Sopenharmony_ci compatible = "mediatek,mt8516-musb", "mediatek,mtk-musb"; 46862306a36Sopenharmony_ci reg = <0 0x11100000 0 0x1000>; 46962306a36Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>; 47062306a36Sopenharmony_ci interrupt-names = "mc"; 47162306a36Sopenharmony_ci phys = <&usb0_port PHY_TYPE_USB2>; 47262306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_USB>, 47362306a36Sopenharmony_ci <&topckgen CLK_TOP_USBIF>, 47462306a36Sopenharmony_ci <&topckgen CLK_TOP_USB_1P>; 47562306a36Sopenharmony_ci clock-names = "main","mcu","univpll"; 47662306a36Sopenharmony_ci status = "disabled"; 47762306a36Sopenharmony_ci }; 47862306a36Sopenharmony_ci 47962306a36Sopenharmony_ci usb1: usb@11190000 { 48062306a36Sopenharmony_ci compatible = "mediatek,mt8516-musb", "mediatek,mtk-musb"; 48162306a36Sopenharmony_ci reg = <0 0x11190000 0 0x1000>; 48262306a36Sopenharmony_ci interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_LOW>; 48362306a36Sopenharmony_ci interrupt-names = "mc"; 48462306a36Sopenharmony_ci phys = <&usb1_port PHY_TYPE_USB2>; 48562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_USB>, 48662306a36Sopenharmony_ci <&topckgen CLK_TOP_USBIF>, 48762306a36Sopenharmony_ci <&topckgen CLK_TOP_USB_1P>; 48862306a36Sopenharmony_ci clock-names = "main","mcu","univpll"; 48962306a36Sopenharmony_ci dr_mode = "host"; 49062306a36Sopenharmony_ci status = "disabled"; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci usb_phy: t-phy@11110000 { 49462306a36Sopenharmony_ci compatible = "mediatek,mt8516-tphy", 49562306a36Sopenharmony_ci "mediatek,generic-tphy-v1"; 49662306a36Sopenharmony_ci reg = <0 0x11110000 0 0x800>; 49762306a36Sopenharmony_ci #address-cells = <2>; 49862306a36Sopenharmony_ci #size-cells = <2>; 49962306a36Sopenharmony_ci ranges; 50062306a36Sopenharmony_ci status = "disabled"; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci usb0_port: usb-phy@11110800 { 50362306a36Sopenharmony_ci reg = <0 0x11110800 0 0x100>; 50462306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_USB_PHY48M>; 50562306a36Sopenharmony_ci clock-names = "ref"; 50662306a36Sopenharmony_ci #phy-cells = <1>; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci usb1_port: usb-phy@11110900 { 51062306a36Sopenharmony_ci reg = <0 0x11110900 0 0x100>; 51162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_USB_PHY48M>; 51262306a36Sopenharmony_ci clock-names = "ref"; 51362306a36Sopenharmony_ci #phy-cells = <1>; 51462306a36Sopenharmony_ci }; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci auxadc: adc@11003000 { 51862306a36Sopenharmony_ci compatible = "mediatek,mt8516-auxadc", 51962306a36Sopenharmony_ci "mediatek,mt8173-auxadc"; 52062306a36Sopenharmony_ci reg = <0 0x11003000 0 0x1000>; 52162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_AUX_ADC>; 52262306a36Sopenharmony_ci clock-names = "main"; 52362306a36Sopenharmony_ci #io-channel-cells = <1>; 52462306a36Sopenharmony_ci status = "disabled"; 52562306a36Sopenharmony_ci }; 52662306a36Sopenharmony_ci }; 52762306a36Sopenharmony_ci}; 528