18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * Copyright (c) 2017 MediaTek Inc.
38c2ecf20Sopenharmony_ci * Author: YT Shen <yt.shen@mediatek.com>
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0 OR MIT)
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include <dt-bindings/clock/mt2712-clk.h>
98c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
108c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
118c2ecf20Sopenharmony_ci#include <dt-bindings/memory/mt2712-larb-port.h>
128c2ecf20Sopenharmony_ci#include <dt-bindings/phy/phy.h>
138c2ecf20Sopenharmony_ci#include <dt-bindings/power/mt2712-power.h>
148c2ecf20Sopenharmony_ci#include "mt2712-pinfunc.h"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci/ {
178c2ecf20Sopenharmony_ci	compatible = "mediatek,mt2712";
188c2ecf20Sopenharmony_ci	interrupt-parent = <&sysirq>;
198c2ecf20Sopenharmony_ci	#address-cells = <2>;
208c2ecf20Sopenharmony_ci	#size-cells = <2>;
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	cluster0_opp: opp_table0 {
238c2ecf20Sopenharmony_ci		compatible = "operating-points-v2";
248c2ecf20Sopenharmony_ci		opp-shared;
258c2ecf20Sopenharmony_ci		opp00 {
268c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <598000000>;
278c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
288c2ecf20Sopenharmony_ci		};
298c2ecf20Sopenharmony_ci		opp01 {
308c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <702000000>;
318c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
328c2ecf20Sopenharmony_ci		};
338c2ecf20Sopenharmony_ci		opp02 {
348c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <793000000>;
358c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
368c2ecf20Sopenharmony_ci		};
378c2ecf20Sopenharmony_ci	};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	cluster1_opp: opp_table1 {
408c2ecf20Sopenharmony_ci		compatible = "operating-points-v2";
418c2ecf20Sopenharmony_ci		opp-shared;
428c2ecf20Sopenharmony_ci		opp00 {
438c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <598000000>;
448c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
458c2ecf20Sopenharmony_ci		};
468c2ecf20Sopenharmony_ci		opp01 {
478c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <702000000>;
488c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
498c2ecf20Sopenharmony_ci		};
508c2ecf20Sopenharmony_ci		opp02 {
518c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <793000000>;
528c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
538c2ecf20Sopenharmony_ci		};
548c2ecf20Sopenharmony_ci		opp03 {
558c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <897000000>;
568c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
578c2ecf20Sopenharmony_ci		};
588c2ecf20Sopenharmony_ci		opp04 {
598c2ecf20Sopenharmony_ci			opp-hz = /bits/ 64 <1001000000>;
608c2ecf20Sopenharmony_ci			opp-microvolt = <1000000>;
618c2ecf20Sopenharmony_ci		};
628c2ecf20Sopenharmony_ci	};
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci	cpus {
658c2ecf20Sopenharmony_ci		#address-cells = <1>;
668c2ecf20Sopenharmony_ci		#size-cells = <0>;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci		cpu-map {
698c2ecf20Sopenharmony_ci			cluster0 {
708c2ecf20Sopenharmony_ci				core0 {
718c2ecf20Sopenharmony_ci					cpu = <&cpu0>;
728c2ecf20Sopenharmony_ci				};
738c2ecf20Sopenharmony_ci				core1 {
748c2ecf20Sopenharmony_ci					cpu = <&cpu1>;
758c2ecf20Sopenharmony_ci				};
768c2ecf20Sopenharmony_ci			};
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci			cluster1 {
798c2ecf20Sopenharmony_ci				core0 {
808c2ecf20Sopenharmony_ci					cpu = <&cpu2>;
818c2ecf20Sopenharmony_ci				};
828c2ecf20Sopenharmony_ci			};
838c2ecf20Sopenharmony_ci		};
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci		cpu0: cpu@0 {
868c2ecf20Sopenharmony_ci			device_type = "cpu";
878c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a35";
888c2ecf20Sopenharmony_ci			reg = <0x000>;
898c2ecf20Sopenharmony_ci			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
908c2ecf20Sopenharmony_ci				<&topckgen CLK_TOP_F_MP0_PLL1>;
918c2ecf20Sopenharmony_ci			clock-names = "cpu", "intermediate";
928c2ecf20Sopenharmony_ci			proc-supply = <&cpus_fixed_vproc0>;
938c2ecf20Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
948c2ecf20Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
958c2ecf20Sopenharmony_ci		};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci		cpu1: cpu@1 {
988c2ecf20Sopenharmony_ci			device_type = "cpu";
998c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a35";
1008c2ecf20Sopenharmony_ci			reg = <0x001>;
1018c2ecf20Sopenharmony_ci			enable-method = "psci";
1028c2ecf20Sopenharmony_ci			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
1038c2ecf20Sopenharmony_ci				<&topckgen CLK_TOP_F_MP0_PLL1>;
1048c2ecf20Sopenharmony_ci			clock-names = "cpu", "intermediate";
1058c2ecf20Sopenharmony_ci			proc-supply = <&cpus_fixed_vproc0>;
1068c2ecf20Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
1078c2ecf20Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
1088c2ecf20Sopenharmony_ci		};
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci		cpu2: cpu@200 {
1118c2ecf20Sopenharmony_ci			device_type = "cpu";
1128c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a72";
1138c2ecf20Sopenharmony_ci			reg = <0x200>;
1148c2ecf20Sopenharmony_ci			enable-method = "psci";
1158c2ecf20Sopenharmony_ci			clocks = <&mcucfg CLK_MCU_MP2_SEL>,
1168c2ecf20Sopenharmony_ci				<&topckgen CLK_TOP_F_BIG_PLL1>;
1178c2ecf20Sopenharmony_ci			clock-names = "cpu", "intermediate";
1188c2ecf20Sopenharmony_ci			proc-supply = <&cpus_fixed_vproc1>;
1198c2ecf20Sopenharmony_ci			operating-points-v2 = <&cluster1_opp>;
1208c2ecf20Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
1218c2ecf20Sopenharmony_ci		};
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci		idle-states {
1248c2ecf20Sopenharmony_ci			entry-method = "psci";
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci			CPU_SLEEP_0: cpu-sleep-0 {
1278c2ecf20Sopenharmony_ci				compatible = "arm,idle-state";
1288c2ecf20Sopenharmony_ci				local-timer-stop;
1298c2ecf20Sopenharmony_ci				entry-latency-us = <100>;
1308c2ecf20Sopenharmony_ci				exit-latency-us = <80>;
1318c2ecf20Sopenharmony_ci				min-residency-us = <2000>;
1328c2ecf20Sopenharmony_ci				arm,psci-suspend-param = <0x0010000>;
1338c2ecf20Sopenharmony_ci			};
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci			CLUSTER_SLEEP_0: cluster-sleep-0 {
1368c2ecf20Sopenharmony_ci				compatible = "arm,idle-state";
1378c2ecf20Sopenharmony_ci				local-timer-stop;
1388c2ecf20Sopenharmony_ci				entry-latency-us = <350>;
1398c2ecf20Sopenharmony_ci				exit-latency-us = <80>;
1408c2ecf20Sopenharmony_ci				min-residency-us = <3000>;
1418c2ecf20Sopenharmony_ci				arm,psci-suspend-param = <0x1010000>;
1428c2ecf20Sopenharmony_ci			};
1438c2ecf20Sopenharmony_ci		};
1448c2ecf20Sopenharmony_ci	};
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci	psci {
1478c2ecf20Sopenharmony_ci		compatible = "arm,psci-0.2";
1488c2ecf20Sopenharmony_ci		method = "smc";
1498c2ecf20Sopenharmony_ci	};
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	baud_clk: dummy26m {
1528c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1538c2ecf20Sopenharmony_ci		clock-frequency = <26000000>;
1548c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1558c2ecf20Sopenharmony_ci	};
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci	sys_clk: dummyclk {
1588c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1598c2ecf20Sopenharmony_ci		clock-frequency = <26000000>;
1608c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1618c2ecf20Sopenharmony_ci	};
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci	clk26m: oscillator-26m {
1648c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1658c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1668c2ecf20Sopenharmony_ci		clock-frequency = <26000000>;
1678c2ecf20Sopenharmony_ci		clock-output-names = "clk26m";
1688c2ecf20Sopenharmony_ci	};
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci	clk32k: oscillator-32k {
1718c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1728c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1738c2ecf20Sopenharmony_ci		clock-frequency = <32768>;
1748c2ecf20Sopenharmony_ci		clock-output-names = "clk32k";
1758c2ecf20Sopenharmony_ci	};
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ci	clkfpc: oscillator-50m {
1788c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1798c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1808c2ecf20Sopenharmony_ci		clock-frequency = <50000000>;
1818c2ecf20Sopenharmony_ci		clock-output-names = "clkfpc";
1828c2ecf20Sopenharmony_ci	};
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci	clkaud_ext_i_0: oscillator-aud0 {
1858c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1868c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1878c2ecf20Sopenharmony_ci		clock-frequency = <6500000>;
1888c2ecf20Sopenharmony_ci		clock-output-names = "clkaud_ext_i_0";
1898c2ecf20Sopenharmony_ci	};
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci	clkaud_ext_i_1: oscillator-aud1 {
1928c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
1938c2ecf20Sopenharmony_ci		#clock-cells = <0>;
1948c2ecf20Sopenharmony_ci		clock-frequency = <196608000>;
1958c2ecf20Sopenharmony_ci		clock-output-names = "clkaud_ext_i_1";
1968c2ecf20Sopenharmony_ci	};
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci	clkaud_ext_i_2: oscillator-aud2 {
1998c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
2008c2ecf20Sopenharmony_ci		#clock-cells = <0>;
2018c2ecf20Sopenharmony_ci		clock-frequency = <180633600>;
2028c2ecf20Sopenharmony_ci		clock-output-names = "clkaud_ext_i_2";
2038c2ecf20Sopenharmony_ci	};
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	clki2si0_mck_i: oscillator-i2s0 {
2068c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
2078c2ecf20Sopenharmony_ci		#clock-cells = <0>;
2088c2ecf20Sopenharmony_ci		clock-frequency = <30000000>;
2098c2ecf20Sopenharmony_ci		clock-output-names = "clki2si0_mck_i";
2108c2ecf20Sopenharmony_ci	};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci	clki2si1_mck_i: oscillator-i2s1 {
2138c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
2148c2ecf20Sopenharmony_ci		#clock-cells = <0>;
2158c2ecf20Sopenharmony_ci		clock-frequency = <30000000>;
2168c2ecf20Sopenharmony_ci		clock-output-names = "clki2si1_mck_i";
2178c2ecf20Sopenharmony_ci	};
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci	clki2si2_mck_i: oscillator-i2s2 {
2208c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
2218c2ecf20Sopenharmony_ci		#clock-cells = <0>;
2228c2ecf20Sopenharmony_ci		clock-frequency = <30000000>;
2238c2ecf20Sopenharmony_ci		clock-output-names = "clki2si2_mck_i";
2248c2ecf20Sopenharmony_ci	};
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci	clktdmin_mclk_i: oscillator-mclk {
2278c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
2288c2ecf20Sopenharmony_ci		#clock-cells = <0>;
2298c2ecf20Sopenharmony_ci		clock-frequency = <30000000>;
2308c2ecf20Sopenharmony_ci		clock-output-names = "clktdmin_mclk_i";
2318c2ecf20Sopenharmony_ci	};
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci	timer {
2348c2ecf20Sopenharmony_ci		compatible = "arm,armv8-timer";
2358c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
2368c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 13
2378c2ecf20Sopenharmony_ci			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
2388c2ecf20Sopenharmony_ci			     <GIC_PPI 14
2398c2ecf20Sopenharmony_ci			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
2408c2ecf20Sopenharmony_ci			     <GIC_PPI 11
2418c2ecf20Sopenharmony_ci			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
2428c2ecf20Sopenharmony_ci			     <GIC_PPI 10
2438c2ecf20Sopenharmony_ci			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>;
2448c2ecf20Sopenharmony_ci	};
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ci	topckgen: syscon@10000000 {
2478c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-topckgen", "syscon";
2488c2ecf20Sopenharmony_ci		reg = <0 0x10000000 0 0x1000>;
2498c2ecf20Sopenharmony_ci		#clock-cells = <1>;
2508c2ecf20Sopenharmony_ci	};
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci	infracfg: syscon@10001000 {
2538c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-infracfg", "syscon";
2548c2ecf20Sopenharmony_ci		reg = <0 0x10001000 0 0x1000>;
2558c2ecf20Sopenharmony_ci		#clock-cells = <1>;
2568c2ecf20Sopenharmony_ci	};
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ci	pericfg: syscon@10003000 {
2598c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-pericfg", "syscon";
2608c2ecf20Sopenharmony_ci		reg = <0 0x10003000 0 0x1000>;
2618c2ecf20Sopenharmony_ci		#clock-cells = <1>;
2628c2ecf20Sopenharmony_ci	};
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ci	syscfg_pctl_a: syscfg_pctl_a@10005000 {
2658c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-pctl-a-syscfg", "syscon";
2668c2ecf20Sopenharmony_ci		reg = <0 0x10005000 0 0x1000>;
2678c2ecf20Sopenharmony_ci	};
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci	pio: pinctrl@1000b000 {
2708c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-pinctrl";
2718c2ecf20Sopenharmony_ci		reg = <0 0x1000b000 0 0x1000>;
2728c2ecf20Sopenharmony_ci		mediatek,pctl-regmap = <&syscfg_pctl_a>;
2738c2ecf20Sopenharmony_ci		pins-are-numbered;
2748c2ecf20Sopenharmony_ci		gpio-controller;
2758c2ecf20Sopenharmony_ci		#gpio-cells = <2>;
2768c2ecf20Sopenharmony_ci		interrupt-controller;
2778c2ecf20Sopenharmony_ci		#interrupt-cells = <2>;
2788c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
2798c2ecf20Sopenharmony_ci	};
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ci	scpsys: power-controller@10006000 {
2828c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-scpsys", "syscon";
2838c2ecf20Sopenharmony_ci		#power-domain-cells = <1>;
2848c2ecf20Sopenharmony_ci		reg = <0 0x10006000 0 0x1000>;
2858c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_MM_SEL>,
2868c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_MFG_SEL>,
2878c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_VENC_SEL>,
2888c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_JPGDEC_SEL>,
2898c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_A1SYS_HP_SEL>,
2908c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_VDEC_SEL>;
2918c2ecf20Sopenharmony_ci		clock-names = "mm", "mfg", "venc",
2928c2ecf20Sopenharmony_ci			"jpgdec", "audio", "vdec";
2938c2ecf20Sopenharmony_ci		infracfg = <&infracfg>;
2948c2ecf20Sopenharmony_ci	};
2958c2ecf20Sopenharmony_ci
2968c2ecf20Sopenharmony_ci	uart5: serial@1000f000 {
2978c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
2988c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
2998c2ecf20Sopenharmony_ci		reg = <0 0x1000f000 0 0x400>;
3008c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
3018c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
3028c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
3038c2ecf20Sopenharmony_ci		dmas = <&apdma 10
3048c2ecf20Sopenharmony_ci			&apdma 11>;
3058c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
3068c2ecf20Sopenharmony_ci		status = "disabled";
3078c2ecf20Sopenharmony_ci	};
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci	rtc: rtc@10011000 {
3108c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-rtc";
3118c2ecf20Sopenharmony_ci		reg = <0 0x10011000 0 0x1000>;
3128c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_LOW>;
3138c2ecf20Sopenharmony_ci	};
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci	spis1: spi@10013000 {
3168c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi-slave";
3178c2ecf20Sopenharmony_ci		reg = <0 0x10013000 0 0x100>;
3188c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
3198c2ecf20Sopenharmony_ci		clocks = <&infracfg CLK_INFRA_AO_SPI1>;
3208c2ecf20Sopenharmony_ci		clock-names = "spi";
3218c2ecf20Sopenharmony_ci		assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
3228c2ecf20Sopenharmony_ci		assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
3238c2ecf20Sopenharmony_ci		status = "disabled";
3248c2ecf20Sopenharmony_ci	};
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci	iommu0: iommu@10205000 {
3278c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-m4u";
3288c2ecf20Sopenharmony_ci		reg = <0 0x10205000 0 0x1000>;
3298c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_LOW>;
3308c2ecf20Sopenharmony_ci		clocks = <&infracfg CLK_INFRA_M4U>;
3318c2ecf20Sopenharmony_ci		clock-names = "bclk";
3328c2ecf20Sopenharmony_ci		mediatek,larbs = <&larb0 &larb1 &larb2
3338c2ecf20Sopenharmony_ci				  &larb3 &larb6>;
3348c2ecf20Sopenharmony_ci		#iommu-cells = <1>;
3358c2ecf20Sopenharmony_ci	};
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci	apmixedsys: syscon@10209000 {
3388c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-apmixedsys", "syscon";
3398c2ecf20Sopenharmony_ci		reg = <0 0x10209000 0 0x1000>;
3408c2ecf20Sopenharmony_ci		#clock-cells = <1>;
3418c2ecf20Sopenharmony_ci	};
3428c2ecf20Sopenharmony_ci
3438c2ecf20Sopenharmony_ci	iommu1: iommu@1020a000 {
3448c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-m4u";
3458c2ecf20Sopenharmony_ci		reg = <0 0x1020a000 0 0x1000>;
3468c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_LOW>;
3478c2ecf20Sopenharmony_ci		clocks = <&infracfg CLK_INFRA_M4U>;
3488c2ecf20Sopenharmony_ci		clock-names = "bclk";
3498c2ecf20Sopenharmony_ci		mediatek,larbs = <&larb4 &larb5 &larb7>;
3508c2ecf20Sopenharmony_ci		#iommu-cells = <1>;
3518c2ecf20Sopenharmony_ci	};
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ci	mcucfg: syscon@10220000 {
3548c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mcucfg", "syscon";
3558c2ecf20Sopenharmony_ci		reg = <0 0x10220000 0 0x1000>;
3568c2ecf20Sopenharmony_ci		#clock-cells = <1>;
3578c2ecf20Sopenharmony_ci	};
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ci	sysirq: interrupt-controller@10220a80 {
3608c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-sysirq",
3618c2ecf20Sopenharmony_ci			     "mediatek,mt6577-sysirq";
3628c2ecf20Sopenharmony_ci		interrupt-controller;
3638c2ecf20Sopenharmony_ci		#interrupt-cells = <3>;
3648c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
3658c2ecf20Sopenharmony_ci		reg = <0 0x10220a80 0 0x40>;
3668c2ecf20Sopenharmony_ci	};
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ci	gic: interrupt-controller@10510000 {
3698c2ecf20Sopenharmony_ci		compatible = "arm,gic-400";
3708c2ecf20Sopenharmony_ci		#interrupt-cells = <3>;
3718c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
3728c2ecf20Sopenharmony_ci		interrupt-controller;
3738c2ecf20Sopenharmony_ci		reg = <0 0x10510000 0 0x10000>,
3748c2ecf20Sopenharmony_ci		      <0 0x10520000 0 0x20000>,
3758c2ecf20Sopenharmony_ci		      <0 0x10540000 0 0x20000>,
3768c2ecf20Sopenharmony_ci		      <0 0x10560000 0 0x20000>;
3778c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 9
3788c2ecf20Sopenharmony_ci			 (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_HIGH)>;
3798c2ecf20Sopenharmony_ci	};
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ci	apdma: dma-controller@11000400 {
3828c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart-dma",
3838c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart-dma";
3848c2ecf20Sopenharmony_ci		reg = <0 0x11000400 0 0x80>,
3858c2ecf20Sopenharmony_ci		      <0 0x11000480 0 0x80>,
3868c2ecf20Sopenharmony_ci		      <0 0x11000500 0 0x80>,
3878c2ecf20Sopenharmony_ci		      <0 0x11000580 0 0x80>,
3888c2ecf20Sopenharmony_ci		      <0 0x11000600 0 0x80>,
3898c2ecf20Sopenharmony_ci		      <0 0x11000680 0 0x80>,
3908c2ecf20Sopenharmony_ci		      <0 0x11000700 0 0x80>,
3918c2ecf20Sopenharmony_ci		      <0 0x11000780 0 0x80>,
3928c2ecf20Sopenharmony_ci		      <0 0x11000800 0 0x80>,
3938c2ecf20Sopenharmony_ci		      <0 0x11000880 0 0x80>,
3948c2ecf20Sopenharmony_ci		      <0 0x11000900 0 0x80>,
3958c2ecf20Sopenharmony_ci		      <0 0x11000980 0 0x80>;
3968c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_LOW>,
3978c2ecf20Sopenharmony_ci			     <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
3988c2ecf20Sopenharmony_ci			     <GIC_SPI 105 IRQ_TYPE_LEVEL_LOW>,
3998c2ecf20Sopenharmony_ci			     <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>,
4008c2ecf20Sopenharmony_ci			     <GIC_SPI 107 IRQ_TYPE_LEVEL_LOW>,
4018c2ecf20Sopenharmony_ci			     <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>,
4028c2ecf20Sopenharmony_ci			     <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>,
4038c2ecf20Sopenharmony_ci			     <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>,
4048c2ecf20Sopenharmony_ci			     <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>,
4058c2ecf20Sopenharmony_ci			     <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>,
4068c2ecf20Sopenharmony_ci			     <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>,
4078c2ecf20Sopenharmony_ci			     <GIC_SPI 114 IRQ_TYPE_LEVEL_LOW>;
4088c2ecf20Sopenharmony_ci		dma-requests = <12>;
4098c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_AP_DMA>;
4108c2ecf20Sopenharmony_ci		clock-names = "apdma";
4118c2ecf20Sopenharmony_ci		#dma-cells = <1>;
4128c2ecf20Sopenharmony_ci	};
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci	auxadc: adc@11001000 {
4158c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-auxadc";
4168c2ecf20Sopenharmony_ci		reg = <0 0x11001000 0 0x1000>;
4178c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_AUXADC>;
4188c2ecf20Sopenharmony_ci		clock-names = "main";
4198c2ecf20Sopenharmony_ci		#io-channel-cells = <1>;
4208c2ecf20Sopenharmony_ci		status = "disabled";
4218c2ecf20Sopenharmony_ci	};
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ci	uart0: serial@11002000 {
4248c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
4258c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
4268c2ecf20Sopenharmony_ci		reg = <0 0x11002000 0 0x400>;
4278c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
4288c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
4298c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
4308c2ecf20Sopenharmony_ci		dmas = <&apdma 0
4318c2ecf20Sopenharmony_ci			&apdma 1>;
4328c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
4338c2ecf20Sopenharmony_ci		status = "disabled";
4348c2ecf20Sopenharmony_ci	};
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_ci	uart1: serial@11003000 {
4378c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
4388c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
4398c2ecf20Sopenharmony_ci		reg = <0 0x11003000 0 0x400>;
4408c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
4418c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
4428c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
4438c2ecf20Sopenharmony_ci		dmas = <&apdma 2
4448c2ecf20Sopenharmony_ci			&apdma 3>;
4458c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
4468c2ecf20Sopenharmony_ci		status = "disabled";
4478c2ecf20Sopenharmony_ci	};
4488c2ecf20Sopenharmony_ci
4498c2ecf20Sopenharmony_ci	uart2: serial@11004000 {
4508c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
4518c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
4528c2ecf20Sopenharmony_ci		reg = <0 0x11004000 0 0x400>;
4538c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
4548c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
4558c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
4568c2ecf20Sopenharmony_ci		dmas = <&apdma 4
4578c2ecf20Sopenharmony_ci			&apdma 5>;
4588c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
4598c2ecf20Sopenharmony_ci		status = "disabled";
4608c2ecf20Sopenharmony_ci	};
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ci	uart3: serial@11005000 {
4638c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
4648c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
4658c2ecf20Sopenharmony_ci		reg = <0 0x11005000 0 0x400>;
4668c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>;
4678c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
4688c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
4698c2ecf20Sopenharmony_ci		dmas = <&apdma 6
4708c2ecf20Sopenharmony_ci			&apdma 7>;
4718c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
4728c2ecf20Sopenharmony_ci		status = "disabled";
4738c2ecf20Sopenharmony_ci	};
4748c2ecf20Sopenharmony_ci
4758c2ecf20Sopenharmony_ci	pwm: pwm@11006000 {
4768c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-pwm";
4778c2ecf20Sopenharmony_ci		reg = <0 0x11006000 0 0x1000>;
4788c2ecf20Sopenharmony_ci		#pwm-cells = <2>;
4798c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
4808c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_PWM_SEL>,
4818c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM>,
4828c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM0>,
4838c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM1>,
4848c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM2>,
4858c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM3>,
4868c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM4>,
4878c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM5>,
4888c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM6>,
4898c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM7>;
4908c2ecf20Sopenharmony_ci		clock-names = "top",
4918c2ecf20Sopenharmony_ci			      "main",
4928c2ecf20Sopenharmony_ci			      "pwm1",
4938c2ecf20Sopenharmony_ci			      "pwm2",
4948c2ecf20Sopenharmony_ci			      "pwm3",
4958c2ecf20Sopenharmony_ci			      "pwm4",
4968c2ecf20Sopenharmony_ci			      "pwm5",
4978c2ecf20Sopenharmony_ci			      "pwm6",
4988c2ecf20Sopenharmony_ci			      "pwm7",
4998c2ecf20Sopenharmony_ci			      "pwm8";
5008c2ecf20Sopenharmony_ci		status = "disabled";
5018c2ecf20Sopenharmony_ci	};
5028c2ecf20Sopenharmony_ci
5038c2ecf20Sopenharmony_ci	i2c0: i2c@11007000 {
5048c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
5058c2ecf20Sopenharmony_ci		reg = <0 0x11007000 0 0x90>,
5068c2ecf20Sopenharmony_ci		      <0 0x11000180 0 0x80>;
5078c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
5088c2ecf20Sopenharmony_ci		clock-div = <4>;
5098c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C0>,
5108c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
5118c2ecf20Sopenharmony_ci		clock-names = "main",
5128c2ecf20Sopenharmony_ci			      "dma";
5138c2ecf20Sopenharmony_ci		#address-cells = <1>;
5148c2ecf20Sopenharmony_ci		#size-cells = <0>;
5158c2ecf20Sopenharmony_ci		status = "disabled";
5168c2ecf20Sopenharmony_ci	};
5178c2ecf20Sopenharmony_ci
5188c2ecf20Sopenharmony_ci	i2c1: i2c@11008000 {
5198c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
5208c2ecf20Sopenharmony_ci		reg = <0 0x11008000 0 0x90>,
5218c2ecf20Sopenharmony_ci		      <0 0x11000200 0 0x80>;
5228c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
5238c2ecf20Sopenharmony_ci		clock-div = <4>;
5248c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C1>,
5258c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
5268c2ecf20Sopenharmony_ci		clock-names = "main",
5278c2ecf20Sopenharmony_ci			      "dma";
5288c2ecf20Sopenharmony_ci		#address-cells = <1>;
5298c2ecf20Sopenharmony_ci		#size-cells = <0>;
5308c2ecf20Sopenharmony_ci		status = "disabled";
5318c2ecf20Sopenharmony_ci	};
5328c2ecf20Sopenharmony_ci
5338c2ecf20Sopenharmony_ci	i2c2: i2c@11009000 {
5348c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
5358c2ecf20Sopenharmony_ci		reg = <0 0x11009000 0 0x90>,
5368c2ecf20Sopenharmony_ci		      <0 0x11000280 0 0x80>;
5378c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
5388c2ecf20Sopenharmony_ci		clock-div = <4>;
5398c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C2>,
5408c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
5418c2ecf20Sopenharmony_ci		clock-names = "main",
5428c2ecf20Sopenharmony_ci			      "dma";
5438c2ecf20Sopenharmony_ci		#address-cells = <1>;
5448c2ecf20Sopenharmony_ci		#size-cells = <0>;
5458c2ecf20Sopenharmony_ci		status = "disabled";
5468c2ecf20Sopenharmony_ci	};
5478c2ecf20Sopenharmony_ci
5488c2ecf20Sopenharmony_ci	spi0: spi@1100a000 {
5498c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi";
5508c2ecf20Sopenharmony_ci		#address-cells = <1>;
5518c2ecf20Sopenharmony_ci		#size-cells = <0>;
5528c2ecf20Sopenharmony_ci		reg = <0 0x1100a000 0 0x100>;
5538c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>;
5548c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
5558c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_SPI_SEL>,
5568c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_SPI0>;
5578c2ecf20Sopenharmony_ci		clock-names = "parent-clk", "sel-clk", "spi-clk";
5588c2ecf20Sopenharmony_ci		status = "disabled";
5598c2ecf20Sopenharmony_ci	};
5608c2ecf20Sopenharmony_ci
5618c2ecf20Sopenharmony_ci	nandc: nfi@1100e000 {
5628c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-nfc";
5638c2ecf20Sopenharmony_ci		reg = <0 0x1100e000 0 0x1000>;
5648c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
5658c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_NFI2X_EN>, <&pericfg CLK_PERI_NFI>;
5668c2ecf20Sopenharmony_ci		clock-names = "nfi_clk", "pad_clk";
5678c2ecf20Sopenharmony_ci		ecc-engine = <&bch>;
5688c2ecf20Sopenharmony_ci		#address-cells = <1>;
5698c2ecf20Sopenharmony_ci		#size-cells = <0>;
5708c2ecf20Sopenharmony_ci		status = "disabled";
5718c2ecf20Sopenharmony_ci	};
5728c2ecf20Sopenharmony_ci
5738c2ecf20Sopenharmony_ci	bch: ecc@1100f000 {
5748c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-ecc";
5758c2ecf20Sopenharmony_ci		reg = <0 0x1100f000 0 0x1000>;
5768c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
5778c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_NFI1X_CK_EN>;
5788c2ecf20Sopenharmony_ci		clock-names = "nfiecc_clk";
5798c2ecf20Sopenharmony_ci		status = "disabled";
5808c2ecf20Sopenharmony_ci	};
5818c2ecf20Sopenharmony_ci
5828c2ecf20Sopenharmony_ci	i2c3: i2c@11010000 {
5838c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
5848c2ecf20Sopenharmony_ci		reg = <0 0x11010000 0 0x90>,
5858c2ecf20Sopenharmony_ci		      <0 0x11000300 0 0x80>;
5868c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
5878c2ecf20Sopenharmony_ci		clock-div = <4>;
5888c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C3>,
5898c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
5908c2ecf20Sopenharmony_ci		clock-names = "main",
5918c2ecf20Sopenharmony_ci			      "dma";
5928c2ecf20Sopenharmony_ci		#address-cells = <1>;
5938c2ecf20Sopenharmony_ci		#size-cells = <0>;
5948c2ecf20Sopenharmony_ci		status = "disabled";
5958c2ecf20Sopenharmony_ci	};
5968c2ecf20Sopenharmony_ci
5978c2ecf20Sopenharmony_ci	i2c4: i2c@11011000 {
5988c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
5998c2ecf20Sopenharmony_ci		reg = <0 0x11011000 0 0x90>,
6008c2ecf20Sopenharmony_ci		      <0 0x11000380 0 0x80>;
6018c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
6028c2ecf20Sopenharmony_ci		clock-div = <4>;
6038c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C4>,
6048c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
6058c2ecf20Sopenharmony_ci		clock-names = "main",
6068c2ecf20Sopenharmony_ci			      "dma";
6078c2ecf20Sopenharmony_ci		#address-cells = <1>;
6088c2ecf20Sopenharmony_ci		#size-cells = <0>;
6098c2ecf20Sopenharmony_ci		status = "disabled";
6108c2ecf20Sopenharmony_ci	};
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ci	i2c5: i2c@11013000 {
6138c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-i2c";
6148c2ecf20Sopenharmony_ci		reg = <0 0x11013000 0 0x90>,
6158c2ecf20Sopenharmony_ci		      <0 0x11000100 0 0x80>;
6168c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>;
6178c2ecf20Sopenharmony_ci		clock-div = <4>;
6188c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_I2C5>,
6198c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_AP_DMA>;
6208c2ecf20Sopenharmony_ci		clock-names = "main",
6218c2ecf20Sopenharmony_ci			      "dma";
6228c2ecf20Sopenharmony_ci		#address-cells = <1>;
6238c2ecf20Sopenharmony_ci		#size-cells = <0>;
6248c2ecf20Sopenharmony_ci		status = "disabled";
6258c2ecf20Sopenharmony_ci	};
6268c2ecf20Sopenharmony_ci
6278c2ecf20Sopenharmony_ci	spi2: spi@11015000 {
6288c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi";
6298c2ecf20Sopenharmony_ci		#address-cells = <1>;
6308c2ecf20Sopenharmony_ci		#size-cells = <0>;
6318c2ecf20Sopenharmony_ci		reg = <0 0x11015000 0 0x100>;
6328c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 284 IRQ_TYPE_LEVEL_LOW>;
6338c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
6348c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_SPI_SEL>,
6358c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_SPI2>;
6368c2ecf20Sopenharmony_ci		clock-names = "parent-clk", "sel-clk", "spi-clk";
6378c2ecf20Sopenharmony_ci		status = "disabled";
6388c2ecf20Sopenharmony_ci	};
6398c2ecf20Sopenharmony_ci
6408c2ecf20Sopenharmony_ci	spi3: spi@11016000 {
6418c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi";
6428c2ecf20Sopenharmony_ci		#address-cells = <1>;
6438c2ecf20Sopenharmony_ci		#size-cells = <0>;
6448c2ecf20Sopenharmony_ci		reg = <0 0x11016000 0 0x100>;
6458c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 285 IRQ_TYPE_LEVEL_LOW>;
6468c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
6478c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_SPI_SEL>,
6488c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_SPI3>;
6498c2ecf20Sopenharmony_ci		clock-names = "parent-clk", "sel-clk", "spi-clk";
6508c2ecf20Sopenharmony_ci		status = "disabled";
6518c2ecf20Sopenharmony_ci	};
6528c2ecf20Sopenharmony_ci
6538c2ecf20Sopenharmony_ci	spi4: spi@10012000 {
6548c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi";
6558c2ecf20Sopenharmony_ci		#address-cells = <1>;
6568c2ecf20Sopenharmony_ci		#size-cells = <0>;
6578c2ecf20Sopenharmony_ci		reg = <0 0x10012000 0 0x100>;
6588c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_LOW>;
6598c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
6608c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_SPI_SEL>,
6618c2ecf20Sopenharmony_ci			 <&infracfg CLK_INFRA_AO_SPI0>;
6628c2ecf20Sopenharmony_ci		clock-names = "parent-clk", "sel-clk", "spi-clk";
6638c2ecf20Sopenharmony_ci		status = "disabled";
6648c2ecf20Sopenharmony_ci	};
6658c2ecf20Sopenharmony_ci
6668c2ecf20Sopenharmony_ci	spi5: spi@11018000 {
6678c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-spi";
6688c2ecf20Sopenharmony_ci		#address-cells = <1>;
6698c2ecf20Sopenharmony_ci		#size-cells = <0>;
6708c2ecf20Sopenharmony_ci		reg = <0 0x11018000 0 0x100>;
6718c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_LOW>;
6728c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_UNIVPLL2_D4>,
6738c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_SPI_SEL>,
6748c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_SPI5>;
6758c2ecf20Sopenharmony_ci		clock-names = "parent-clk", "sel-clk", "spi-clk";
6768c2ecf20Sopenharmony_ci		status = "disabled";
6778c2ecf20Sopenharmony_ci	};
6788c2ecf20Sopenharmony_ci
6798c2ecf20Sopenharmony_ci	uart4: serial@11019000 {
6808c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-uart",
6818c2ecf20Sopenharmony_ci			     "mediatek,mt6577-uart";
6828c2ecf20Sopenharmony_ci		reg = <0 0x11019000 0 0x400>;
6838c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_LOW>;
6848c2ecf20Sopenharmony_ci		clocks = <&baud_clk>, <&sys_clk>;
6858c2ecf20Sopenharmony_ci		clock-names = "baud", "bus";
6868c2ecf20Sopenharmony_ci		dmas = <&apdma 8
6878c2ecf20Sopenharmony_ci			&apdma 9>;
6888c2ecf20Sopenharmony_ci		dma-names = "tx", "rx";
6898c2ecf20Sopenharmony_ci		status = "disabled";
6908c2ecf20Sopenharmony_ci	};
6918c2ecf20Sopenharmony_ci
6928c2ecf20Sopenharmony_ci	stmmac_axi_setup: stmmac-axi-config {
6938c2ecf20Sopenharmony_ci		snps,wr_osr_lmt = <0x7>;
6948c2ecf20Sopenharmony_ci		snps,rd_osr_lmt = <0x7>;
6958c2ecf20Sopenharmony_ci		snps,blen = <0 0 0 0 16 8 4>;
6968c2ecf20Sopenharmony_ci	};
6978c2ecf20Sopenharmony_ci
6988c2ecf20Sopenharmony_ci	mtl_rx_setup: rx-queues-config {
6998c2ecf20Sopenharmony_ci		snps,rx-queues-to-use = <1>;
7008c2ecf20Sopenharmony_ci		snps,rx-sched-sp;
7018c2ecf20Sopenharmony_ci		queue0 {
7028c2ecf20Sopenharmony_ci			snps,dcb-algorithm;
7038c2ecf20Sopenharmony_ci			snps,map-to-dma-channel = <0x0>;
7048c2ecf20Sopenharmony_ci			snps,priority = <0x0>;
7058c2ecf20Sopenharmony_ci		};
7068c2ecf20Sopenharmony_ci	};
7078c2ecf20Sopenharmony_ci
7088c2ecf20Sopenharmony_ci	mtl_tx_setup: tx-queues-config {
7098c2ecf20Sopenharmony_ci		snps,tx-queues-to-use = <3>;
7108c2ecf20Sopenharmony_ci		snps,tx-sched-wrr;
7118c2ecf20Sopenharmony_ci		queue0 {
7128c2ecf20Sopenharmony_ci			snps,weight = <0x10>;
7138c2ecf20Sopenharmony_ci			snps,dcb-algorithm;
7148c2ecf20Sopenharmony_ci			snps,priority = <0x0>;
7158c2ecf20Sopenharmony_ci		};
7168c2ecf20Sopenharmony_ci		queue1 {
7178c2ecf20Sopenharmony_ci			snps,weight = <0x11>;
7188c2ecf20Sopenharmony_ci			snps,dcb-algorithm;
7198c2ecf20Sopenharmony_ci			snps,priority = <0x1>;
7208c2ecf20Sopenharmony_ci		};
7218c2ecf20Sopenharmony_ci		queue2 {
7228c2ecf20Sopenharmony_ci			snps,weight = <0x12>;
7238c2ecf20Sopenharmony_ci			snps,dcb-algorithm;
7248c2ecf20Sopenharmony_ci			snps,priority = <0x2>;
7258c2ecf20Sopenharmony_ci		};
7268c2ecf20Sopenharmony_ci	};
7278c2ecf20Sopenharmony_ci
7288c2ecf20Sopenharmony_ci	eth: ethernet@1101c000 {
7298c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-gmac";
7308c2ecf20Sopenharmony_ci		reg = <0 0x1101c000 0 0x1300>;
7318c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>;
7328c2ecf20Sopenharmony_ci		interrupt-names = "macirq";
7338c2ecf20Sopenharmony_ci		mac-address = [00 55 7b b5 7d f7];
7348c2ecf20Sopenharmony_ci		clock-names = "axi",
7358c2ecf20Sopenharmony_ci			      "apb",
7368c2ecf20Sopenharmony_ci			      "mac_main",
7378c2ecf20Sopenharmony_ci			      "ptp_ref";
7388c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_GMAC>,
7398c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_GMAC_PCLK>,
7408c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_ETHER_125M_SEL>,
7418c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_ETHER_50M_SEL>;
7428c2ecf20Sopenharmony_ci		assigned-clocks = <&topckgen CLK_TOP_ETHER_125M_SEL>,
7438c2ecf20Sopenharmony_ci				  <&topckgen CLK_TOP_ETHER_50M_SEL>;
7448c2ecf20Sopenharmony_ci		assigned-clock-parents = <&topckgen CLK_TOP_ETHERPLL_125M>,
7458c2ecf20Sopenharmony_ci					 <&topckgen CLK_TOP_APLL1_D3>;
7468c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_AUDIO>;
7478c2ecf20Sopenharmony_ci		mediatek,pericfg = <&pericfg>;
7488c2ecf20Sopenharmony_ci		snps,axi-config = <&stmmac_axi_setup>;
7498c2ecf20Sopenharmony_ci		snps,mtl-rx-config = <&mtl_rx_setup>;
7508c2ecf20Sopenharmony_ci		snps,mtl-tx-config = <&mtl_tx_setup>;
7518c2ecf20Sopenharmony_ci		snps,txpbl = <1>;
7528c2ecf20Sopenharmony_ci		snps,rxpbl = <1>;
7538c2ecf20Sopenharmony_ci		clk_csr = <0>;
7548c2ecf20Sopenharmony_ci		status = "disabled";
7558c2ecf20Sopenharmony_ci	};
7568c2ecf20Sopenharmony_ci
7578c2ecf20Sopenharmony_ci	mmc0: mmc@11230000 {
7588c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mmc";
7598c2ecf20Sopenharmony_ci		reg = <0 0x11230000 0 0x1000>;
7608c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
7618c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_MSDC30_0>,
7628c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_MSDC50_0_HCLK_EN>,
7638c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_MSDC30_0_QTR_EN>,
7648c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_MSDC50_0_EN>;
7658c2ecf20Sopenharmony_ci		clock-names = "source", "hclk", "bus_clk", "source_cg";
7668c2ecf20Sopenharmony_ci		status = "disabled";
7678c2ecf20Sopenharmony_ci	};
7688c2ecf20Sopenharmony_ci
7698c2ecf20Sopenharmony_ci	mmc1: mmc@11240000 {
7708c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mmc";
7718c2ecf20Sopenharmony_ci		reg = <0 0x11240000 0 0x1000>;
7728c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>;
7738c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_MSDC30_1>,
7748c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_AXI_SEL>,
7758c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_MSDC30_1_EN>;
7768c2ecf20Sopenharmony_ci		clock-names = "source", "hclk", "source_cg";
7778c2ecf20Sopenharmony_ci		status = "disabled";
7788c2ecf20Sopenharmony_ci	};
7798c2ecf20Sopenharmony_ci
7808c2ecf20Sopenharmony_ci	mmc2: mmc@11250000 {
7818c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mmc";
7828c2ecf20Sopenharmony_ci		reg = <0 0x11250000 0 0x1000>;
7838c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
7848c2ecf20Sopenharmony_ci		clocks = <&pericfg CLK_PERI_MSDC30_2>,
7858c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_AXI_SEL>,
7868c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_MSDC30_2_EN>;
7878c2ecf20Sopenharmony_ci		clock-names = "source", "hclk", "source_cg";
7888c2ecf20Sopenharmony_ci		status = "disabled";
7898c2ecf20Sopenharmony_ci	};
7908c2ecf20Sopenharmony_ci
7918c2ecf20Sopenharmony_ci	ssusb: usb@11271000 {
7928c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mtu3", "mediatek,mtu3";
7938c2ecf20Sopenharmony_ci		reg = <0 0x11271000 0 0x3000>,
7948c2ecf20Sopenharmony_ci		      <0 0x11280700 0 0x0100>;
7958c2ecf20Sopenharmony_ci		reg-names = "mac", "ippc";
7968c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_LOW>;
7978c2ecf20Sopenharmony_ci		phys = <&u2port0 PHY_TYPE_USB2>,
7988c2ecf20Sopenharmony_ci		       <&u2port1 PHY_TYPE_USB2>;
7998c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_USB>;
8008c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_USB30_SEL>;
8018c2ecf20Sopenharmony_ci		clock-names = "sys_ck";
8028c2ecf20Sopenharmony_ci		mediatek,syscon-wakeup = <&pericfg 0x510 2>;
8038c2ecf20Sopenharmony_ci		#address-cells = <2>;
8048c2ecf20Sopenharmony_ci		#size-cells = <2>;
8058c2ecf20Sopenharmony_ci		ranges;
8068c2ecf20Sopenharmony_ci		status = "disabled";
8078c2ecf20Sopenharmony_ci
8088c2ecf20Sopenharmony_ci		usb_host0: xhci@11270000 {
8098c2ecf20Sopenharmony_ci			compatible = "mediatek,mt2712-xhci",
8108c2ecf20Sopenharmony_ci				     "mediatek,mtk-xhci";
8118c2ecf20Sopenharmony_ci			reg = <0 0x11270000 0 0x1000>;
8128c2ecf20Sopenharmony_ci			reg-names = "mac";
8138c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_LOW>;
8148c2ecf20Sopenharmony_ci			power-domains = <&scpsys MT2712_POWER_DOMAIN_USB>;
8158c2ecf20Sopenharmony_ci			clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;
8168c2ecf20Sopenharmony_ci			clock-names = "sys_ck", "ref_ck";
8178c2ecf20Sopenharmony_ci			status = "disabled";
8188c2ecf20Sopenharmony_ci		};
8198c2ecf20Sopenharmony_ci	};
8208c2ecf20Sopenharmony_ci
8218c2ecf20Sopenharmony_ci	u3phy0: usb-phy@11290000 {
8228c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-tphy",
8238c2ecf20Sopenharmony_ci			     "mediatek,generic-tphy-v2";
8248c2ecf20Sopenharmony_ci		#address-cells = <1>;
8258c2ecf20Sopenharmony_ci		#size-cells = <1>;
8268c2ecf20Sopenharmony_ci		ranges = <0 0 0x11290000 0x9000>;
8278c2ecf20Sopenharmony_ci		status = "okay";
8288c2ecf20Sopenharmony_ci
8298c2ecf20Sopenharmony_ci		u2port0: usb-phy@0 {
8308c2ecf20Sopenharmony_ci			reg = <0x0 0x700>;
8318c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
8328c2ecf20Sopenharmony_ci			clock-names = "ref";
8338c2ecf20Sopenharmony_ci			#phy-cells = <1>;
8348c2ecf20Sopenharmony_ci			status = "okay";
8358c2ecf20Sopenharmony_ci		};
8368c2ecf20Sopenharmony_ci
8378c2ecf20Sopenharmony_ci		u2port1: usb-phy@8000 {
8388c2ecf20Sopenharmony_ci			reg = <0x8000 0x700>;
8398c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
8408c2ecf20Sopenharmony_ci			clock-names = "ref";
8418c2ecf20Sopenharmony_ci			#phy-cells = <1>;
8428c2ecf20Sopenharmony_ci			status = "okay";
8438c2ecf20Sopenharmony_ci		};
8448c2ecf20Sopenharmony_ci
8458c2ecf20Sopenharmony_ci		u3port0: usb-phy@8700 {
8468c2ecf20Sopenharmony_ci			reg = <0x8700 0x900>;
8478c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
8488c2ecf20Sopenharmony_ci			clock-names = "ref";
8498c2ecf20Sopenharmony_ci			#phy-cells = <1>;
8508c2ecf20Sopenharmony_ci			status = "okay";
8518c2ecf20Sopenharmony_ci		};
8528c2ecf20Sopenharmony_ci	};
8538c2ecf20Sopenharmony_ci
8548c2ecf20Sopenharmony_ci	ssusb1: usb@112c1000 {
8558c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mtu3", "mediatek,mtu3";
8568c2ecf20Sopenharmony_ci		reg = <0 0x112c1000 0 0x3000>,
8578c2ecf20Sopenharmony_ci		      <0 0x112d0700 0 0x0100>;
8588c2ecf20Sopenharmony_ci		reg-names = "mac", "ippc";
8598c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_LOW>;
8608c2ecf20Sopenharmony_ci		phys = <&u2port2 PHY_TYPE_USB2>,
8618c2ecf20Sopenharmony_ci		       <&u2port3 PHY_TYPE_USB2>,
8628c2ecf20Sopenharmony_ci		       <&u3port1 PHY_TYPE_USB3>;
8638c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_USB2>;
8648c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_USB30_SEL>;
8658c2ecf20Sopenharmony_ci		clock-names = "sys_ck";
8668c2ecf20Sopenharmony_ci		mediatek,syscon-wakeup = <&pericfg 0x514 2>;
8678c2ecf20Sopenharmony_ci		#address-cells = <2>;
8688c2ecf20Sopenharmony_ci		#size-cells = <2>;
8698c2ecf20Sopenharmony_ci		ranges;
8708c2ecf20Sopenharmony_ci		status = "disabled";
8718c2ecf20Sopenharmony_ci
8728c2ecf20Sopenharmony_ci		usb_host1: xhci@112c0000 {
8738c2ecf20Sopenharmony_ci			compatible = "mediatek,mt2712-xhci",
8748c2ecf20Sopenharmony_ci				     "mediatek,mtk-xhci";
8758c2ecf20Sopenharmony_ci			reg = <0 0x112c0000 0 0x1000>;
8768c2ecf20Sopenharmony_ci			reg-names = "mac";
8778c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_LOW>;
8788c2ecf20Sopenharmony_ci			power-domains = <&scpsys MT2712_POWER_DOMAIN_USB2>;
8798c2ecf20Sopenharmony_ci			clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;
8808c2ecf20Sopenharmony_ci			clock-names = "sys_ck", "ref_ck";
8818c2ecf20Sopenharmony_ci			status = "disabled";
8828c2ecf20Sopenharmony_ci		};
8838c2ecf20Sopenharmony_ci	};
8848c2ecf20Sopenharmony_ci
8858c2ecf20Sopenharmony_ci	u3phy1: usb-phy@112e0000 {
8868c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-tphy",
8878c2ecf20Sopenharmony_ci			     "mediatek,generic-tphy-v2";
8888c2ecf20Sopenharmony_ci		#address-cells = <1>;
8898c2ecf20Sopenharmony_ci		#size-cells = <1>;
8908c2ecf20Sopenharmony_ci		ranges = <0 0 0x112e0000 0x9000>;
8918c2ecf20Sopenharmony_ci		status = "okay";
8928c2ecf20Sopenharmony_ci
8938c2ecf20Sopenharmony_ci		u2port2: usb-phy@0 {
8948c2ecf20Sopenharmony_ci			reg = <0x0 0x700>;
8958c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
8968c2ecf20Sopenharmony_ci			clock-names = "ref";
8978c2ecf20Sopenharmony_ci			#phy-cells = <1>;
8988c2ecf20Sopenharmony_ci			status = "okay";
8998c2ecf20Sopenharmony_ci		};
9008c2ecf20Sopenharmony_ci
9018c2ecf20Sopenharmony_ci		u2port3: usb-phy@8000 {
9028c2ecf20Sopenharmony_ci			reg = <0x8000 0x700>;
9038c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
9048c2ecf20Sopenharmony_ci			clock-names = "ref";
9058c2ecf20Sopenharmony_ci			#phy-cells = <1>;
9068c2ecf20Sopenharmony_ci			status = "okay";
9078c2ecf20Sopenharmony_ci		};
9088c2ecf20Sopenharmony_ci
9098c2ecf20Sopenharmony_ci		u3port1: usb-phy@8700 {
9108c2ecf20Sopenharmony_ci			reg = <0x8700 0x900>;
9118c2ecf20Sopenharmony_ci			clocks = <&clk26m>;
9128c2ecf20Sopenharmony_ci			clock-names = "ref";
9138c2ecf20Sopenharmony_ci			#phy-cells = <1>;
9148c2ecf20Sopenharmony_ci			status = "okay";
9158c2ecf20Sopenharmony_ci		};
9168c2ecf20Sopenharmony_ci	};
9178c2ecf20Sopenharmony_ci
9188c2ecf20Sopenharmony_ci	pcie: pcie@11700000 {
9198c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-pcie";
9208c2ecf20Sopenharmony_ci		device_type = "pci";
9218c2ecf20Sopenharmony_ci		reg = <0 0x11700000 0 0x1000>,
9228c2ecf20Sopenharmony_ci		      <0 0x112ff000 0 0x1000>;
9238c2ecf20Sopenharmony_ci		reg-names = "port0", "port1";
9248c2ecf20Sopenharmony_ci		#address-cells = <3>;
9258c2ecf20Sopenharmony_ci		#size-cells = <2>;
9268c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
9278c2ecf20Sopenharmony_ci			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
9288c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_PE2_MAC_P0_SEL>,
9298c2ecf20Sopenharmony_ci			 <&topckgen CLK_TOP_PE2_MAC_P1_SEL>,
9308c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PCIE0>,
9318c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PCIE1>;
9328c2ecf20Sopenharmony_ci		clock-names = "sys_ck0", "sys_ck1", "ahb_ck0", "ahb_ck1";
9338c2ecf20Sopenharmony_ci		phys = <&u3port0 PHY_TYPE_PCIE>, <&u3port1 PHY_TYPE_PCIE>;
9348c2ecf20Sopenharmony_ci		phy-names = "pcie-phy0", "pcie-phy1";
9358c2ecf20Sopenharmony_ci		bus-range = <0x00 0xff>;
9368c2ecf20Sopenharmony_ci		ranges = <0x82000000 0 0x20000000  0x0 0x20000000  0 0x10000000>;
9378c2ecf20Sopenharmony_ci
9388c2ecf20Sopenharmony_ci		pcie0: pcie@0,0 {
9398c2ecf20Sopenharmony_ci			device_type = "pci";
9408c2ecf20Sopenharmony_ci			status = "disabled";
9418c2ecf20Sopenharmony_ci			reg = <0x0000 0 0 0 0>;
9428c2ecf20Sopenharmony_ci			#address-cells = <3>;
9438c2ecf20Sopenharmony_ci			#size-cells = <2>;
9448c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
9458c2ecf20Sopenharmony_ci			ranges;
9468c2ecf20Sopenharmony_ci			interrupt-map-mask = <0 0 0 7>;
9478c2ecf20Sopenharmony_ci			interrupt-map = <0 0 0 1 &pcie_intc0 0>,
9488c2ecf20Sopenharmony_ci					<0 0 0 2 &pcie_intc0 1>,
9498c2ecf20Sopenharmony_ci					<0 0 0 3 &pcie_intc0 2>,
9508c2ecf20Sopenharmony_ci					<0 0 0 4 &pcie_intc0 3>;
9518c2ecf20Sopenharmony_ci			pcie_intc0: interrupt-controller {
9528c2ecf20Sopenharmony_ci				interrupt-controller;
9538c2ecf20Sopenharmony_ci				#address-cells = <0>;
9548c2ecf20Sopenharmony_ci				#interrupt-cells = <1>;
9558c2ecf20Sopenharmony_ci			};
9568c2ecf20Sopenharmony_ci		};
9578c2ecf20Sopenharmony_ci
9588c2ecf20Sopenharmony_ci		pcie1: pcie@1,0 {
9598c2ecf20Sopenharmony_ci			device_type = "pci";
9608c2ecf20Sopenharmony_ci			status = "disabled";
9618c2ecf20Sopenharmony_ci			reg = <0x0800 0 0 0 0>;
9628c2ecf20Sopenharmony_ci			#address-cells = <3>;
9638c2ecf20Sopenharmony_ci			#size-cells = <2>;
9648c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
9658c2ecf20Sopenharmony_ci			ranges;
9668c2ecf20Sopenharmony_ci			interrupt-map-mask = <0 0 0 7>;
9678c2ecf20Sopenharmony_ci			interrupt-map = <0 0 0 1 &pcie_intc1 0>,
9688c2ecf20Sopenharmony_ci					<0 0 0 2 &pcie_intc1 1>,
9698c2ecf20Sopenharmony_ci					<0 0 0 3 &pcie_intc1 2>,
9708c2ecf20Sopenharmony_ci					<0 0 0 4 &pcie_intc1 3>;
9718c2ecf20Sopenharmony_ci			pcie_intc1: interrupt-controller {
9728c2ecf20Sopenharmony_ci				interrupt-controller;
9738c2ecf20Sopenharmony_ci				#address-cells = <0>;
9748c2ecf20Sopenharmony_ci				#interrupt-cells = <1>;
9758c2ecf20Sopenharmony_ci			};
9768c2ecf20Sopenharmony_ci		};
9778c2ecf20Sopenharmony_ci	};
9788c2ecf20Sopenharmony_ci
9798c2ecf20Sopenharmony_ci	mfgcfg: syscon@13000000 {
9808c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mfgcfg", "syscon";
9818c2ecf20Sopenharmony_ci		reg = <0 0x13000000 0 0x1000>;
9828c2ecf20Sopenharmony_ci		#clock-cells = <1>;
9838c2ecf20Sopenharmony_ci	};
9848c2ecf20Sopenharmony_ci
9858c2ecf20Sopenharmony_ci	mmsys: syscon@14000000 {
9868c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-mmsys", "syscon";
9878c2ecf20Sopenharmony_ci		reg = <0 0x14000000 0 0x1000>;
9888c2ecf20Sopenharmony_ci		#clock-cells = <1>;
9898c2ecf20Sopenharmony_ci	};
9908c2ecf20Sopenharmony_ci
9918c2ecf20Sopenharmony_ci	larb0: larb@14021000 {
9928c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
9938c2ecf20Sopenharmony_ci		reg = <0 0x14021000 0 0x1000>;
9948c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common0>;
9958c2ecf20Sopenharmony_ci		mediatek,larb-id = <0>;
9968c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
9978c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_LARB0>,
9988c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_LARB0>;
9998c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10008c2ecf20Sopenharmony_ci	};
10018c2ecf20Sopenharmony_ci
10028c2ecf20Sopenharmony_ci	smi_common0: smi@14022000 {
10038c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-common";
10048c2ecf20Sopenharmony_ci		reg = <0 0x14022000 0 0x1000>;
10058c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
10068c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_COMMON>,
10078c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_COMMON>;
10088c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10098c2ecf20Sopenharmony_ci	};
10108c2ecf20Sopenharmony_ci
10118c2ecf20Sopenharmony_ci	larb4: larb@14027000 {
10128c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
10138c2ecf20Sopenharmony_ci		reg = <0 0x14027000 0 0x1000>;
10148c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common1>;
10158c2ecf20Sopenharmony_ci		mediatek,larb-id = <4>;
10168c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
10178c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_LARB4>,
10188c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_LARB4>;
10198c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10208c2ecf20Sopenharmony_ci	};
10218c2ecf20Sopenharmony_ci
10228c2ecf20Sopenharmony_ci	larb5: larb@14030000 {
10238c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
10248c2ecf20Sopenharmony_ci		reg = <0 0x14030000 0 0x1000>;
10258c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common1>;
10268c2ecf20Sopenharmony_ci		mediatek,larb-id = <5>;
10278c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
10288c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_LARB5>,
10298c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_LARB5>;
10308c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10318c2ecf20Sopenharmony_ci	};
10328c2ecf20Sopenharmony_ci
10338c2ecf20Sopenharmony_ci	smi_common1: smi@14031000 {
10348c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-common";
10358c2ecf20Sopenharmony_ci		reg = <0 0x14031000 0 0x1000>;
10368c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
10378c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_COMMON1>,
10388c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_COMMON1>;
10398c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10408c2ecf20Sopenharmony_ci	};
10418c2ecf20Sopenharmony_ci
10428c2ecf20Sopenharmony_ci	larb7: larb@14032000 {
10438c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
10448c2ecf20Sopenharmony_ci		reg = <0 0x14032000 0 0x1000>;
10458c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common1>;
10468c2ecf20Sopenharmony_ci		mediatek,larb-id = <7>;
10478c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_MM>;
10488c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_LARB7>,
10498c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_LARB7>;
10508c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10518c2ecf20Sopenharmony_ci	};
10528c2ecf20Sopenharmony_ci
10538c2ecf20Sopenharmony_ci	imgsys: syscon@15000000 {
10548c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-imgsys", "syscon";
10558c2ecf20Sopenharmony_ci		reg = <0 0x15000000 0 0x1000>;
10568c2ecf20Sopenharmony_ci		#clock-cells = <1>;
10578c2ecf20Sopenharmony_ci	};
10588c2ecf20Sopenharmony_ci
10598c2ecf20Sopenharmony_ci	larb2: larb@15001000 {
10608c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
10618c2ecf20Sopenharmony_ci		reg = <0 0x15001000 0 0x1000>;
10628c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common0>;
10638c2ecf20Sopenharmony_ci		mediatek,larb-id = <2>;
10648c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_ISP>;
10658c2ecf20Sopenharmony_ci		clocks = <&imgsys CLK_IMG_SMI_LARB2>,
10668c2ecf20Sopenharmony_ci			 <&imgsys CLK_IMG_SMI_LARB2>;
10678c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10688c2ecf20Sopenharmony_ci	};
10698c2ecf20Sopenharmony_ci
10708c2ecf20Sopenharmony_ci	bdpsys: syscon@15010000 {
10718c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-bdpsys", "syscon";
10728c2ecf20Sopenharmony_ci		reg = <0 0x15010000 0 0x1000>;
10738c2ecf20Sopenharmony_ci		#clock-cells = <1>;
10748c2ecf20Sopenharmony_ci	};
10758c2ecf20Sopenharmony_ci
10768c2ecf20Sopenharmony_ci	vdecsys: syscon@16000000 {
10778c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-vdecsys", "syscon";
10788c2ecf20Sopenharmony_ci		reg = <0 0x16000000 0 0x1000>;
10798c2ecf20Sopenharmony_ci		#clock-cells = <1>;
10808c2ecf20Sopenharmony_ci	};
10818c2ecf20Sopenharmony_ci
10828c2ecf20Sopenharmony_ci	larb1: larb@16010000 {
10838c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
10848c2ecf20Sopenharmony_ci		reg = <0 0x16010000 0 0x1000>;
10858c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common0>;
10868c2ecf20Sopenharmony_ci		mediatek,larb-id = <1>;
10878c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_VDEC>;
10888c2ecf20Sopenharmony_ci		clocks = <&vdecsys CLK_VDEC_CKEN>,
10898c2ecf20Sopenharmony_ci			 <&vdecsys CLK_VDEC_LARB1_CKEN>;
10908c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
10918c2ecf20Sopenharmony_ci	};
10928c2ecf20Sopenharmony_ci
10938c2ecf20Sopenharmony_ci	vencsys: syscon@18000000 {
10948c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-vencsys", "syscon";
10958c2ecf20Sopenharmony_ci		reg = <0 0x18000000 0 0x1000>;
10968c2ecf20Sopenharmony_ci		#clock-cells = <1>;
10978c2ecf20Sopenharmony_ci	};
10988c2ecf20Sopenharmony_ci
10998c2ecf20Sopenharmony_ci	larb3: larb@18001000 {
11008c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
11018c2ecf20Sopenharmony_ci		reg = <0 0x18001000 0 0x1000>;
11028c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common0>;
11038c2ecf20Sopenharmony_ci		mediatek,larb-id = <3>;
11048c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_VENC>;
11058c2ecf20Sopenharmony_ci		clocks = <&vencsys CLK_VENC_SMI_COMMON_CON>,
11068c2ecf20Sopenharmony_ci			 <&vencsys CLK_VENC_VENC>;
11078c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
11088c2ecf20Sopenharmony_ci	};
11098c2ecf20Sopenharmony_ci
11108c2ecf20Sopenharmony_ci	larb6: larb@18002000 {
11118c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-smi-larb";
11128c2ecf20Sopenharmony_ci		reg = <0 0x18002000 0 0x1000>;
11138c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common0>;
11148c2ecf20Sopenharmony_ci		mediatek,larb-id = <6>;
11158c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2712_POWER_DOMAIN_VENC>;
11168c2ecf20Sopenharmony_ci		clocks = <&vencsys CLK_VENC_SMI_COMMON_CON>,
11178c2ecf20Sopenharmony_ci			 <&vencsys CLK_VENC_VENC>;
11188c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
11198c2ecf20Sopenharmony_ci	};
11208c2ecf20Sopenharmony_ci
11218c2ecf20Sopenharmony_ci	jpgdecsys: syscon@19000000 {
11228c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2712-jpgdecsys", "syscon";
11238c2ecf20Sopenharmony_ci		reg = <0 0x19000000 0 0x1000>;
11248c2ecf20Sopenharmony_ci		#clock-cells = <1>;
11258c2ecf20Sopenharmony_ci	};
11268c2ecf20Sopenharmony_ci};
11278c2ecf20Sopenharmony_ci
1128