xref: /freebsd-src/sys/contrib/device-tree/src/arm/mediatek/mt7623.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (c) 2017-2018 MediaTek Inc.
4f126890aSEmmanuel Vadot * Author: John Crispin <john@phrozen.org>
5f126890aSEmmanuel Vadot *	   Sean Wang <sean.wang@mediatek.com>
6f126890aSEmmanuel Vadot *	   Ryder Lee <ryder.lee@mediatek.com>
7f126890aSEmmanuel Vadot *
8f126890aSEmmanuel Vadot */
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
11f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
12f126890aSEmmanuel Vadot#include <dt-bindings/clock/mt2701-clk.h>
13f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/mt7623-pinfunc.h>
14f126890aSEmmanuel Vadot#include <dt-bindings/power/mt2701-power.h>
15f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
16f126890aSEmmanuel Vadot#include <dt-bindings/phy/phy.h>
17f126890aSEmmanuel Vadot#include <dt-bindings/reset/mt2701-resets.h>
18f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot/ {
21f126890aSEmmanuel Vadot	compatible = "mediatek,mt7623";
22f126890aSEmmanuel Vadot	interrupt-parent = <&sysirq>;
23f126890aSEmmanuel Vadot	#address-cells = <2>;
24f126890aSEmmanuel Vadot	#size-cells = <2>;
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot	cpu_opp_table: opp-table {
27f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
28f126890aSEmmanuel Vadot		opp-shared;
29f126890aSEmmanuel Vadot
30f126890aSEmmanuel Vadot		opp-98000000 {
31f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <98000000>;
32f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
33f126890aSEmmanuel Vadot		};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot		opp-198000000 {
36f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <198000000>;
37f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
38f126890aSEmmanuel Vadot		};
39f126890aSEmmanuel Vadot
40f126890aSEmmanuel Vadot		opp-398000000 {
41f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <398000000>;
42f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
43f126890aSEmmanuel Vadot		};
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot		opp-598000000 {
46f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <598000000>;
47f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
48f126890aSEmmanuel Vadot		};
49f126890aSEmmanuel Vadot
50f126890aSEmmanuel Vadot		opp-747500000 {
51f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <747500000>;
52f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
53f126890aSEmmanuel Vadot		};
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot		opp-1040000000 {
56f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1040000000>;
57f126890aSEmmanuel Vadot			opp-microvolt = <1150000>;
58f126890aSEmmanuel Vadot		};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot		opp-1196000000 {
61f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1196000000>;
62f126890aSEmmanuel Vadot			opp-microvolt = <1200000>;
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot		opp-1300000000 {
66f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1300000000>;
67f126890aSEmmanuel Vadot			opp-microvolt = <1300000>;
68f126890aSEmmanuel Vadot		};
69f126890aSEmmanuel Vadot	};
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot	cpus {
72f126890aSEmmanuel Vadot		#address-cells = <1>;
73f126890aSEmmanuel Vadot		#size-cells = <0>;
74f126890aSEmmanuel Vadot		enable-method = "mediatek,mt6589-smp";
75f126890aSEmmanuel Vadot
76f126890aSEmmanuel Vadot		cpu0: cpu@0 {
77f126890aSEmmanuel Vadot			device_type = "cpu";
78f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
79f126890aSEmmanuel Vadot			reg = <0x0>;
80f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_CPUSEL>,
81f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_MAINPLL>;
82f126890aSEmmanuel Vadot			clock-names = "cpu", "intermediate";
83f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
84f126890aSEmmanuel Vadot			#cooling-cells = <2>;
85f126890aSEmmanuel Vadot			clock-frequency = <1300000000>;
86f126890aSEmmanuel Vadot		};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot		cpu1: cpu@1 {
89f126890aSEmmanuel Vadot			device_type = "cpu";
90f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
91f126890aSEmmanuel Vadot			reg = <0x1>;
92f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_CPUSEL>,
93f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_MAINPLL>;
94f126890aSEmmanuel Vadot			clock-names = "cpu", "intermediate";
95f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
96f126890aSEmmanuel Vadot			#cooling-cells = <2>;
97f126890aSEmmanuel Vadot			clock-frequency = <1300000000>;
98f126890aSEmmanuel Vadot		};
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot		cpu2: cpu@2 {
101f126890aSEmmanuel Vadot			device_type = "cpu";
102f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
103f126890aSEmmanuel Vadot			reg = <0x2>;
104f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_CPUSEL>,
105f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_MAINPLL>;
106f126890aSEmmanuel Vadot			clock-names = "cpu", "intermediate";
107f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
108f126890aSEmmanuel Vadot			#cooling-cells = <2>;
109f126890aSEmmanuel Vadot			clock-frequency = <1300000000>;
110f126890aSEmmanuel Vadot		};
111f126890aSEmmanuel Vadot
112f126890aSEmmanuel Vadot		cpu3: cpu@3 {
113f126890aSEmmanuel Vadot			device_type = "cpu";
114f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
115f126890aSEmmanuel Vadot			reg = <0x3>;
116f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_CPUSEL>,
117f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_MAINPLL>;
118f126890aSEmmanuel Vadot			clock-names = "cpu", "intermediate";
119f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
120f126890aSEmmanuel Vadot			#cooling-cells = <2>;
121f126890aSEmmanuel Vadot			clock-frequency = <1300000000>;
122f126890aSEmmanuel Vadot		};
123f126890aSEmmanuel Vadot	};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot	pmu {
126f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-pmu";
127f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_LOW>,
128f126890aSEmmanuel Vadot			     <GIC_SPI 5 IRQ_TYPE_LEVEL_LOW>,
129f126890aSEmmanuel Vadot			     <GIC_SPI 6 IRQ_TYPE_LEVEL_LOW>,
130f126890aSEmmanuel Vadot			     <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
131f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
132f126890aSEmmanuel Vadot	};
133f126890aSEmmanuel Vadot
134f126890aSEmmanuel Vadot	system_clk: dummy13m {
135f126890aSEmmanuel Vadot		compatible = "fixed-clock";
136f126890aSEmmanuel Vadot		clock-frequency = <13000000>;
137f126890aSEmmanuel Vadot		#clock-cells = <0>;
138f126890aSEmmanuel Vadot	};
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot	rtc32k: oscillator-1 {
141f126890aSEmmanuel Vadot		compatible = "fixed-clock";
142f126890aSEmmanuel Vadot		#clock-cells = <0>;
143f126890aSEmmanuel Vadot		clock-frequency = <32000>;
144f126890aSEmmanuel Vadot		clock-output-names = "rtc32k";
145f126890aSEmmanuel Vadot	};
146f126890aSEmmanuel Vadot
147f126890aSEmmanuel Vadot	clk26m: oscillator-0 {
148f126890aSEmmanuel Vadot		compatible = "fixed-clock";
149f126890aSEmmanuel Vadot		#clock-cells = <0>;
150f126890aSEmmanuel Vadot		clock-frequency = <26000000>;
151f126890aSEmmanuel Vadot		clock-output-names = "clk26m";
152f126890aSEmmanuel Vadot	};
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot	thermal-zones {
155f126890aSEmmanuel Vadot			cpu_thermal: cpu-thermal {
156f126890aSEmmanuel Vadot				polling-delay-passive = <1000>;
157f126890aSEmmanuel Vadot				polling-delay = <1000>;
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot				thermal-sensors = <&thermal 0>;
160f126890aSEmmanuel Vadot
161f126890aSEmmanuel Vadot				trips {
162f126890aSEmmanuel Vadot					cpu_passive: cpu-passive {
163f126890aSEmmanuel Vadot						temperature = <57000>;
164f126890aSEmmanuel Vadot						hysteresis = <2000>;
165f126890aSEmmanuel Vadot						type = "passive";
166f126890aSEmmanuel Vadot					};
167f126890aSEmmanuel Vadot
168f126890aSEmmanuel Vadot					cpu_active: cpu-active {
169f126890aSEmmanuel Vadot						temperature = <67000>;
170f126890aSEmmanuel Vadot						hysteresis = <2000>;
171f126890aSEmmanuel Vadot						type = "active";
172f126890aSEmmanuel Vadot					};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot					cpu_hot: cpu-hot {
175f126890aSEmmanuel Vadot						temperature = <87000>;
176f126890aSEmmanuel Vadot						hysteresis = <2000>;
177f126890aSEmmanuel Vadot						type = "hot";
178f126890aSEmmanuel Vadot					};
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot					cpu-crit {
181f126890aSEmmanuel Vadot						temperature = <107000>;
182f126890aSEmmanuel Vadot						hysteresis = <2000>;
183f126890aSEmmanuel Vadot						type = "critical";
184f126890aSEmmanuel Vadot					};
185f126890aSEmmanuel Vadot				};
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot			cooling-maps {
188f126890aSEmmanuel Vadot				map0 {
189f126890aSEmmanuel Vadot					trip = <&cpu_passive>;
190f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
191f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
192f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
193f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
194f126890aSEmmanuel Vadot				};
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot				map1 {
197f126890aSEmmanuel Vadot					trip = <&cpu_active>;
198f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
199f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
200f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
201f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
202f126890aSEmmanuel Vadot				};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot				map2 {
205f126890aSEmmanuel Vadot					trip = <&cpu_hot>;
206f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
207f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
208f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
209f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
210f126890aSEmmanuel Vadot				};
211f126890aSEmmanuel Vadot			};
212f126890aSEmmanuel Vadot		};
213f126890aSEmmanuel Vadot	};
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot	timer {
216f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
217f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
218f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
219f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
220f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
221f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
222f126890aSEmmanuel Vadot		clock-frequency = <13000000>;
223f126890aSEmmanuel Vadot		arm,cpu-registers-not-fw-configured;
224f126890aSEmmanuel Vadot	};
225f126890aSEmmanuel Vadot
226f126890aSEmmanuel Vadot	topckgen: syscon@10000000 {
227f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-topckgen",
228f126890aSEmmanuel Vadot			     "mediatek,mt2701-topckgen",
229f126890aSEmmanuel Vadot			     "syscon";
230f126890aSEmmanuel Vadot		reg = <0 0x10000000 0 0x1000>;
231f126890aSEmmanuel Vadot		#clock-cells = <1>;
232f126890aSEmmanuel Vadot	};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot	infracfg: syscon@10001000 {
235f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-infracfg",
236f126890aSEmmanuel Vadot			     "mediatek,mt2701-infracfg",
237f126890aSEmmanuel Vadot			     "syscon";
238f126890aSEmmanuel Vadot		reg = <0 0x10001000 0 0x1000>;
239f126890aSEmmanuel Vadot		#clock-cells = <1>;
240f126890aSEmmanuel Vadot		#reset-cells = <1>;
241f126890aSEmmanuel Vadot	};
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot	pericfg: syscon@10003000 {
244f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pericfg",
245f126890aSEmmanuel Vadot			      "mediatek,mt2701-pericfg",
246f126890aSEmmanuel Vadot			      "syscon";
247f126890aSEmmanuel Vadot		reg = <0 0x10003000 0 0x1000>;
248f126890aSEmmanuel Vadot		#clock-cells = <1>;
249f126890aSEmmanuel Vadot		#reset-cells = <1>;
250f126890aSEmmanuel Vadot	};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot	pio: pinctrl@10005000 {
253f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pinctrl";
254f126890aSEmmanuel Vadot		reg = <0 0x1000b000 0 0x1000>;
255f126890aSEmmanuel Vadot		mediatek,pctl-regmap = <&syscfg_pctl_a>;
256f126890aSEmmanuel Vadot		gpio-controller;
257f126890aSEmmanuel Vadot		#gpio-cells = <2>;
258f126890aSEmmanuel Vadot		interrupt-controller;
259f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
260f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
261f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
262f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
263f126890aSEmmanuel Vadot	};
264f126890aSEmmanuel Vadot
265f126890aSEmmanuel Vadot	syscfg_pctl_a: syscfg@10005000 {
266f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pctl-a-syscfg", "syscon";
267f126890aSEmmanuel Vadot		reg = <0 0x10005000 0 0x1000>;
268f126890aSEmmanuel Vadot	};
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot	scpsys: power-controller@10006000 {
271f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-scpsys",
272f126890aSEmmanuel Vadot			     "mediatek,mt2701-scpsys",
273f126890aSEmmanuel Vadot			     "syscon";
274f126890aSEmmanuel Vadot		#power-domain-cells = <1>;
275f126890aSEmmanuel Vadot		reg = <0 0x10006000 0 0x1000>;
276f126890aSEmmanuel Vadot		infracfg = <&infracfg>;
277f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_MM_SEL>,
278f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_MFG_SEL>,
279f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
280f126890aSEmmanuel Vadot		clock-names = "mm", "mfg", "ethif";
281f126890aSEmmanuel Vadot	};
282f126890aSEmmanuel Vadot
283f126890aSEmmanuel Vadot	watchdog: watchdog@10007000 {
284f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-wdt",
285f126890aSEmmanuel Vadot			     "mediatek,mt6589-wdt";
286f126890aSEmmanuel Vadot		reg = <0 0x10007000 0 0x100>;
287f126890aSEmmanuel Vadot	};
288f126890aSEmmanuel Vadot
289f126890aSEmmanuel Vadot	timer: timer@10008000 {
290f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-timer",
291f126890aSEmmanuel Vadot			     "mediatek,mt6577-timer";
292f126890aSEmmanuel Vadot		reg = <0 0x10008000 0 0x80>;
293f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
294f126890aSEmmanuel Vadot		clocks = <&system_clk>, <&rtc32k>;
295f126890aSEmmanuel Vadot		clock-names = "system-clk", "rtc-clk";
296f126890aSEmmanuel Vadot	};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot	pwrap: pwrap@1000d000 {
299f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pwrap",
300f126890aSEmmanuel Vadot			     "mediatek,mt2701-pwrap";
301f126890aSEmmanuel Vadot		reg = <0 0x1000d000 0 0x1000>;
302f126890aSEmmanuel Vadot		reg-names = "pwrap";
303f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
304f126890aSEmmanuel Vadot		resets = <&infracfg MT2701_INFRA_PMIC_WRAP_RST>;
305f126890aSEmmanuel Vadot		reset-names = "pwrap";
306f126890aSEmmanuel Vadot		clocks = <&infracfg CLK_INFRA_PMICSPI>,
307f126890aSEmmanuel Vadot			 <&infracfg CLK_INFRA_PMICWRAP>;
308f126890aSEmmanuel Vadot		clock-names = "spi", "wrap";
309f126890aSEmmanuel Vadot	};
310f126890aSEmmanuel Vadot
311f126890aSEmmanuel Vadot	cir: cir@10013000 {
312f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-cir";
313f126890aSEmmanuel Vadot		reg = <0 0x10013000 0 0x1000>;
314f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
315f126890aSEmmanuel Vadot		clocks = <&infracfg CLK_INFRA_IRRX>;
316f126890aSEmmanuel Vadot		clock-names = "clk";
317f126890aSEmmanuel Vadot		status = "disabled";
318f126890aSEmmanuel Vadot	};
319f126890aSEmmanuel Vadot
320f126890aSEmmanuel Vadot	sysirq: interrupt-controller@10200100 {
321f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-sysirq",
322f126890aSEmmanuel Vadot			     "mediatek,mt6577-sysirq";
323f126890aSEmmanuel Vadot		interrupt-controller;
324f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
325f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
326f126890aSEmmanuel Vadot		reg = <0 0x10200100 0 0x1c>;
327f126890aSEmmanuel Vadot	};
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot	efuse: efuse@10206000 {
330f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-efuse",
331f126890aSEmmanuel Vadot			     "mediatek,mt8173-efuse";
332f126890aSEmmanuel Vadot		reg = <0 0x10206000 0 0x1000>;
333f126890aSEmmanuel Vadot		#address-cells = <1>;
334f126890aSEmmanuel Vadot		#size-cells = <1>;
335f126890aSEmmanuel Vadot		thermal_calibration_data: calib@424 {
336f126890aSEmmanuel Vadot			reg = <0x424 0xc>;
337f126890aSEmmanuel Vadot		};
338f126890aSEmmanuel Vadot	};
339f126890aSEmmanuel Vadot
340f126890aSEmmanuel Vadot	apmixedsys: syscon@10209000 {
341f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-apmixedsys",
342f126890aSEmmanuel Vadot			     "mediatek,mt2701-apmixedsys",
343f126890aSEmmanuel Vadot			     "syscon";
344f126890aSEmmanuel Vadot		reg = <0 0x10209000 0 0x1000>;
345f126890aSEmmanuel Vadot		#clock-cells = <1>;
346f126890aSEmmanuel Vadot	};
347f126890aSEmmanuel Vadot
348f126890aSEmmanuel Vadot	rng: rng@1020f000 {
349f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-rng";
350f126890aSEmmanuel Vadot		reg = <0 0x1020f000 0 0x1000>;
351f126890aSEmmanuel Vadot		clocks = <&infracfg CLK_INFRA_TRNG>;
352f126890aSEmmanuel Vadot		clock-names = "rng";
353f126890aSEmmanuel Vadot	};
354f126890aSEmmanuel Vadot
355f126890aSEmmanuel Vadot	gic: interrupt-controller@10211000 {
356f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-gic";
357f126890aSEmmanuel Vadot		interrupt-controller;
358f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
359f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
360f126890aSEmmanuel Vadot		reg = <0 0x10211000 0 0x1000>,
361f126890aSEmmanuel Vadot		      <0 0x10212000 0 0x2000>,
362f126890aSEmmanuel Vadot		      <0 0x10214000 0 0x2000>,
363f126890aSEmmanuel Vadot		      <0 0x10216000 0 0x2000>;
364f126890aSEmmanuel Vadot	};
365f126890aSEmmanuel Vadot
366f126890aSEmmanuel Vadot	auxadc: adc@11001000 {
367f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-auxadc",
368f126890aSEmmanuel Vadot			     "mediatek,mt2701-auxadc";
369f126890aSEmmanuel Vadot		reg = <0 0x11001000 0 0x1000>;
370f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_AUXADC>;
371f126890aSEmmanuel Vadot		clock-names = "main";
372f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
373f126890aSEmmanuel Vadot	};
374f126890aSEmmanuel Vadot
375f126890aSEmmanuel Vadot	uart0: serial@11002000 {
376f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-uart",
377f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
378f126890aSEmmanuel Vadot		reg = <0 0x11002000 0 0x400>;
379f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
380f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART0_SEL>,
381f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_UART0>;
382f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
383f126890aSEmmanuel Vadot		status = "disabled";
384f126890aSEmmanuel Vadot	};
385f126890aSEmmanuel Vadot
386f126890aSEmmanuel Vadot	uart1: serial@11003000 {
387f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-uart",
388f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
389f126890aSEmmanuel Vadot		reg = <0 0x11003000 0 0x400>;
390f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
391f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART1_SEL>,
392f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_UART1>;
393f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
394f126890aSEmmanuel Vadot		status = "disabled";
395f126890aSEmmanuel Vadot	};
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot	uart2: serial@11004000 {
398f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-uart",
399f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
400f126890aSEmmanuel Vadot		reg = <0 0x11004000 0 0x400>;
401f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
402f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART2_SEL>,
403f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_UART2>;
404f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
405f126890aSEmmanuel Vadot		status = "disabled";
406f126890aSEmmanuel Vadot	};
407f126890aSEmmanuel Vadot
408f126890aSEmmanuel Vadot	uart3: serial@11005000 {
409f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-uart",
410f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
411f126890aSEmmanuel Vadot		reg = <0 0x11005000 0 0x400>;
412f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
413f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART3_SEL>,
414f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_UART3>;
415f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
416f126890aSEmmanuel Vadot		status = "disabled";
417f126890aSEmmanuel Vadot	};
418f126890aSEmmanuel Vadot
419f126890aSEmmanuel Vadot	pwm: pwm@11006000 {
420f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pwm";
421f126890aSEmmanuel Vadot		reg = <0 0x11006000 0 0x1000>;
422f126890aSEmmanuel Vadot		#pwm-cells = <2>;
423f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_PWM_SEL>,
424f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM>,
425f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM1>,
426f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM2>,
427f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM3>,
428f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM4>,
429f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_PWM5>;
430f126890aSEmmanuel Vadot		clock-names = "top", "main", "pwm1", "pwm2",
431f126890aSEmmanuel Vadot			      "pwm3", "pwm4", "pwm5";
432f126890aSEmmanuel Vadot		status = "disabled";
433f126890aSEmmanuel Vadot	};
434f126890aSEmmanuel Vadot
435f126890aSEmmanuel Vadot	i2c0: i2c@11007000 {
436f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-i2c",
437f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
438f126890aSEmmanuel Vadot		reg = <0 0x11007000 0 0x70>,
439f126890aSEmmanuel Vadot		      <0 0x11000200 0 0x80>;
440f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
441f126890aSEmmanuel Vadot		clock-div = <16>;
442f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C0>,
443f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_AP_DMA>;
444f126890aSEmmanuel Vadot		clock-names = "main", "dma";
445f126890aSEmmanuel Vadot		#address-cells = <1>;
446f126890aSEmmanuel Vadot		#size-cells = <0>;
447f126890aSEmmanuel Vadot		status = "disabled";
448f126890aSEmmanuel Vadot	};
449f126890aSEmmanuel Vadot
450f126890aSEmmanuel Vadot	i2c1: i2c@11008000 {
451f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-i2c",
452f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
453f126890aSEmmanuel Vadot		reg = <0 0x11008000 0 0x70>,
454f126890aSEmmanuel Vadot		      <0 0x11000280 0 0x80>;
455f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>;
456f126890aSEmmanuel Vadot		clock-div = <16>;
457f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C1>,
458f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_AP_DMA>;
459f126890aSEmmanuel Vadot		clock-names = "main", "dma";
460f126890aSEmmanuel Vadot		#address-cells = <1>;
461f126890aSEmmanuel Vadot		#size-cells = <0>;
462f126890aSEmmanuel Vadot		status = "disabled";
463f126890aSEmmanuel Vadot	};
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot	i2c2: i2c@11009000 {
466f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-i2c",
467f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
468f126890aSEmmanuel Vadot		reg = <0 0x11009000 0 0x70>,
469f126890aSEmmanuel Vadot		      <0 0x11000300 0 0x80>;
470f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>;
471f126890aSEmmanuel Vadot		clock-div = <16>;
472f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C2>,
473f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_AP_DMA>;
474f126890aSEmmanuel Vadot		clock-names = "main", "dma";
475f126890aSEmmanuel Vadot		#address-cells = <1>;
476f126890aSEmmanuel Vadot		#size-cells = <0>;
477f126890aSEmmanuel Vadot		status = "disabled";
478f126890aSEmmanuel Vadot	};
479f126890aSEmmanuel Vadot
480f126890aSEmmanuel Vadot	spi0: spi@1100a000 {
481f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-spi",
482f126890aSEmmanuel Vadot			     "mediatek,mt2701-spi";
483f126890aSEmmanuel Vadot		#address-cells = <1>;
484f126890aSEmmanuel Vadot		#size-cells = <0>;
485f126890aSEmmanuel Vadot		reg = <0 0x1100a000 0 0x100>;
486f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
487f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
488f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI0_SEL>,
489f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI0>;
490f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
491f126890aSEmmanuel Vadot		status = "disabled";
492f126890aSEmmanuel Vadot	};
493f126890aSEmmanuel Vadot
494f126890aSEmmanuel Vadot	thermal: thermal@1100b000 {
495f126890aSEmmanuel Vadot		#thermal-sensor-cells = <1>;
496f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-thermal",
497f126890aSEmmanuel Vadot			     "mediatek,mt2701-thermal";
498f126890aSEmmanuel Vadot		reg = <0 0x1100b000 0 0x1000>;
499f126890aSEmmanuel Vadot		interrupts = <0 70 IRQ_TYPE_LEVEL_LOW>;
500f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>;
501f126890aSEmmanuel Vadot		clock-names = "therm", "auxadc";
502f126890aSEmmanuel Vadot		resets = <&pericfg MT2701_PERI_THERM_SW_RST>;
503f126890aSEmmanuel Vadot		reset-names = "therm";
504f126890aSEmmanuel Vadot		mediatek,auxadc = <&auxadc>;
505f126890aSEmmanuel Vadot		mediatek,apmixedsys = <&apmixedsys>;
506f126890aSEmmanuel Vadot		nvmem-cells = <&thermal_calibration_data>;
507f126890aSEmmanuel Vadot		nvmem-cell-names = "calibration-data";
508f126890aSEmmanuel Vadot	};
509f126890aSEmmanuel Vadot
510f126890aSEmmanuel Vadot	btif: serial@1100c000 {
511f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-btif",
512f126890aSEmmanuel Vadot			     "mediatek,mtk-btif";
513f126890aSEmmanuel Vadot		reg = <0 0x1100c000 0 0x1000>;
514f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_LOW>;
515f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_BTIF>;
516f126890aSEmmanuel Vadot		clock-names = "main";
517f126890aSEmmanuel Vadot		reg-shift = <2>;
518f126890aSEmmanuel Vadot		reg-io-width = <4>;
519f126890aSEmmanuel Vadot		status = "disabled";
520f126890aSEmmanuel Vadot	};
521f126890aSEmmanuel Vadot
522f126890aSEmmanuel Vadot	nandc: nfi@1100d000 {
523f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-nfc",
524f126890aSEmmanuel Vadot			     "mediatek,mt2701-nfc";
525f126890aSEmmanuel Vadot		reg = <0 0x1100d000 0 0x1000>;
526f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
527f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
528f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_NFI>,
529f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_NFI_PAD>;
530f126890aSEmmanuel Vadot		clock-names = "nfi_clk", "pad_clk";
531f126890aSEmmanuel Vadot		status = "disabled";
532f126890aSEmmanuel Vadot		ecc-engine = <&bch>;
533f126890aSEmmanuel Vadot		#address-cells = <1>;
534f126890aSEmmanuel Vadot		#size-cells = <0>;
535f126890aSEmmanuel Vadot	};
536f126890aSEmmanuel Vadot
537f126890aSEmmanuel Vadot	bch: ecc@1100e000 {
538f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-ecc",
539f126890aSEmmanuel Vadot			     "mediatek,mt2701-ecc";
540f126890aSEmmanuel Vadot		reg = <0 0x1100e000 0 0x1000>;
541f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>;
542f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_NFI_ECC>;
543f126890aSEmmanuel Vadot		clock-names = "nfiecc_clk";
544f126890aSEmmanuel Vadot		status = "disabled";
545f126890aSEmmanuel Vadot	};
546f126890aSEmmanuel Vadot
547f126890aSEmmanuel Vadot	nor_flash: spi@11014000 {
548f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-nor",
549f126890aSEmmanuel Vadot			     "mediatek,mt8173-nor";
550f126890aSEmmanuel Vadot		reg = <0 0x11014000 0 0x1000>;
551f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_FLASH>,
552f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_FLASH_SEL>;
553f126890aSEmmanuel Vadot		clock-names = "spi", "sf";
554f126890aSEmmanuel Vadot		#address-cells = <1>;
555f126890aSEmmanuel Vadot		#size-cells = <0>;
556f126890aSEmmanuel Vadot		status = "disabled";
557f126890aSEmmanuel Vadot	};
558f126890aSEmmanuel Vadot
559f126890aSEmmanuel Vadot	spi1: spi@11016000 {
560f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-spi",
561f126890aSEmmanuel Vadot			     "mediatek,mt2701-spi";
562f126890aSEmmanuel Vadot		#address-cells = <1>;
563f126890aSEmmanuel Vadot		#size-cells = <0>;
564f126890aSEmmanuel Vadot		reg = <0 0x11016000 0 0x100>;
565f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
566f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
567f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI1_SEL>,
568f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI1>;
569f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
570f126890aSEmmanuel Vadot		status = "disabled";
571f126890aSEmmanuel Vadot	};
572f126890aSEmmanuel Vadot
573f126890aSEmmanuel Vadot	spi2: spi@11017000 {
574f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-spi",
575f126890aSEmmanuel Vadot			     "mediatek,mt2701-spi";
576f126890aSEmmanuel Vadot		#address-cells = <1>;
577f126890aSEmmanuel Vadot		#size-cells = <0>;
578f126890aSEmmanuel Vadot		reg = <0 0x11017000 0 0x1000>;
579f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>;
580f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
581f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI2_SEL>,
582f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI2>;
583f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
584f126890aSEmmanuel Vadot		status = "disabled";
585f126890aSEmmanuel Vadot	};
586f126890aSEmmanuel Vadot
587f126890aSEmmanuel Vadot	usb0: usb@11200000 {
588f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-musb",
589f126890aSEmmanuel Vadot			     "mediatek,mtk-musb";
590f126890aSEmmanuel Vadot		reg = <0 0x11200000 0 0x1000>;
591f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
592f126890aSEmmanuel Vadot		interrupt-names = "mc";
593f126890aSEmmanuel Vadot		phys = <&u2port2 PHY_TYPE_USB2>;
594f126890aSEmmanuel Vadot		dr_mode = "otg";
595f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_USB0>,
596f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_USB0_MCU>,
597f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_USB_SLV>;
598f126890aSEmmanuel Vadot		clock-names = "main","mcu","univpll";
599f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
600f126890aSEmmanuel Vadot		status = "disabled";
601f126890aSEmmanuel Vadot	};
602f126890aSEmmanuel Vadot
603f126890aSEmmanuel Vadot	u2phy1: t-phy@11210000 {
604f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-tphy",
605f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
606f126890aSEmmanuel Vadot		reg = <0 0x11210000 0 0x0800>;
607f126890aSEmmanuel Vadot		#address-cells = <2>;
608f126890aSEmmanuel Vadot		#size-cells = <2>;
609f126890aSEmmanuel Vadot		ranges;
610f126890aSEmmanuel Vadot		status = "disabled";
611f126890aSEmmanuel Vadot
612f126890aSEmmanuel Vadot		u2port2: usb-phy@11210800 {
613f126890aSEmmanuel Vadot			reg = <0 0x11210800 0 0x0100>;
614f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
615f126890aSEmmanuel Vadot			clock-names = "ref";
616f126890aSEmmanuel Vadot			#phy-cells = <1>;
617f126890aSEmmanuel Vadot		};
618f126890aSEmmanuel Vadot	};
619f126890aSEmmanuel Vadot
620f126890aSEmmanuel Vadot	audsys: clock-controller@11220000 {
621f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-audsys",
622f126890aSEmmanuel Vadot			     "mediatek,mt2701-audsys",
623f126890aSEmmanuel Vadot			     "syscon";
624f126890aSEmmanuel Vadot		reg = <0 0x11220000 0 0x2000>;
625f126890aSEmmanuel Vadot		#clock-cells = <1>;
626f126890aSEmmanuel Vadot
627f126890aSEmmanuel Vadot		afe: audio-controller {
628f126890aSEmmanuel Vadot			compatible = "mediatek,mt7623-audio",
629f126890aSEmmanuel Vadot				     "mediatek,mt2701-audio";
630f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
631f126890aSEmmanuel Vadot				      <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
632f126890aSEmmanuel Vadot			interrupt-names = "afe", "asys";
633f126890aSEmmanuel Vadot			power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
634f126890aSEmmanuel Vadot
635f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_AUDIO>,
636f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX1_SEL>,
637f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX2_SEL>,
638f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_48K_TIMING>,
639f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_44K_TIMING>,
640f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
641f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
642f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
643f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
644f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
645f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
646f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
647f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
648f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
649f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
650f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
651f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
652f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO1>,
653f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO2>,
654f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO3>,
655f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO4>,
656f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN1>,
657f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN2>,
658f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN3>,
659f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN4>,
660f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO1>,
661f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO2>,
662f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO3>,
663f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO4>,
664f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE>,
665f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_CONN>,
666f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_A1SYS>,
667f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_A2SYS>,
668f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_MRGIF>;
669f126890aSEmmanuel Vadot
670f126890aSEmmanuel Vadot			clock-names = "infra_sys_audio_clk",
671f126890aSEmmanuel Vadot				      "top_audio_mux1_sel",
672f126890aSEmmanuel Vadot				      "top_audio_mux2_sel",
673f126890aSEmmanuel Vadot				      "top_audio_a1sys_hp",
674f126890aSEmmanuel Vadot				      "top_audio_a2sys_hp",
675f126890aSEmmanuel Vadot				      "i2s0_src_sel",
676f126890aSEmmanuel Vadot				      "i2s1_src_sel",
677f126890aSEmmanuel Vadot				      "i2s2_src_sel",
678f126890aSEmmanuel Vadot				      "i2s3_src_sel",
679f126890aSEmmanuel Vadot				      "i2s0_src_div",
680f126890aSEmmanuel Vadot				      "i2s1_src_div",
681f126890aSEmmanuel Vadot				      "i2s2_src_div",
682f126890aSEmmanuel Vadot				      "i2s3_src_div",
683f126890aSEmmanuel Vadot				      "i2s0_mclk_en",
684f126890aSEmmanuel Vadot				      "i2s1_mclk_en",
685f126890aSEmmanuel Vadot				      "i2s2_mclk_en",
686f126890aSEmmanuel Vadot				      "i2s3_mclk_en",
687f126890aSEmmanuel Vadot				      "i2so0_hop_ck",
688f126890aSEmmanuel Vadot				      "i2so1_hop_ck",
689f126890aSEmmanuel Vadot				      "i2so2_hop_ck",
690f126890aSEmmanuel Vadot				      "i2so3_hop_ck",
691f126890aSEmmanuel Vadot				      "i2si0_hop_ck",
692f126890aSEmmanuel Vadot				      "i2si1_hop_ck",
693f126890aSEmmanuel Vadot				      "i2si2_hop_ck",
694f126890aSEmmanuel Vadot				      "i2si3_hop_ck",
695f126890aSEmmanuel Vadot				      "asrc0_out_ck",
696f126890aSEmmanuel Vadot				      "asrc1_out_ck",
697f126890aSEmmanuel Vadot				      "asrc2_out_ck",
698f126890aSEmmanuel Vadot				      "asrc3_out_ck",
699f126890aSEmmanuel Vadot				      "audio_afe_pd",
700f126890aSEmmanuel Vadot				      "audio_afe_conn_pd",
701f126890aSEmmanuel Vadot				      "audio_a1sys_pd",
702f126890aSEmmanuel Vadot				      "audio_a2sys_pd",
703f126890aSEmmanuel Vadot				      "audio_mrgif_pd";
704f126890aSEmmanuel Vadot
705f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
706f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_SEL>,
707f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX1_DIV>,
708f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_DIV>;
709f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
710f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_AUD2PLL_90M>;
711f126890aSEmmanuel Vadot			assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
712f126890aSEmmanuel Vadot		};
713f126890aSEmmanuel Vadot	};
714f126890aSEmmanuel Vadot
715f126890aSEmmanuel Vadot	mmc0: mmc@11230000 {
716f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-mmc",
717f126890aSEmmanuel Vadot			     "mediatek,mt2701-mmc";
718f126890aSEmmanuel Vadot		reg = <0 0x11230000 0 0x1000>;
719f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_LOW>;
720f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_MSDC30_0>,
721f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_MSDC30_0_SEL>;
722f126890aSEmmanuel Vadot		clock-names = "source", "hclk";
723f126890aSEmmanuel Vadot		status = "disabled";
724f126890aSEmmanuel Vadot	};
725f126890aSEmmanuel Vadot
726f126890aSEmmanuel Vadot	mmc1: mmc@11240000 {
727f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-mmc",
728f126890aSEmmanuel Vadot			     "mediatek,mt2701-mmc";
729f126890aSEmmanuel Vadot		reg = <0 0x11240000 0 0x1000>;
730f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_LOW>;
731f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_MSDC30_1>,
732f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_MSDC30_1_SEL>;
733f126890aSEmmanuel Vadot		clock-names = "source", "hclk";
734f126890aSEmmanuel Vadot		status = "disabled";
735f126890aSEmmanuel Vadot	};
736f126890aSEmmanuel Vadot
737f126890aSEmmanuel Vadot	vdecsys: syscon@16000000 {
738f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-vdecsys",
739f126890aSEmmanuel Vadot			     "mediatek,mt2701-vdecsys",
740f126890aSEmmanuel Vadot			     "syscon";
741f126890aSEmmanuel Vadot		reg = <0 0x16000000 0 0x1000>;
742f126890aSEmmanuel Vadot		#clock-cells = <1>;
743f126890aSEmmanuel Vadot	};
744f126890aSEmmanuel Vadot
745f126890aSEmmanuel Vadot	hifsys: syscon@1a000000 {
746f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-hifsys",
747f126890aSEmmanuel Vadot			     "mediatek,mt2701-hifsys",
748f126890aSEmmanuel Vadot			     "syscon";
749f126890aSEmmanuel Vadot		reg = <0 0x1a000000 0 0x1000>;
750f126890aSEmmanuel Vadot		#clock-cells = <1>;
751f126890aSEmmanuel Vadot		#reset-cells = <1>;
752f126890aSEmmanuel Vadot	};
753f126890aSEmmanuel Vadot
754f126890aSEmmanuel Vadot	pcie: pcie@1a140000 {
755f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-pcie";
756f126890aSEmmanuel Vadot		device_type = "pci";
757f126890aSEmmanuel Vadot		reg = <0 0x1a140000 0 0x1000>, /* PCIe shared registers */
758f126890aSEmmanuel Vadot		      <0 0x1a142000 0 0x1000>, /* Port0 registers */
759f126890aSEmmanuel Vadot		      <0 0x1a143000 0 0x1000>, /* Port1 registers */
760f126890aSEmmanuel Vadot		      <0 0x1a144000 0 0x1000>; /* Port2 registers */
761f126890aSEmmanuel Vadot		reg-names = "subsys", "port0", "port1", "port2";
762f126890aSEmmanuel Vadot		#address-cells = <3>;
763f126890aSEmmanuel Vadot		#size-cells = <2>;
764f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
765f126890aSEmmanuel Vadot		interrupt-map-mask = <0xf800 0 0 0>;
766f126890aSEmmanuel Vadot		interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>,
767f126890aSEmmanuel Vadot				<0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>,
768f126890aSEmmanuel Vadot				<0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
769f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
770f126890aSEmmanuel Vadot			 <&hifsys CLK_HIFSYS_PCIE0>,
771f126890aSEmmanuel Vadot			 <&hifsys CLK_HIFSYS_PCIE1>,
772f126890aSEmmanuel Vadot			 <&hifsys CLK_HIFSYS_PCIE2>;
773f126890aSEmmanuel Vadot		clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2";
774f126890aSEmmanuel Vadot		resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>,
775f126890aSEmmanuel Vadot			 <&hifsys MT2701_HIFSYS_PCIE1_RST>,
776f126890aSEmmanuel Vadot			 <&hifsys MT2701_HIFSYS_PCIE2_RST>;
777f126890aSEmmanuel Vadot		reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2";
778f126890aSEmmanuel Vadot		phys = <&pcie0_port PHY_TYPE_PCIE>,
779f126890aSEmmanuel Vadot		       <&pcie1_port PHY_TYPE_PCIE>,
780f126890aSEmmanuel Vadot		       <&u3port1 PHY_TYPE_PCIE>;
781f126890aSEmmanuel Vadot		phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2";
782f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
783f126890aSEmmanuel Vadot		bus-range = <0x00 0xff>;
784f126890aSEmmanuel Vadot		status = "disabled";
785f126890aSEmmanuel Vadot		ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000
786f126890aSEmmanuel Vadot			  0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>;
787f126890aSEmmanuel Vadot
788f126890aSEmmanuel Vadot		pcie@0,0 {
789f126890aSEmmanuel Vadot			reg = <0x0000 0 0 0 0>;
790f126890aSEmmanuel Vadot			#address-cells = <3>;
791f126890aSEmmanuel Vadot			#size-cells = <2>;
792f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
793f126890aSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0>;
794f126890aSEmmanuel Vadot			interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>;
795f126890aSEmmanuel Vadot			ranges;
796f126890aSEmmanuel Vadot			status = "disabled";
797f126890aSEmmanuel Vadot		};
798f126890aSEmmanuel Vadot
799f126890aSEmmanuel Vadot		pcie@1,0 {
800f126890aSEmmanuel Vadot			reg = <0x0800 0 0 0 0>;
801f126890aSEmmanuel Vadot			#address-cells = <3>;
802f126890aSEmmanuel Vadot			#size-cells = <2>;
803f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
804f126890aSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0>;
805f126890aSEmmanuel Vadot			interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
806f126890aSEmmanuel Vadot			ranges;
807f126890aSEmmanuel Vadot			status = "disabled";
808f126890aSEmmanuel Vadot		};
809f126890aSEmmanuel Vadot
810f126890aSEmmanuel Vadot		pcie@2,0 {
811f126890aSEmmanuel Vadot			reg = <0x1000 0 0 0 0>;
812f126890aSEmmanuel Vadot			#address-cells = <3>;
813f126890aSEmmanuel Vadot			#size-cells = <2>;
814f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
815f126890aSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0>;
816f126890aSEmmanuel Vadot			interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
817f126890aSEmmanuel Vadot			ranges;
818f126890aSEmmanuel Vadot			status = "disabled";
819f126890aSEmmanuel Vadot		};
820f126890aSEmmanuel Vadot	};
821f126890aSEmmanuel Vadot
822f126890aSEmmanuel Vadot	pcie0_phy: t-phy@1a149000 {
823f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-tphy",
824f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
825f126890aSEmmanuel Vadot		reg = <0 0x1a149000 0 0x0700>;
826f126890aSEmmanuel Vadot		#address-cells = <2>;
827f126890aSEmmanuel Vadot		#size-cells = <2>;
828f126890aSEmmanuel Vadot		ranges;
829f126890aSEmmanuel Vadot		status = "disabled";
830f126890aSEmmanuel Vadot
831f126890aSEmmanuel Vadot		pcie0_port: pcie-phy@1a149900 {
832f126890aSEmmanuel Vadot			reg = <0 0x1a149900 0 0x0700>;
833f126890aSEmmanuel Vadot			clocks = <&clk26m>;
834f126890aSEmmanuel Vadot			clock-names = "ref";
835f126890aSEmmanuel Vadot			#phy-cells = <1>;
836f126890aSEmmanuel Vadot			status = "okay";
837f126890aSEmmanuel Vadot		};
838f126890aSEmmanuel Vadot	};
839f126890aSEmmanuel Vadot
840f126890aSEmmanuel Vadot	pcie1_phy: t-phy@1a14a000 {
841f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-tphy",
842f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
843f126890aSEmmanuel Vadot		reg = <0 0x1a14a000 0 0x0700>;
844f126890aSEmmanuel Vadot		#address-cells = <2>;
845f126890aSEmmanuel Vadot		#size-cells = <2>;
846f126890aSEmmanuel Vadot		ranges;
847f126890aSEmmanuel Vadot		status = "disabled";
848f126890aSEmmanuel Vadot
849f126890aSEmmanuel Vadot		pcie1_port: pcie-phy@1a14a900 {
850f126890aSEmmanuel Vadot			reg = <0 0x1a14a900 0 0x0700>;
851f126890aSEmmanuel Vadot			clocks = <&clk26m>;
852f126890aSEmmanuel Vadot			clock-names = "ref";
853f126890aSEmmanuel Vadot			#phy-cells = <1>;
854f126890aSEmmanuel Vadot			status = "okay";
855f126890aSEmmanuel Vadot		};
856f126890aSEmmanuel Vadot	};
857f126890aSEmmanuel Vadot
858f126890aSEmmanuel Vadot	usb1: usb@1a1c0000 {
859f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-xhci",
860f126890aSEmmanuel Vadot			     "mediatek,mtk-xhci";
861f126890aSEmmanuel Vadot		reg = <0 0x1a1c0000 0 0x1000>,
862f126890aSEmmanuel Vadot		      <0 0x1a1c4700 0 0x0100>;
863f126890aSEmmanuel Vadot		reg-names = "mac", "ippc";
864f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
865f126890aSEmmanuel Vadot		clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
866f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
867f126890aSEmmanuel Vadot		clock-names = "sys_ck", "ref_ck";
868f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
869f126890aSEmmanuel Vadot		phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
870f126890aSEmmanuel Vadot		status = "disabled";
871f126890aSEmmanuel Vadot	};
872f126890aSEmmanuel Vadot
873f126890aSEmmanuel Vadot	u3phy1: t-phy@1a1c4000 {
874f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-tphy",
875f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
876f126890aSEmmanuel Vadot		reg = <0 0x1a1c4000 0 0x0700>;
877f126890aSEmmanuel Vadot		#address-cells = <2>;
878f126890aSEmmanuel Vadot		#size-cells = <2>;
879f126890aSEmmanuel Vadot		ranges;
880f126890aSEmmanuel Vadot		status = "disabled";
881f126890aSEmmanuel Vadot
882f126890aSEmmanuel Vadot		u2port0: usb-phy@1a1c4800 {
883f126890aSEmmanuel Vadot			reg = <0 0x1a1c4800 0 0x0100>;
884f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
885f126890aSEmmanuel Vadot			clock-names = "ref";
886f126890aSEmmanuel Vadot			#phy-cells = <1>;
887f126890aSEmmanuel Vadot			status = "okay";
888f126890aSEmmanuel Vadot		};
889f126890aSEmmanuel Vadot
890f126890aSEmmanuel Vadot		u3port0: usb-phy@1a1c4900 {
891f126890aSEmmanuel Vadot			reg = <0 0x1a1c4900 0 0x0700>;
892f126890aSEmmanuel Vadot			clocks = <&clk26m>;
893f126890aSEmmanuel Vadot			clock-names = "ref";
894f126890aSEmmanuel Vadot			#phy-cells = <1>;
895f126890aSEmmanuel Vadot			status = "okay";
896f126890aSEmmanuel Vadot		};
897f126890aSEmmanuel Vadot	};
898f126890aSEmmanuel Vadot
899f126890aSEmmanuel Vadot	usb2: usb@1a240000 {
900f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-xhci",
901f126890aSEmmanuel Vadot			     "mediatek,mtk-xhci";
902f126890aSEmmanuel Vadot		reg = <0 0x1a240000 0 0x1000>,
903f126890aSEmmanuel Vadot		      <0 0x1a244700 0 0x0100>;
904f126890aSEmmanuel Vadot		reg-names = "mac", "ippc";
905f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
906f126890aSEmmanuel Vadot		clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
907f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
908f126890aSEmmanuel Vadot		clock-names = "sys_ck", "ref_ck";
909f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
910f126890aSEmmanuel Vadot		phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>;
911f126890aSEmmanuel Vadot		status = "disabled";
912f126890aSEmmanuel Vadot	};
913f126890aSEmmanuel Vadot
914f126890aSEmmanuel Vadot	u3phy2: t-phy@1a244000 {
915f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-tphy",
916f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
917f126890aSEmmanuel Vadot		reg = <0 0x1a244000 0 0x0700>;
918f126890aSEmmanuel Vadot		#address-cells = <2>;
919f126890aSEmmanuel Vadot		#size-cells = <2>;
920f126890aSEmmanuel Vadot		ranges;
921f126890aSEmmanuel Vadot		status = "disabled";
922f126890aSEmmanuel Vadot
923f126890aSEmmanuel Vadot		u2port1: usb-phy@1a244800 {
924f126890aSEmmanuel Vadot			reg = <0 0x1a244800 0 0x0100>;
925f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
926f126890aSEmmanuel Vadot			clock-names = "ref";
927f126890aSEmmanuel Vadot			#phy-cells = <1>;
928f126890aSEmmanuel Vadot			status = "okay";
929f126890aSEmmanuel Vadot		};
930f126890aSEmmanuel Vadot
931f126890aSEmmanuel Vadot		u3port1: usb-phy@1a244900 {
932f126890aSEmmanuel Vadot			reg = <0 0x1a244900 0 0x0700>;
933f126890aSEmmanuel Vadot			clocks = <&clk26m>;
934f126890aSEmmanuel Vadot			clock-names = "ref";
935f126890aSEmmanuel Vadot			#phy-cells = <1>;
936f126890aSEmmanuel Vadot			status = "okay";
937f126890aSEmmanuel Vadot		};
938f126890aSEmmanuel Vadot	};
939f126890aSEmmanuel Vadot
940f126890aSEmmanuel Vadot	ethsys: syscon@1b000000 {
941f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-ethsys",
942f126890aSEmmanuel Vadot			     "mediatek,mt2701-ethsys",
943f126890aSEmmanuel Vadot			     "syscon";
944f126890aSEmmanuel Vadot		reg = <0 0x1b000000 0 0x1000>;
945f126890aSEmmanuel Vadot		#clock-cells = <1>;
946f126890aSEmmanuel Vadot		#reset-cells = <1>;
947f126890aSEmmanuel Vadot	};
948f126890aSEmmanuel Vadot
949f126890aSEmmanuel Vadot	hsdma: dma-controller@1b007000 {
950f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-hsdma";
951f126890aSEmmanuel Vadot		reg = <0 0x1b007000 0 0x1000>;
952f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>;
953f126890aSEmmanuel Vadot		clocks = <&ethsys CLK_ETHSYS_HSDMA>;
954f126890aSEmmanuel Vadot		clock-names = "hsdma";
955f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
956f126890aSEmmanuel Vadot		#dma-cells = <1>;
957f126890aSEmmanuel Vadot	};
958f126890aSEmmanuel Vadot
959f126890aSEmmanuel Vadot	eth: ethernet@1b100000 {
960f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-eth",
961f126890aSEmmanuel Vadot			     "mediatek,mt2701-eth",
962f126890aSEmmanuel Vadot			     "syscon";
963f126890aSEmmanuel Vadot		reg = <0 0x1b100000 0 0x20000>;
964f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>,
965f126890aSEmmanuel Vadot			     <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>,
966f126890aSEmmanuel Vadot			     <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
967f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
968f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_ESW>,
969f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_GP1>,
970f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_GP2>,
971f126890aSEmmanuel Vadot			 <&apmixedsys CLK_APMIXED_TRGPLL>;
972f126890aSEmmanuel Vadot		clock-names = "ethif", "esw", "gp1", "gp2", "trgpll";
973f126890aSEmmanuel Vadot		resets = <&ethsys MT2701_ETHSYS_FE_RST>,
974f126890aSEmmanuel Vadot			 <&ethsys MT2701_ETHSYS_GMAC_RST>,
975f126890aSEmmanuel Vadot			 <&ethsys MT2701_ETHSYS_PPE_RST>;
976f126890aSEmmanuel Vadot		reset-names = "fe", "gmac", "ppe";
977f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
978f126890aSEmmanuel Vadot		mediatek,ethsys = <&ethsys>;
979f126890aSEmmanuel Vadot		mediatek,pctl = <&syscfg_pctl_a>;
980f126890aSEmmanuel Vadot		#address-cells = <1>;
981f126890aSEmmanuel Vadot		#size-cells = <0>;
982f126890aSEmmanuel Vadot		status = "disabled";
983f126890aSEmmanuel Vadot
984f126890aSEmmanuel Vadot		gmac0: mac@0 {
985f126890aSEmmanuel Vadot			compatible = "mediatek,eth-mac";
986f126890aSEmmanuel Vadot			reg = <0>;
987f126890aSEmmanuel Vadot			status = "disabled";
988f126890aSEmmanuel Vadot		};
989f126890aSEmmanuel Vadot
990f126890aSEmmanuel Vadot		gmac1: mac@1 {
991f126890aSEmmanuel Vadot			compatible = "mediatek,eth-mac";
992f126890aSEmmanuel Vadot			reg = <1>;
993f126890aSEmmanuel Vadot			status = "disabled";
994f126890aSEmmanuel Vadot		};
995f126890aSEmmanuel Vadot	};
996f126890aSEmmanuel Vadot
997f126890aSEmmanuel Vadot	crypto: crypto@1b240000 {
998f126890aSEmmanuel Vadot		compatible = "mediatek,eip97-crypto";
999f126890aSEmmanuel Vadot		reg = <0 0x1b240000 0 0x20000>;
1000f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>,
1001f126890aSEmmanuel Vadot			     <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>,
1002f126890aSEmmanuel Vadot			     <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>,
1003f126890aSEmmanuel Vadot			     <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>,
1004f126890aSEmmanuel Vadot			     <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
1005f126890aSEmmanuel Vadot		clocks = <&ethsys CLK_ETHSYS_CRYPTO>;
1006f126890aSEmmanuel Vadot		clock-names = "cryp";
1007f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
1008f126890aSEmmanuel Vadot		status = "disabled";
1009f126890aSEmmanuel Vadot	};
1010f126890aSEmmanuel Vadot
1011f126890aSEmmanuel Vadot	bdpsys: syscon@1c000000 {
1012f126890aSEmmanuel Vadot		compatible = "mediatek,mt7623-bdpsys",
1013f126890aSEmmanuel Vadot			     "mediatek,mt2701-bdpsys",
1014f126890aSEmmanuel Vadot			     "syscon";
1015f126890aSEmmanuel Vadot		reg = <0 0x1c000000 0 0x1000>;
1016f126890aSEmmanuel Vadot		#clock-cells = <1>;
1017f126890aSEmmanuel Vadot	};
1018f126890aSEmmanuel Vadot};
1019f126890aSEmmanuel Vadot
1020f126890aSEmmanuel Vadot&pio {
1021f126890aSEmmanuel Vadot	cir_pins_a:cir-default {
1022f126890aSEmmanuel Vadot		pins-cir {
1023f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_46_IR_FUNC_IR>;
1024f126890aSEmmanuel Vadot			bias-disable;
1025f126890aSEmmanuel Vadot		};
1026f126890aSEmmanuel Vadot	};
1027f126890aSEmmanuel Vadot
1028f126890aSEmmanuel Vadot	i2c0_pins_a: i2c0-default {
1029f126890aSEmmanuel Vadot		pins-i2c0 {
1030f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>,
1031f126890aSEmmanuel Vadot				 <MT7623_PIN_76_SCL0_FUNC_SCL0>;
1032f126890aSEmmanuel Vadot			bias-disable;
1033f126890aSEmmanuel Vadot		};
1034f126890aSEmmanuel Vadot	};
1035f126890aSEmmanuel Vadot
1036f126890aSEmmanuel Vadot	i2c1_pins_a: i2c1-default {
1037f126890aSEmmanuel Vadot		pin-i2c1 {
1038f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>,
1039f126890aSEmmanuel Vadot				 <MT7623_PIN_58_SCL1_FUNC_SCL1>;
1040f126890aSEmmanuel Vadot			bias-disable;
1041f126890aSEmmanuel Vadot		};
1042f126890aSEmmanuel Vadot	};
1043f126890aSEmmanuel Vadot
1044f126890aSEmmanuel Vadot	i2c1_pins_b: i2c1-alt {
1045f126890aSEmmanuel Vadot		pin-i2c1 {
1046f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_242_URTS2_FUNC_SCL1>,
1047f126890aSEmmanuel Vadot				 <MT7623_PIN_243_UCTS2_FUNC_SDA1>;
1048f126890aSEmmanuel Vadot			bias-disable;
1049f126890aSEmmanuel Vadot		};
1050f126890aSEmmanuel Vadot	};
1051f126890aSEmmanuel Vadot
1052f126890aSEmmanuel Vadot	i2c2_pins_a: i2c2-default {
1053f126890aSEmmanuel Vadot		pin-i2c2 {
1054f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_77_SDA2_FUNC_SDA2>,
1055f126890aSEmmanuel Vadot				 <MT7623_PIN_78_SCL2_FUNC_SCL2>;
1056f126890aSEmmanuel Vadot			bias-disable;
1057f126890aSEmmanuel Vadot		};
1058f126890aSEmmanuel Vadot	};
1059f126890aSEmmanuel Vadot
1060f126890aSEmmanuel Vadot	i2c2_pins_b: i2c2-alt {
1061f126890aSEmmanuel Vadot		pin-i2c2 {
1062f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_122_GPIO122_FUNC_SDA2>,
1063f126890aSEmmanuel Vadot				 <MT7623_PIN_123_HTPLG_FUNC_SCL2>;
1064f126890aSEmmanuel Vadot			bias-disable;
1065f126890aSEmmanuel Vadot		};
1066f126890aSEmmanuel Vadot	};
1067f126890aSEmmanuel Vadot
1068f126890aSEmmanuel Vadot	i2s0_pins_a: i2s0-default {
1069f126890aSEmmanuel Vadot		pin-i2s0 {
1070f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
1071f126890aSEmmanuel Vadot				 <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>,
1072f126890aSEmmanuel Vadot				 <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>,
1073f126890aSEmmanuel Vadot				 <MT7623_PIN_74_I2S0_BCK_FUNC_I2S0_BCK>,
1074f126890aSEmmanuel Vadot				 <MT7623_PIN_126_I2S0_MCLK_FUNC_I2S0_MCLK>;
1075f126890aSEmmanuel Vadot			drive-strength = <MTK_DRIVE_12mA>;
1076f126890aSEmmanuel Vadot			bias-pull-down;
1077f126890aSEmmanuel Vadot		};
1078f126890aSEmmanuel Vadot	};
1079f126890aSEmmanuel Vadot
1080f126890aSEmmanuel Vadot	i2s1_pins_a: i2s1-default {
1081f126890aSEmmanuel Vadot		pin-i2s1 {
1082f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>,
1083f126890aSEmmanuel Vadot				 <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>,
1084f126890aSEmmanuel Vadot				 <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>,
1085f126890aSEmmanuel Vadot				 <MT7623_PIN_36_I2S1_LRCK_FUNC_I2S1_LRCK>,
1086f126890aSEmmanuel Vadot				 <MT7623_PIN_37_I2S1_MCLK_FUNC_I2S1_MCLK>;
1087f126890aSEmmanuel Vadot			drive-strength = <MTK_DRIVE_12mA>;
1088f126890aSEmmanuel Vadot			bias-pull-down;
1089f126890aSEmmanuel Vadot		};
1090f126890aSEmmanuel Vadot	};
1091f126890aSEmmanuel Vadot
1092f126890aSEmmanuel Vadot	key_pins_a: keys-alt {
1093f126890aSEmmanuel Vadot		pins-keys {
1094f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
1095f126890aSEmmanuel Vadot				 <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ;
1096f126890aSEmmanuel Vadot			input-enable;
1097f126890aSEmmanuel Vadot		};
1098f126890aSEmmanuel Vadot	};
1099f126890aSEmmanuel Vadot
1100f126890aSEmmanuel Vadot	led_pins_a: leds-alt {
1101f126890aSEmmanuel Vadot		pins-leds {
1102f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>,
1103f126890aSEmmanuel Vadot				 <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>,
1104f126890aSEmmanuel Vadot				 <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>;
1105f126890aSEmmanuel Vadot		};
1106f126890aSEmmanuel Vadot	};
1107f126890aSEmmanuel Vadot
1108f126890aSEmmanuel Vadot	mmc0_pins_default: mmc0default {
1109f126890aSEmmanuel Vadot		pins-cmd-dat {
1110f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
1111f126890aSEmmanuel Vadot				 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
1112f126890aSEmmanuel Vadot				 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
1113f126890aSEmmanuel Vadot				 <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
1114f126890aSEmmanuel Vadot				 <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
1115f126890aSEmmanuel Vadot				 <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
1116f126890aSEmmanuel Vadot				 <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
1117f126890aSEmmanuel Vadot				 <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
1118f126890aSEmmanuel Vadot				 <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
1119f126890aSEmmanuel Vadot			input-enable;
1120f126890aSEmmanuel Vadot			bias-pull-up;
1121f126890aSEmmanuel Vadot		};
1122f126890aSEmmanuel Vadot
1123f126890aSEmmanuel Vadot		pins-clk {
1124f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
1125f126890aSEmmanuel Vadot			bias-pull-down;
1126f126890aSEmmanuel Vadot		};
1127f126890aSEmmanuel Vadot
1128f126890aSEmmanuel Vadot		pins-rst {
1129f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
1130f126890aSEmmanuel Vadot			bias-pull-up;
1131f126890aSEmmanuel Vadot		};
1132f126890aSEmmanuel Vadot	};
1133f126890aSEmmanuel Vadot
1134f126890aSEmmanuel Vadot	mmc0_pins_uhs: mmc0 {
1135f126890aSEmmanuel Vadot		pins-cmd-dat {
1136f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
1137f126890aSEmmanuel Vadot				 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
1138f126890aSEmmanuel Vadot				 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
1139f126890aSEmmanuel Vadot				 <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
1140f126890aSEmmanuel Vadot				 <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
1141f126890aSEmmanuel Vadot				 <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
1142f126890aSEmmanuel Vadot				 <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
1143f126890aSEmmanuel Vadot				 <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
1144f126890aSEmmanuel Vadot				 <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
1145f126890aSEmmanuel Vadot			input-enable;
1146*0e8011faSEmmanuel Vadot			drive-strength = <2>;
1147f126890aSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
1148f126890aSEmmanuel Vadot		};
1149f126890aSEmmanuel Vadot
1150f126890aSEmmanuel Vadot		pins-clk {
1151f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
1152*0e8011faSEmmanuel Vadot			drive-strength = <2>;
1153f126890aSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
1154f126890aSEmmanuel Vadot		};
1155f126890aSEmmanuel Vadot
1156f126890aSEmmanuel Vadot		pins-rst {
1157f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
1158f126890aSEmmanuel Vadot			bias-pull-up;
1159f126890aSEmmanuel Vadot		};
1160f126890aSEmmanuel Vadot	};
1161f126890aSEmmanuel Vadot
1162f126890aSEmmanuel Vadot	mmc1_pins_default: mmc1default {
1163f126890aSEmmanuel Vadot		pins-cmd-dat {
1164f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
1165f126890aSEmmanuel Vadot				 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
1166f126890aSEmmanuel Vadot				 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
1167f126890aSEmmanuel Vadot				 <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
1168f126890aSEmmanuel Vadot				 <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
1169f126890aSEmmanuel Vadot			input-enable;
1170*0e8011faSEmmanuel Vadot			drive-strength = <4>;
1171f126890aSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
1172f126890aSEmmanuel Vadot		};
1173f126890aSEmmanuel Vadot
1174f126890aSEmmanuel Vadot		pins-clk {
1175f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
1176f126890aSEmmanuel Vadot			bias-pull-down;
1177*0e8011faSEmmanuel Vadot			drive-strength = <4>;
1178f126890aSEmmanuel Vadot		};
1179f126890aSEmmanuel Vadot
1180f126890aSEmmanuel Vadot		pins-wp {
1181f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>;
1182f126890aSEmmanuel Vadot			input-enable;
1183f126890aSEmmanuel Vadot			bias-pull-up;
1184f126890aSEmmanuel Vadot		};
1185f126890aSEmmanuel Vadot
1186f126890aSEmmanuel Vadot		pins-insert {
1187f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>;
1188f126890aSEmmanuel Vadot			bias-pull-up;
1189f126890aSEmmanuel Vadot		};
1190f126890aSEmmanuel Vadot	};
1191f126890aSEmmanuel Vadot
1192f126890aSEmmanuel Vadot	mmc1_pins_uhs: mmc1 {
1193f126890aSEmmanuel Vadot		pins-cmd-dat {
1194f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
1195f126890aSEmmanuel Vadot				 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
1196f126890aSEmmanuel Vadot				 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
1197f126890aSEmmanuel Vadot				 <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
1198f126890aSEmmanuel Vadot				 <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
1199f126890aSEmmanuel Vadot			input-enable;
1200*0e8011faSEmmanuel Vadot			drive-strength = <4>;
1201f126890aSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
1202f126890aSEmmanuel Vadot		};
1203f126890aSEmmanuel Vadot
1204f126890aSEmmanuel Vadot		pins-clk {
1205f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
1206*0e8011faSEmmanuel Vadot			drive-strength = <4>;
1207f126890aSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
1208f126890aSEmmanuel Vadot		};
1209f126890aSEmmanuel Vadot	};
1210f126890aSEmmanuel Vadot
1211f126890aSEmmanuel Vadot	nand_pins_default: nanddefault {
1212f126890aSEmmanuel Vadot		pins-ale {
1213f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>;
1214*0e8011faSEmmanuel Vadot			drive-strength = <8>;
1215f126890aSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
1216f126890aSEmmanuel Vadot		};
1217f126890aSEmmanuel Vadot
1218f126890aSEmmanuel Vadot		pins-dat {
1219f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>,
1220f126890aSEmmanuel Vadot				 <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>,
1221f126890aSEmmanuel Vadot				 <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>,
1222f126890aSEmmanuel Vadot				 <MT7623_PIN_118_MSDC0_DAT3_FUNC_NLD3>,
1223f126890aSEmmanuel Vadot				 <MT7623_PIN_121_MSDC0_DAT0_FUNC_NLD0>,
1224f126890aSEmmanuel Vadot				 <MT7623_PIN_120_MSDC0_DAT1_FUNC_NLD1>,
1225f126890aSEmmanuel Vadot				 <MT7623_PIN_113_MSDC0_DAT5_FUNC_NLD5>,
1226f126890aSEmmanuel Vadot				 <MT7623_PIN_115_MSDC0_RSTB_FUNC_NLD8>,
1227f126890aSEmmanuel Vadot				 <MT7623_PIN_119_MSDC0_DAT2_FUNC_NLD2>;
1228f126890aSEmmanuel Vadot			input-enable;
1229*0e8011faSEmmanuel Vadot			drive-strength = <8>;
1230f126890aSEmmanuel Vadot			bias-pull-up;
1231f126890aSEmmanuel Vadot		};
1232f126890aSEmmanuel Vadot
1233f126890aSEmmanuel Vadot		pins-we {
1234f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>;
1235*0e8011faSEmmanuel Vadot			drive-strength = <8>;
1236f126890aSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
1237f126890aSEmmanuel Vadot		};
1238f126890aSEmmanuel Vadot	};
1239f126890aSEmmanuel Vadot
1240f126890aSEmmanuel Vadot	pcie_default: pcie_pin_default {
1241f126890aSEmmanuel Vadot		pins_cmd_dat {
1242f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
1243f126890aSEmmanuel Vadot				 <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
1244f126890aSEmmanuel Vadot			bias-disable;
1245f126890aSEmmanuel Vadot		};
1246f126890aSEmmanuel Vadot	};
1247f126890aSEmmanuel Vadot
1248f126890aSEmmanuel Vadot	pwm_pins_a: pwm-default {
1249f126890aSEmmanuel Vadot		pins-pwm {
1250f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>,
1251f126890aSEmmanuel Vadot				 <MT7623_PIN_204_PWM1_FUNC_PWM1>,
1252f126890aSEmmanuel Vadot				 <MT7623_PIN_205_PWM2_FUNC_PWM2>,
1253f126890aSEmmanuel Vadot				 <MT7623_PIN_206_PWM3_FUNC_PWM3>,
1254f126890aSEmmanuel Vadot				 <MT7623_PIN_207_PWM4_FUNC_PWM4>;
1255f126890aSEmmanuel Vadot		};
1256f126890aSEmmanuel Vadot	};
1257f126890aSEmmanuel Vadot
1258f126890aSEmmanuel Vadot	spi0_pins_a: spi0-default {
1259f126890aSEmmanuel Vadot		pins-spi {
1260f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>,
1261f126890aSEmmanuel Vadot				<MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>,
1262f126890aSEmmanuel Vadot				<MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>,
1263f126890aSEmmanuel Vadot				<MT7623_PIN_56_SPI0_MO_FUNC_SPI0_MO>;
1264f126890aSEmmanuel Vadot			bias-disable;
1265f126890aSEmmanuel Vadot		};
1266f126890aSEmmanuel Vadot	};
1267f126890aSEmmanuel Vadot
1268f126890aSEmmanuel Vadot	spi1_pins_a: spi1-default {
1269f126890aSEmmanuel Vadot		pins-spi {
1270f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_7_SPI1_CSN_FUNC_SPI1_CS>,
1271f126890aSEmmanuel Vadot				<MT7623_PIN_199_SPI1_CK_FUNC_SPI1_CK>,
1272f126890aSEmmanuel Vadot				<MT7623_PIN_8_SPI1_MI_FUNC_SPI1_MI>,
1273f126890aSEmmanuel Vadot				<MT7623_PIN_9_SPI1_MO_FUNC_SPI1_MO>;
1274f126890aSEmmanuel Vadot		};
1275f126890aSEmmanuel Vadot	};
1276f126890aSEmmanuel Vadot
1277f126890aSEmmanuel Vadot	spi2_pins_a: spi2-default {
1278f126890aSEmmanuel Vadot		pins-spi {
1279f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_101_SPI2_CSN_FUNC_SPI2_CS>,
1280f126890aSEmmanuel Vadot				 <MT7623_PIN_104_SPI2_CK_FUNC_SPI2_CK>,
1281f126890aSEmmanuel Vadot				 <MT7623_PIN_102_SPI2_MI_FUNC_SPI2_MI>,
1282f126890aSEmmanuel Vadot				 <MT7623_PIN_103_SPI2_MO_FUNC_SPI2_MO>;
1283f126890aSEmmanuel Vadot		};
1284f126890aSEmmanuel Vadot	};
1285f126890aSEmmanuel Vadot
1286f126890aSEmmanuel Vadot	uart0_pins_a: uart0-default {
1287f126890aSEmmanuel Vadot		pins-dat {
1288f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>,
1289f126890aSEmmanuel Vadot				 <MT7623_PIN_80_UTXD0_FUNC_UTXD0>;
1290f126890aSEmmanuel Vadot		};
1291f126890aSEmmanuel Vadot	};
1292f126890aSEmmanuel Vadot
1293f126890aSEmmanuel Vadot	uart1_pins_a: uart1-default {
1294f126890aSEmmanuel Vadot		pins-dat {
1295f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
1296f126890aSEmmanuel Vadot				 <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
1297f126890aSEmmanuel Vadot		};
1298f126890aSEmmanuel Vadot	};
1299f126890aSEmmanuel Vadot
1300f126890aSEmmanuel Vadot	uart2_pins_a: uart2-default {
1301f126890aSEmmanuel Vadot		pins-dat {
1302f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_14_GPIO14_FUNC_URXD2>,
1303f126890aSEmmanuel Vadot				 <MT7623_PIN_15_GPIO15_FUNC_UTXD2>;
1304f126890aSEmmanuel Vadot		};
1305f126890aSEmmanuel Vadot	};
1306f126890aSEmmanuel Vadot
1307f126890aSEmmanuel Vadot	uart2_pins_b: uart2-alt {
1308f126890aSEmmanuel Vadot		pins-dat {
1309f126890aSEmmanuel Vadot			pinmux = <MT7623_PIN_200_URXD2_FUNC_URXD2>,
1310f126890aSEmmanuel Vadot				 <MT7623_PIN_201_UTXD2_FUNC_UTXD2>;
1311f126890aSEmmanuel Vadot		};
1312f126890aSEmmanuel Vadot	};
1313f126890aSEmmanuel Vadot};
1314