xref: /linux/scripts/dtc/include-prefixes/arm64/mediatek/mt8395-radxa-nio-12l.dts (revision 96564b1e2ea4d294f678833e71033ca849138b92)
1*96564b1eSAngeloGioacchino Del Regno// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*96564b1eSAngeloGioacchino Del Regno/*
3*96564b1eSAngeloGioacchino Del Regno * Copyright (C) 2023 Radxa Limited
4*96564b1eSAngeloGioacchino Del Regno * Copyright (C) 2024 Collabora Ltd.
5*96564b1eSAngeloGioacchino Del Regno *                    AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
6*96564b1eSAngeloGioacchino Del Regno */
7*96564b1eSAngeloGioacchino Del Regno
8*96564b1eSAngeloGioacchino Del Regno#include "mt8195.dtsi"
9*96564b1eSAngeloGioacchino Del Regno#include "mt6359.dtsi"
10*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/gpio/gpio.h>
11*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/interrupt-controller/irq.h>
12*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
13*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
14*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/spmi/spmi.h>
15*96564b1eSAngeloGioacchino Del Regno#include <dt-bindings/usb/pd.h>
16*96564b1eSAngeloGioacchino Del Regno
17*96564b1eSAngeloGioacchino Del Regno/ {
18*96564b1eSAngeloGioacchino Del Regno	model = "Radxa NIO 12L";
19*96564b1eSAngeloGioacchino Del Regno	chassis-type = "embedded";
20*96564b1eSAngeloGioacchino Del Regno	compatible = "radxa,nio-12l", "mediatek,mt8395", "mediatek,mt8195";
21*96564b1eSAngeloGioacchino Del Regno
22*96564b1eSAngeloGioacchino Del Regno	aliases {
23*96564b1eSAngeloGioacchino Del Regno		i2c0 = &i2c2;
24*96564b1eSAngeloGioacchino Del Regno		i2c1 = &i2c3;
25*96564b1eSAngeloGioacchino Del Regno		i2c2 = &i2c4;
26*96564b1eSAngeloGioacchino Del Regno		i2c3 = &i2c0;
27*96564b1eSAngeloGioacchino Del Regno		i2c4 = &i2c1;
28*96564b1eSAngeloGioacchino Del Regno		ethernet0 = &eth;
29*96564b1eSAngeloGioacchino Del Regno		serial0 = &uart0;
30*96564b1eSAngeloGioacchino Del Regno		serial1 = &uart1;
31*96564b1eSAngeloGioacchino Del Regno		spi0 = &spi1;
32*96564b1eSAngeloGioacchino Del Regno		spi1 = &spi2;
33*96564b1eSAngeloGioacchino Del Regno	};
34*96564b1eSAngeloGioacchino Del Regno
35*96564b1eSAngeloGioacchino Del Regno	chosen {
36*96564b1eSAngeloGioacchino Del Regno		stdout-path = "serial0:921600n8";
37*96564b1eSAngeloGioacchino Del Regno	};
38*96564b1eSAngeloGioacchino Del Regno
39*96564b1eSAngeloGioacchino Del Regno	firmware {
40*96564b1eSAngeloGioacchino Del Regno		optee {
41*96564b1eSAngeloGioacchino Del Regno			compatible = "linaro,optee-tz";
42*96564b1eSAngeloGioacchino Del Regno			method = "smc";
43*96564b1eSAngeloGioacchino Del Regno		};
44*96564b1eSAngeloGioacchino Del Regno	};
45*96564b1eSAngeloGioacchino Del Regno
46*96564b1eSAngeloGioacchino Del Regno	memory@40000000 {
47*96564b1eSAngeloGioacchino Del Regno		device_type = "memory";
48*96564b1eSAngeloGioacchino Del Regno		reg = <0 0x40000000 0x1 0x0>;
49*96564b1eSAngeloGioacchino Del Regno	};
50*96564b1eSAngeloGioacchino Del Regno
51*96564b1eSAngeloGioacchino Del Regno	wifi_vreg: regulator-wifi-3v3-en {
52*96564b1eSAngeloGioacchino Del Regno		compatible = "regulator-fixed";
53*96564b1eSAngeloGioacchino Del Regno		regulator-name = "wifi_3v3_en";
54*96564b1eSAngeloGioacchino Del Regno		regulator-always-on;
55*96564b1eSAngeloGioacchino Del Regno		regulator-min-microvolt = <3300000>;
56*96564b1eSAngeloGioacchino Del Regno		regulator-max-microvolt = <3300000>;
57*96564b1eSAngeloGioacchino Del Regno		enable-active-high;
58*96564b1eSAngeloGioacchino Del Regno		gpio = <&pio 67 GPIO_ACTIVE_HIGH>;
59*96564b1eSAngeloGioacchino Del Regno		pinctrl-names = "default";
60*96564b1eSAngeloGioacchino Del Regno		pinctrl-0 = <&wifi_vreg_pins>;
61*96564b1eSAngeloGioacchino Del Regno		vin-supply = <&vsys>;
62*96564b1eSAngeloGioacchino Del Regno	};
63*96564b1eSAngeloGioacchino Del Regno
64*96564b1eSAngeloGioacchino Del Regno	/* system wide switching 5.0V power rail */
65*96564b1eSAngeloGioacchino Del Regno	vsys: regulator-vsys {
66*96564b1eSAngeloGioacchino Del Regno		compatible = "regulator-fixed";
67*96564b1eSAngeloGioacchino Del Regno		regulator-name = "vsys";
68*96564b1eSAngeloGioacchino Del Regno		regulator-always-on;
69*96564b1eSAngeloGioacchino Del Regno		regulator-boot-on;
70*96564b1eSAngeloGioacchino Del Regno		regulator-min-microvolt = <5000000>;
71*96564b1eSAngeloGioacchino Del Regno		regulator-max-microvolt = <5000000>;
72*96564b1eSAngeloGioacchino Del Regno		vin-supply = <&vcc5v0_vsys>;
73*96564b1eSAngeloGioacchino Del Regno	};
74*96564b1eSAngeloGioacchino Del Regno
75*96564b1eSAngeloGioacchino Del Regno	vsys_buck: regulator-vsys-buck {
76*96564b1eSAngeloGioacchino Del Regno		compatible = "regulator-fixed";
77*96564b1eSAngeloGioacchino Del Regno		regulator-name = "vsys_buck";
78*96564b1eSAngeloGioacchino Del Regno		regulator-always-on;
79*96564b1eSAngeloGioacchino Del Regno		regulator-boot-on;
80*96564b1eSAngeloGioacchino Del Regno		regulator-min-microvolt = <5000000>;
81*96564b1eSAngeloGioacchino Del Regno		regulator-max-microvolt = <5000000>;
82*96564b1eSAngeloGioacchino Del Regno		vin-supply = <&vcc5v0_vsys>;
83*96564b1eSAngeloGioacchino Del Regno	};
84*96564b1eSAngeloGioacchino Del Regno
85*96564b1eSAngeloGioacchino Del Regno	/* Rail from power-only "TYPE C DC" port */
86*96564b1eSAngeloGioacchino Del Regno	vcc5v0_vsys: regulator-vcc5v0-sys {
87*96564b1eSAngeloGioacchino Del Regno		compatible = "regulator-fixed";
88*96564b1eSAngeloGioacchino Del Regno		regulator-name = "vcc5v0_sys";
89*96564b1eSAngeloGioacchino Del Regno		regulator-always-on;
90*96564b1eSAngeloGioacchino Del Regno		regulator-boot-on;
91*96564b1eSAngeloGioacchino Del Regno	};
92*96564b1eSAngeloGioacchino Del Regno
93*96564b1eSAngeloGioacchino Del Regno	reserved-memory {
94*96564b1eSAngeloGioacchino Del Regno		#address-cells = <2>;
95*96564b1eSAngeloGioacchino Del Regno		#size-cells = <2>;
96*96564b1eSAngeloGioacchino Del Regno		ranges;
97*96564b1eSAngeloGioacchino Del Regno
98*96564b1eSAngeloGioacchino Del Regno		/*
99*96564b1eSAngeloGioacchino Del Regno		 * 12 MiB reserved for OP-TEE (BL32)
100*96564b1eSAngeloGioacchino Del Regno		 * +-----------------------+ 0x43e0_0000
101*96564b1eSAngeloGioacchino Del Regno		 * |      SHMEM 2MiB       |
102*96564b1eSAngeloGioacchino Del Regno		 * +-----------------------+ 0x43c0_0000
103*96564b1eSAngeloGioacchino Del Regno		 * |        | TA_RAM  8MiB |
104*96564b1eSAngeloGioacchino Del Regno		 * + TZDRAM +--------------+ 0x4340_0000
105*96564b1eSAngeloGioacchino Del Regno		 * |        | TEE_RAM 2MiB |
106*96564b1eSAngeloGioacchino Del Regno		 * +-----------------------+ 0x4320_0000
107*96564b1eSAngeloGioacchino Del Regno		 */
108*96564b1eSAngeloGioacchino Del Regno		optee_reserved: optee@43200000 {
109*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x43200000 0 0xc00000>;
110*96564b1eSAngeloGioacchino Del Regno			no-map;
111*96564b1eSAngeloGioacchino Del Regno		};
112*96564b1eSAngeloGioacchino Del Regno
113*96564b1eSAngeloGioacchino Del Regno		scp_mem: memory@50000000 {
114*96564b1eSAngeloGioacchino Del Regno			compatible = "shared-dma-pool";
115*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x50000000 0 0x2900000>;
116*96564b1eSAngeloGioacchino Del Regno			no-map;
117*96564b1eSAngeloGioacchino Del Regno		};
118*96564b1eSAngeloGioacchino Del Regno
119*96564b1eSAngeloGioacchino Del Regno		vpu_mem: memory@53000000 {
120*96564b1eSAngeloGioacchino Del Regno			compatible = "shared-dma-pool";
121*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
122*96564b1eSAngeloGioacchino Del Regno		};
123*96564b1eSAngeloGioacchino Del Regno
124*96564b1eSAngeloGioacchino Del Regno		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
125*96564b1eSAngeloGioacchino Del Regno		bl31_secmon_mem: memory@54600000 {
126*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x54600000 0x0 0x200000>;
127*96564b1eSAngeloGioacchino Del Regno			no-map;
128*96564b1eSAngeloGioacchino Del Regno		};
129*96564b1eSAngeloGioacchino Del Regno
130*96564b1eSAngeloGioacchino Del Regno		afe_mem: memory@60000000 {
131*96564b1eSAngeloGioacchino Del Regno			compatible = "shared-dma-pool";
132*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x60000000 0 0x1100000>;
133*96564b1eSAngeloGioacchino Del Regno			no-map;
134*96564b1eSAngeloGioacchino Del Regno		};
135*96564b1eSAngeloGioacchino Del Regno
136*96564b1eSAngeloGioacchino Del Regno		apu_mem: memory@62000000 {
137*96564b1eSAngeloGioacchino Del Regno			compatible = "shared-dma-pool";
138*96564b1eSAngeloGioacchino Del Regno			reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
139*96564b1eSAngeloGioacchino Del Regno		};
140*96564b1eSAngeloGioacchino Del Regno	};
141*96564b1eSAngeloGioacchino Del Regno};
142*96564b1eSAngeloGioacchino Del Regno
143*96564b1eSAngeloGioacchino Del Regno&eth {
144*96564b1eSAngeloGioacchino Del Regno	phy-mode = "rgmii-rxid";
145*96564b1eSAngeloGioacchino Del Regno	phy-handle = <&rgmii_phy>;
146*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default", "sleep";
147*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&eth_default_pins>;
148*96564b1eSAngeloGioacchino Del Regno	pinctrl-1 = <&eth_sleep_pins>;
149*96564b1eSAngeloGioacchino Del Regno	mediatek,tx-delay-ps = <2030>;
150*96564b1eSAngeloGioacchino Del Regno	mediatek,mac-wol;
151*96564b1eSAngeloGioacchino Del Regno	snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
152*96564b1eSAngeloGioacchino Del Regno	snps,reset-delays-us = <0 20000 100000>;
153*96564b1eSAngeloGioacchino Del Regno	status = "okay";
154*96564b1eSAngeloGioacchino Del Regno
155*96564b1eSAngeloGioacchino Del Regno	mdio {
156*96564b1eSAngeloGioacchino Del Regno		rgmii_phy: ethernet-phy@1 {
157*96564b1eSAngeloGioacchino Del Regno			compatible = "ethernet-phy-id001c.c916";
158*96564b1eSAngeloGioacchino Del Regno			reg = <0x1>;
159*96564b1eSAngeloGioacchino Del Regno		};
160*96564b1eSAngeloGioacchino Del Regno	};
161*96564b1eSAngeloGioacchino Del Regno};
162*96564b1eSAngeloGioacchino Del Regno
163*96564b1eSAngeloGioacchino Del Regno&gpu {
164*96564b1eSAngeloGioacchino Del Regno	mali-supply = <&mt6315_7_vbuck1>;
165*96564b1eSAngeloGioacchino Del Regno	status = "okay";
166*96564b1eSAngeloGioacchino Del Regno};
167*96564b1eSAngeloGioacchino Del Regno
168*96564b1eSAngeloGioacchino Del Regno&i2c2 {
169*96564b1eSAngeloGioacchino Del Regno	clock-frequency = <400000>;
170*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&i2c2_pins>;
171*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
172*96564b1eSAngeloGioacchino Del Regno	status = "okay";
173*96564b1eSAngeloGioacchino Del Regno
174*96564b1eSAngeloGioacchino Del Regno	typec-mux@48 {
175*96564b1eSAngeloGioacchino Del Regno		compatible = "ite,it5205";
176*96564b1eSAngeloGioacchino Del Regno		reg = <0x48>;
177*96564b1eSAngeloGioacchino Del Regno
178*96564b1eSAngeloGioacchino Del Regno		mode-switch;
179*96564b1eSAngeloGioacchino Del Regno		orientation-switch;
180*96564b1eSAngeloGioacchino Del Regno
181*96564b1eSAngeloGioacchino Del Regno		vcc-supply = <&mt6359_vibr_ldo_reg>;
182*96564b1eSAngeloGioacchino Del Regno
183*96564b1eSAngeloGioacchino Del Regno		port {
184*96564b1eSAngeloGioacchino Del Regno			it5205_sbu_mux: endpoint {
185*96564b1eSAngeloGioacchino Del Regno				remote-endpoint = <&typec_con_mux>;
186*96564b1eSAngeloGioacchino Del Regno			};
187*96564b1eSAngeloGioacchino Del Regno		};
188*96564b1eSAngeloGioacchino Del Regno	};
189*96564b1eSAngeloGioacchino Del Regno};
190*96564b1eSAngeloGioacchino Del Regno
191*96564b1eSAngeloGioacchino Del Regno&i2c4 {
192*96564b1eSAngeloGioacchino Del Regno	clock-frequency = <400000>;
193*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&i2c4_pins>;
194*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
195*96564b1eSAngeloGioacchino Del Regno	status = "okay";
196*96564b1eSAngeloGioacchino Del Regno
197*96564b1eSAngeloGioacchino Del Regno	/* I2C4 exposed at 39-pins MIPI-LCD connector */
198*96564b1eSAngeloGioacchino Del Regno};
199*96564b1eSAngeloGioacchino Del Regno
200*96564b1eSAngeloGioacchino Del Regno&i2c6 {
201*96564b1eSAngeloGioacchino Del Regno	clock-frequency = <400000>;
202*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&i2c6_pins>;
203*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
204*96564b1eSAngeloGioacchino Del Regno	status = "okay";
205*96564b1eSAngeloGioacchino Del Regno
206*96564b1eSAngeloGioacchino Del Regno	mt6360: pmic@34 {
207*96564b1eSAngeloGioacchino Del Regno		compatible = "mediatek,mt6360";
208*96564b1eSAngeloGioacchino Del Regno		reg = <0x34>;
209*96564b1eSAngeloGioacchino Del Regno		interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>;
210*96564b1eSAngeloGioacchino Del Regno		interrupt-names = "IRQB";
211*96564b1eSAngeloGioacchino Del Regno		interrupt-controller;
212*96564b1eSAngeloGioacchino Del Regno		#interrupt-cells = <1>;
213*96564b1eSAngeloGioacchino Del Regno		pinctrl-0 = <&mt6360_pins>;
214*96564b1eSAngeloGioacchino Del Regno
215*96564b1eSAngeloGioacchino Del Regno		charger {
216*96564b1eSAngeloGioacchino Del Regno			compatible = "mediatek,mt6360-chg";
217*96564b1eSAngeloGioacchino Del Regno			richtek,vinovp-microvolt = <14500000>;
218*96564b1eSAngeloGioacchino Del Regno
219*96564b1eSAngeloGioacchino Del Regno			otg_vbus_regulator: usb-otg-vbus-regulator {
220*96564b1eSAngeloGioacchino Del Regno				regulator-name = "usb-otg-vbus";
221*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <4425000>;
222*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <5825000>;
223*96564b1eSAngeloGioacchino Del Regno			};
224*96564b1eSAngeloGioacchino Del Regno		};
225*96564b1eSAngeloGioacchino Del Regno
226*96564b1eSAngeloGioacchino Del Regno		regulator {
227*96564b1eSAngeloGioacchino Del Regno			compatible = "mediatek,mt6360-regulator";
228*96564b1eSAngeloGioacchino Del Regno			LDO_VIN1-supply = <&vsys_buck>;
229*96564b1eSAngeloGioacchino Del Regno			LDO_VIN3-supply = <&mt6360_buck2>;
230*96564b1eSAngeloGioacchino Del Regno
231*96564b1eSAngeloGioacchino Del Regno			mt6360_buck1: buck1 {
232*96564b1eSAngeloGioacchino Del Regno				regulator-name = "emi_vdd2";
233*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <300000>;
234*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <1300000>;
235*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
236*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP
237*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_ULP>;
238*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
239*96564b1eSAngeloGioacchino Del Regno			};
240*96564b1eSAngeloGioacchino Del Regno
241*96564b1eSAngeloGioacchino Del Regno			mt6360_buck2: buck2 {
242*96564b1eSAngeloGioacchino Del Regno				regulator-name = "emi_vddq";
243*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <300000>;
244*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <1300000>;
245*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
246*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP
247*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_ULP>;
248*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
249*96564b1eSAngeloGioacchino Del Regno			};
250*96564b1eSAngeloGioacchino Del Regno
251*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo1: ldo1 {
252*96564b1eSAngeloGioacchino Del Regno				regulator-name = "ext_lcd_3v3";
253*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <3300000>;
254*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <3300000>;
255*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
256*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
257*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
258*96564b1eSAngeloGioacchino Del Regno			};
259*96564b1eSAngeloGioacchino Del Regno
260*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo2: ldo2 {
261*96564b1eSAngeloGioacchino Del Regno				regulator-name = "panel1_p1v8";
262*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <1800000>;
263*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <1800000>;
264*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
265*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
266*96564b1eSAngeloGioacchino Del Regno			};
267*96564b1eSAngeloGioacchino Del Regno
268*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo3: ldo3 {
269*96564b1eSAngeloGioacchino Del Regno				regulator-name = "vmc_pmu";
270*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <1200000>;
271*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <3600000>;
272*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
273*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
274*96564b1eSAngeloGioacchino Del Regno			};
275*96564b1eSAngeloGioacchino Del Regno
276*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo5: ldo5 {
277*96564b1eSAngeloGioacchino Del Regno				regulator-name = "vmch_pmu";
278*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <3300000>;
279*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <3300000>;
280*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
281*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
282*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
283*96564b1eSAngeloGioacchino Del Regno			};
284*96564b1eSAngeloGioacchino Del Regno
285*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo6: ldo6 {
286*96564b1eSAngeloGioacchino Del Regno				regulator-name = "mt6360_ldo6"; /* Test point */
287*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <500000>;
288*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <2100000>;
289*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
290*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
291*96564b1eSAngeloGioacchino Del Regno			};
292*96564b1eSAngeloGioacchino Del Regno
293*96564b1eSAngeloGioacchino Del Regno			mt6360_ldo7: ldo7 {
294*96564b1eSAngeloGioacchino Del Regno				regulator-name = "emi_vmddr_en";
295*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <500000>;
296*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <2100000>;
297*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
298*96564b1eSAngeloGioacchino Del Regno							   MT6360_OPMODE_LP>;
299*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
300*96564b1eSAngeloGioacchino Del Regno			};
301*96564b1eSAngeloGioacchino Del Regno		};
302*96564b1eSAngeloGioacchino Del Regno
303*96564b1eSAngeloGioacchino Del Regno		typec {
304*96564b1eSAngeloGioacchino Del Regno			compatible = "mediatek,mt6360-tcpc";
305*96564b1eSAngeloGioacchino Del Regno			interrupts-extended = <&pio 100 IRQ_TYPE_LEVEL_LOW>;
306*96564b1eSAngeloGioacchino Del Regno			interrupt-names = "PD_IRQB";
307*96564b1eSAngeloGioacchino Del Regno
308*96564b1eSAngeloGioacchino Del Regno			connector {
309*96564b1eSAngeloGioacchino Del Regno				compatible = "usb-c-connector";
310*96564b1eSAngeloGioacchino Del Regno				label = "USB-C";
311*96564b1eSAngeloGioacchino Del Regno				data-role = "dual";
312*96564b1eSAngeloGioacchino Del Regno				op-sink-microwatt = <10000000>;
313*96564b1eSAngeloGioacchino Del Regno				power-role = "dual";
314*96564b1eSAngeloGioacchino Del Regno				try-power-role = "sink";
315*96564b1eSAngeloGioacchino Del Regno
316*96564b1eSAngeloGioacchino Del Regno				source-pdos = <PDO_FIXED(5000, 1000,
317*96564b1eSAngeloGioacchino Del Regno							 PDO_FIXED_DUAL_ROLE |
318*96564b1eSAngeloGioacchino Del Regno							 PDO_FIXED_DATA_SWAP)>;
319*96564b1eSAngeloGioacchino Del Regno				sink-pdos = <PDO_FIXED(5000, 3000,
320*96564b1eSAngeloGioacchino Del Regno						       PDO_FIXED_DUAL_ROLE |
321*96564b1eSAngeloGioacchino Del Regno						       PDO_FIXED_DATA_SWAP)>;
322*96564b1eSAngeloGioacchino Del Regno
323*96564b1eSAngeloGioacchino Del Regno				ports {
324*96564b1eSAngeloGioacchino Del Regno					#address-cells = <1>;
325*96564b1eSAngeloGioacchino Del Regno					#size-cells = <0>;
326*96564b1eSAngeloGioacchino Del Regno
327*96564b1eSAngeloGioacchino Del Regno					port@0 {
328*96564b1eSAngeloGioacchino Del Regno						reg = <0>;
329*96564b1eSAngeloGioacchino Del Regno						typec_con_hs: endpoint {
330*96564b1eSAngeloGioacchino Del Regno							remote-endpoint = <&mtu3_hs0_role_sw>;
331*96564b1eSAngeloGioacchino Del Regno						};
332*96564b1eSAngeloGioacchino Del Regno					};
333*96564b1eSAngeloGioacchino Del Regno
334*96564b1eSAngeloGioacchino Del Regno					port@2 {
335*96564b1eSAngeloGioacchino Del Regno						reg = <2>;
336*96564b1eSAngeloGioacchino Del Regno						typec_con_mux: endpoint {
337*96564b1eSAngeloGioacchino Del Regno							remote-endpoint = <&it5205_sbu_mux>;
338*96564b1eSAngeloGioacchino Del Regno						};
339*96564b1eSAngeloGioacchino Del Regno					};
340*96564b1eSAngeloGioacchino Del Regno				};
341*96564b1eSAngeloGioacchino Del Regno			};
342*96564b1eSAngeloGioacchino Del Regno		};
343*96564b1eSAngeloGioacchino Del Regno	};
344*96564b1eSAngeloGioacchino Del Regno};
345*96564b1eSAngeloGioacchino Del Regno
346*96564b1eSAngeloGioacchino Del Regno/* MMC0 Controller: eMMC (HS400). Power lines are shared with UFS! */
347*96564b1eSAngeloGioacchino Del Regno&mmc0 {
348*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default", "state_uhs";
349*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&mmc0_default_pins>;
350*96564b1eSAngeloGioacchino Del Regno	pinctrl-1 = <&mmc0_uhs_pins>;
351*96564b1eSAngeloGioacchino Del Regno	bus-width = <8>;
352*96564b1eSAngeloGioacchino Del Regno	max-frequency = <200000000>;
353*96564b1eSAngeloGioacchino Del Regno	hs400-ds-delay = <0x14c11>;
354*96564b1eSAngeloGioacchino Del Regno	cap-mmc-highspeed;
355*96564b1eSAngeloGioacchino Del Regno	cap-mmc-hw-reset;
356*96564b1eSAngeloGioacchino Del Regno	mmc-hs200-1_8v;
357*96564b1eSAngeloGioacchino Del Regno	mmc-hs400-1_8v;
358*96564b1eSAngeloGioacchino Del Regno	no-sdio;
359*96564b1eSAngeloGioacchino Del Regno	no-sd;
360*96564b1eSAngeloGioacchino Del Regno	non-removable;
361*96564b1eSAngeloGioacchino Del Regno	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
362*96564b1eSAngeloGioacchino Del Regno	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
363*96564b1eSAngeloGioacchino Del Regno	status = "okay";
364*96564b1eSAngeloGioacchino Del Regno};
365*96564b1eSAngeloGioacchino Del Regno
366*96564b1eSAngeloGioacchino Del Regno/* MMC1 Controller: MicroSD card slot */
367*96564b1eSAngeloGioacchino Del Regno&mmc1 {
368*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default", "state_uhs";
369*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&mmc1_default_pins>, <&mmc1_pins_detect>;
370*96564b1eSAngeloGioacchino Del Regno	pinctrl-1 = <&mmc1_default_pins>;
371*96564b1eSAngeloGioacchino Del Regno	bus-width = <4>;
372*96564b1eSAngeloGioacchino Del Regno	max-frequency = <200000000>;
373*96564b1eSAngeloGioacchino Del Regno	cap-sd-highspeed;
374*96564b1eSAngeloGioacchino Del Regno	cd-gpios = <&pio 129 GPIO_ACTIVE_LOW>;
375*96564b1eSAngeloGioacchino Del Regno	no-mmc;
376*96564b1eSAngeloGioacchino Del Regno	no-sdio;
377*96564b1eSAngeloGioacchino Del Regno	sd-uhs-sdr50;
378*96564b1eSAngeloGioacchino Del Regno	sd-uhs-sdr104;
379*96564b1eSAngeloGioacchino Del Regno	vmmc-supply = <&mt6360_ldo5>;
380*96564b1eSAngeloGioacchino Del Regno	vqmmc-supply = <&mt6360_ldo3>;
381*96564b1eSAngeloGioacchino Del Regno	status = "okay";
382*96564b1eSAngeloGioacchino Del Regno};
383*96564b1eSAngeloGioacchino Del Regno
384*96564b1eSAngeloGioacchino Del Regno&mt6359_vaud18_ldo_reg {
385*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
386*96564b1eSAngeloGioacchino Del Regno};
387*96564b1eSAngeloGioacchino Del Regno
388*96564b1eSAngeloGioacchino Del Regno&mt6359_vbbck_ldo_reg {
389*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
390*96564b1eSAngeloGioacchino Del Regno};
391*96564b1eSAngeloGioacchino Del Regno
392*96564b1eSAngeloGioacchino Del Regno/* For USB Hub */
393*96564b1eSAngeloGioacchino Del Regno&mt6359_vcamio_ldo_reg {
394*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
395*96564b1eSAngeloGioacchino Del Regno};
396*96564b1eSAngeloGioacchino Del Regno
397*96564b1eSAngeloGioacchino Del Regno&mt6359_vcn33_2_bt_ldo_reg {
398*96564b1eSAngeloGioacchino Del Regno	regulator-min-microvolt = <3300000>;
399*96564b1eSAngeloGioacchino Del Regno	regulator-max-microvolt = <3300000>;
400*96564b1eSAngeloGioacchino Del Regno};
401*96564b1eSAngeloGioacchino Del Regno
402*96564b1eSAngeloGioacchino Del Regno&mt6359_vcore_buck_reg {
403*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
404*96564b1eSAngeloGioacchino Del Regno};
405*96564b1eSAngeloGioacchino Del Regno
406*96564b1eSAngeloGioacchino Del Regno&mt6359_vgpu11_buck_reg {
407*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
408*96564b1eSAngeloGioacchino Del Regno};
409*96564b1eSAngeloGioacchino Del Regno
410*96564b1eSAngeloGioacchino Del Regno&mt6359_vproc1_buck_reg {
411*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
412*96564b1eSAngeloGioacchino Del Regno};
413*96564b1eSAngeloGioacchino Del Regno
414*96564b1eSAngeloGioacchino Del Regno&mt6359_vproc2_buck_reg {
415*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
416*96564b1eSAngeloGioacchino Del Regno};
417*96564b1eSAngeloGioacchino Del Regno
418*96564b1eSAngeloGioacchino Del Regno&mt6359_vpu_buck_reg {
419*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
420*96564b1eSAngeloGioacchino Del Regno};
421*96564b1eSAngeloGioacchino Del Regno
422*96564b1eSAngeloGioacchino Del Regno&mt6359_vrf12_ldo_reg {
423*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
424*96564b1eSAngeloGioacchino Del Regno};
425*96564b1eSAngeloGioacchino Del Regno
426*96564b1eSAngeloGioacchino Del Regno&mt6359_vsram_md_ldo_reg {
427*96564b1eSAngeloGioacchino Del Regno	regulator-always-on;
428*96564b1eSAngeloGioacchino Del Regno};
429*96564b1eSAngeloGioacchino Del Regno
430*96564b1eSAngeloGioacchino Del Regno/* for GPU SRAM */
431*96564b1eSAngeloGioacchino Del Regno&mt6359_vsram_others_ldo_reg {
432*96564b1eSAngeloGioacchino Del Regno	regulator-min-microvolt = <750000>;
433*96564b1eSAngeloGioacchino Del Regno	regulator-max-microvolt = <750000>;
434*96564b1eSAngeloGioacchino Del Regno};
435*96564b1eSAngeloGioacchino Del Regno
436*96564b1eSAngeloGioacchino Del Regno&pio {
437*96564b1eSAngeloGioacchino Del Regno	eth_default_pins: eth-default-pins {
438*96564b1eSAngeloGioacchino Del Regno		pins-cc {
439*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>,
440*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO86__FUNC_GBE_RXC>,
441*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO87__FUNC_GBE_RXDV>,
442*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO88__FUNC_GBE_TXEN>;
443*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
444*96564b1eSAngeloGioacchino Del Regno		};
445*96564b1eSAngeloGioacchino Del Regno
446*96564b1eSAngeloGioacchino Del Regno		pins-mdio {
447*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>,
448*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO90__FUNC_GBE_MDIO>;
449*96564b1eSAngeloGioacchino Del Regno			input-enable;
450*96564b1eSAngeloGioacchino Del Regno		};
451*96564b1eSAngeloGioacchino Del Regno
452*96564b1eSAngeloGioacchino Del Regno		pins-power {
453*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO91__FUNC_GPIO91>,
454*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO92__FUNC_GPIO92>;
455*96564b1eSAngeloGioacchino Del Regno			output-high;
456*96564b1eSAngeloGioacchino Del Regno		};
457*96564b1eSAngeloGioacchino Del Regno
458*96564b1eSAngeloGioacchino Del Regno		pins-rst {
459*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO93__FUNC_GPIO93>;
460*96564b1eSAngeloGioacchino Del Regno		};
461*96564b1eSAngeloGioacchino Del Regno
462*96564b1eSAngeloGioacchino Del Regno		pins-rxd {
463*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>,
464*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO82__FUNC_GBE_RXD2>,
465*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO83__FUNC_GBE_RXD1>,
466*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO84__FUNC_GBE_RXD0>;
467*96564b1eSAngeloGioacchino Del Regno		};
468*96564b1eSAngeloGioacchino Del Regno
469*96564b1eSAngeloGioacchino Del Regno		pins-txd {
470*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>,
471*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO78__FUNC_GBE_TXD2>,
472*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO79__FUNC_GBE_TXD1>,
473*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO80__FUNC_GBE_TXD0>;
474*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
475*96564b1eSAngeloGioacchino Del Regno		};
476*96564b1eSAngeloGioacchino Del Regno	};
477*96564b1eSAngeloGioacchino Del Regno
478*96564b1eSAngeloGioacchino Del Regno	eth_sleep_pins: eth-sleep-pins {
479*96564b1eSAngeloGioacchino Del Regno		pins-cc {
480*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO85__FUNC_GPIO85>,
481*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO86__FUNC_GPIO86>,
482*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO87__FUNC_GPIO87>,
483*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO88__FUNC_GPIO88>;
484*96564b1eSAngeloGioacchino Del Regno		};
485*96564b1eSAngeloGioacchino Del Regno
486*96564b1eSAngeloGioacchino Del Regno		pins-mdio {
487*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO89__FUNC_GPIO89>,
488*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO90__FUNC_GPIO90>;
489*96564b1eSAngeloGioacchino Del Regno			bias-disable;
490*96564b1eSAngeloGioacchino Del Regno			input-disable;
491*96564b1eSAngeloGioacchino Del Regno		};
492*96564b1eSAngeloGioacchino Del Regno
493*96564b1eSAngeloGioacchino Del Regno		pins-rxd {
494*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO81__FUNC_GPIO81>,
495*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO82__FUNC_GPIO82>,
496*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO83__FUNC_GPIO83>,
497*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO84__FUNC_GPIO84>;
498*96564b1eSAngeloGioacchino Del Regno		};
499*96564b1eSAngeloGioacchino Del Regno
500*96564b1eSAngeloGioacchino Del Regno		pins-txd {
501*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO77__FUNC_GPIO77>,
502*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO78__FUNC_GPIO78>,
503*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO79__FUNC_GPIO79>,
504*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO80__FUNC_GPIO80>;
505*96564b1eSAngeloGioacchino Del Regno		};
506*96564b1eSAngeloGioacchino Del Regno	};
507*96564b1eSAngeloGioacchino Del Regno
508*96564b1eSAngeloGioacchino Del Regno	i2c2_pins: i2c2-pins {
509*96564b1eSAngeloGioacchino Del Regno		pins-bus {
510*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO12__FUNC_SDA2>,
511*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO13__FUNC_SCL2>;
512*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PULL_SET_RSEL_111>;
513*96564b1eSAngeloGioacchino Del Regno			drive-strength = <6>;
514*96564b1eSAngeloGioacchino Del Regno			drive-strength-microamp = <1000>;
515*96564b1eSAngeloGioacchino Del Regno		};
516*96564b1eSAngeloGioacchino Del Regno	};
517*96564b1eSAngeloGioacchino Del Regno
518*96564b1eSAngeloGioacchino Del Regno	i2c4_pins: i2c4-pins {
519*96564b1eSAngeloGioacchino Del Regno		pins-bus {
520*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO16__FUNC_SDA4>,
521*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO17__FUNC_SCL4>;
522*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PULL_SET_RSEL_111>;
523*96564b1eSAngeloGioacchino Del Regno			drive-strength-microamp = <1000>;
524*96564b1eSAngeloGioacchino Del Regno		};
525*96564b1eSAngeloGioacchino Del Regno	};
526*96564b1eSAngeloGioacchino Del Regno
527*96564b1eSAngeloGioacchino Del Regno	i2c6_pins: i2c6-pins {
528*96564b1eSAngeloGioacchino Del Regno		pins {
529*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO25__FUNC_SDA6>,
530*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO26__FUNC_SCL6>;
531*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PULL_SET_RSEL_111>;
532*96564b1eSAngeloGioacchino Del Regno		};
533*96564b1eSAngeloGioacchino Del Regno	};
534*96564b1eSAngeloGioacchino Del Regno
535*96564b1eSAngeloGioacchino Del Regno	mmc0_default_pins: mmc0-default-pins {
536*96564b1eSAngeloGioacchino Del Regno		pins-clk {
537*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
538*96564b1eSAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
539*96564b1eSAngeloGioacchino Del Regno			drive-strength = <6>;
540*96564b1eSAngeloGioacchino Del Regno		};
541*96564b1eSAngeloGioacchino Del Regno
542*96564b1eSAngeloGioacchino Del Regno		pins-cmd-dat {
543*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
544*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
545*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
546*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
547*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
548*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
549*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
550*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
551*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
552*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
553*96564b1eSAngeloGioacchino Del Regno			drive-strength = <6>;
554*96564b1eSAngeloGioacchino Del Regno			input-enable;
555*96564b1eSAngeloGioacchino Del Regno		};
556*96564b1eSAngeloGioacchino Del Regno
557*96564b1eSAngeloGioacchino Del Regno		pins-rst {
558*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
559*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
560*96564b1eSAngeloGioacchino Del Regno			drive-strength = <6>;
561*96564b1eSAngeloGioacchino Del Regno		};
562*96564b1eSAngeloGioacchino Del Regno	};
563*96564b1eSAngeloGioacchino Del Regno
564*96564b1eSAngeloGioacchino Del Regno	mmc0_uhs_pins: mmc0-uhs-pins {
565*96564b1eSAngeloGioacchino Del Regno		pins-clk {
566*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
567*96564b1eSAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
568*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
569*96564b1eSAngeloGioacchino Del Regno		};
570*96564b1eSAngeloGioacchino Del Regno
571*96564b1eSAngeloGioacchino Del Regno		pins-cmd-dat {
572*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
573*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
574*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
575*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
576*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
577*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
578*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
579*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
580*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
581*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
582*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
583*96564b1eSAngeloGioacchino Del Regno			input-enable;
584*96564b1eSAngeloGioacchino Del Regno		};
585*96564b1eSAngeloGioacchino Del Regno
586*96564b1eSAngeloGioacchino Del Regno		pins-ds {
587*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
588*96564b1eSAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
589*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
590*96564b1eSAngeloGioacchino Del Regno		};
591*96564b1eSAngeloGioacchino Del Regno
592*96564b1eSAngeloGioacchino Del Regno		pins-rst {
593*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
594*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
595*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
596*96564b1eSAngeloGioacchino Del Regno		};
597*96564b1eSAngeloGioacchino Del Regno	};
598*96564b1eSAngeloGioacchino Del Regno
599*96564b1eSAngeloGioacchino Del Regno	mmc1_default_pins: mmc1-default-pins {
600*96564b1eSAngeloGioacchino Del Regno		pins-clk {
601*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
602*96564b1eSAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
603*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
604*96564b1eSAngeloGioacchino Del Regno		};
605*96564b1eSAngeloGioacchino Del Regno
606*96564b1eSAngeloGioacchino Del Regno		pins-cmd-dat {
607*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
608*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
609*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
610*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
611*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
612*96564b1eSAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
613*96564b1eSAngeloGioacchino Del Regno			drive-strength = <8>;
614*96564b1eSAngeloGioacchino Del Regno			input-enable;
615*96564b1eSAngeloGioacchino Del Regno		};
616*96564b1eSAngeloGioacchino Del Regno	};
617*96564b1eSAngeloGioacchino Del Regno
618*96564b1eSAngeloGioacchino Del Regno	mmc1_pins_detect: mmc1-detect-pins {
619*96564b1eSAngeloGioacchino Del Regno		pins-insert {
620*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO129__FUNC_GPIO129>;
621*96564b1eSAngeloGioacchino Del Regno			bias-pull-up;
622*96564b1eSAngeloGioacchino Del Regno		};
623*96564b1eSAngeloGioacchino Del Regno	};
624*96564b1eSAngeloGioacchino Del Regno
625*96564b1eSAngeloGioacchino Del Regno	mt6360_pins: mt6360-pins {
626*96564b1eSAngeloGioacchino Del Regno		pins-irq {
627*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO100__FUNC_GPIO100>,
628*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO101__FUNC_GPIO101>;
629*96564b1eSAngeloGioacchino Del Regno			input-enable;
630*96564b1eSAngeloGioacchino Del Regno			bias-pull-up;
631*96564b1eSAngeloGioacchino Del Regno		};
632*96564b1eSAngeloGioacchino Del Regno	};
633*96564b1eSAngeloGioacchino Del Regno
634*96564b1eSAngeloGioacchino Del Regno	pcie0_default_pins: pcie0-default-pins {
635*96564b1eSAngeloGioacchino Del Regno		pins-bus {
636*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO19__FUNC_WAKEN>,
637*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO20__FUNC_PERSTN>,
638*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO21__FUNC_CLKREQN>;
639*96564b1eSAngeloGioacchino Del Regno			bias-pull-up;
640*96564b1eSAngeloGioacchino Del Regno		};
641*96564b1eSAngeloGioacchino Del Regno	};
642*96564b1eSAngeloGioacchino Del Regno
643*96564b1eSAngeloGioacchino Del Regno	pcie1_default_pins: pcie1-default-pins {
644*96564b1eSAngeloGioacchino Del Regno		pins-bus {
645*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO0__FUNC_PERSTN_1>,
646*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO1__FUNC_CLKREQN_1>,
647*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO2__FUNC_WAKEN_1>;
648*96564b1eSAngeloGioacchino Del Regno			bias-disable;
649*96564b1eSAngeloGioacchino Del Regno		};
650*96564b1eSAngeloGioacchino Del Regno	};
651*96564b1eSAngeloGioacchino Del Regno
652*96564b1eSAngeloGioacchino Del Regno	spi1_pins: spi1-default-pins {
653*96564b1eSAngeloGioacchino Del Regno		pins-bus {
654*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO136__FUNC_SPIM1_CSB>,
655*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO137__FUNC_SPIM1_CLK>,
656*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO138__FUNC_SPIM1_MO>,
657*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO139__FUNC_SPIM1_MI>;
658*96564b1eSAngeloGioacchino Del Regno			bias-disable;
659*96564b1eSAngeloGioacchino Del Regno		};
660*96564b1eSAngeloGioacchino Del Regno	};
661*96564b1eSAngeloGioacchino Del Regno
662*96564b1eSAngeloGioacchino Del Regno	spi2_pins: spi2-default-pins {
663*96564b1eSAngeloGioacchino Del Regno		pins-bus {
664*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO140__FUNC_SPIM2_CSB>,
665*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO141__FUNC_SPIM2_CLK>,
666*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO142__FUNC_SPIM2_MO>,
667*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO143__FUNC_SPIM2_MI>;
668*96564b1eSAngeloGioacchino Del Regno			bias-disable;
669*96564b1eSAngeloGioacchino Del Regno		};
670*96564b1eSAngeloGioacchino Del Regno	};
671*96564b1eSAngeloGioacchino Del Regno
672*96564b1eSAngeloGioacchino Del Regno	uart0_pins: uart0-pins {
673*96564b1eSAngeloGioacchino Del Regno		pins-bus {
674*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
675*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO99__FUNC_URXD0>;
676*96564b1eSAngeloGioacchino Del Regno		};
677*96564b1eSAngeloGioacchino Del Regno	};
678*96564b1eSAngeloGioacchino Del Regno
679*96564b1eSAngeloGioacchino Del Regno	uart1_pins: uart1-pins {
680*96564b1eSAngeloGioacchino Del Regno		pins-bus {
681*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO102__FUNC_UTXD1>,
682*96564b1eSAngeloGioacchino Del Regno				 <PINMUX_GPIO103__FUNC_URXD1>;
683*96564b1eSAngeloGioacchino Del Regno		};
684*96564b1eSAngeloGioacchino Del Regno	};
685*96564b1eSAngeloGioacchino Del Regno
686*96564b1eSAngeloGioacchino Del Regno	wifi_vreg_pins: wifi-vreg-pins {
687*96564b1eSAngeloGioacchino Del Regno		pins-wifi-pmu-en {
688*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO65__FUNC_GPIO65>;
689*96564b1eSAngeloGioacchino Del Regno			output-high;
690*96564b1eSAngeloGioacchino Del Regno		};
691*96564b1eSAngeloGioacchino Del Regno
692*96564b1eSAngeloGioacchino Del Regno		pins-wifi-vreg-en {
693*96564b1eSAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO67__FUNC_GPIO67>;
694*96564b1eSAngeloGioacchino Del Regno		};
695*96564b1eSAngeloGioacchino Del Regno	};
696*96564b1eSAngeloGioacchino Del Regno};
697*96564b1eSAngeloGioacchino Del Regno
698*96564b1eSAngeloGioacchino Del Regno&pcie0 {
699*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
700*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&pcie0_default_pins>;
701*96564b1eSAngeloGioacchino Del Regno	status = "okay";
702*96564b1eSAngeloGioacchino Del Regno};
703*96564b1eSAngeloGioacchino Del Regno
704*96564b1eSAngeloGioacchino Del Regno&pcie1 {
705*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
706*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&pcie1_default_pins>;
707*96564b1eSAngeloGioacchino Del Regno	status = "okay";
708*96564b1eSAngeloGioacchino Del Regno};
709*96564b1eSAngeloGioacchino Del Regno
710*96564b1eSAngeloGioacchino Del Regno&pmic {
711*96564b1eSAngeloGioacchino Del Regno	interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
712*96564b1eSAngeloGioacchino Del Regno};
713*96564b1eSAngeloGioacchino Del Regno
714*96564b1eSAngeloGioacchino Del Regno&scp {
715*96564b1eSAngeloGioacchino Del Regno	memory-region = <&scp_mem>;
716*96564b1eSAngeloGioacchino Del Regno	status = "okay";
717*96564b1eSAngeloGioacchino Del Regno};
718*96564b1eSAngeloGioacchino Del Regno
719*96564b1eSAngeloGioacchino Del Regno&spi1 {
720*96564b1eSAngeloGioacchino Del Regno	/* Exposed at 40 pin connector */
721*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&spi1_pins>;
722*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
723*96564b1eSAngeloGioacchino Del Regno	mediatek,pad-select = <0>;
724*96564b1eSAngeloGioacchino Del Regno	#address-cells = <1>;
725*96564b1eSAngeloGioacchino Del Regno	#size-cells = <0>;
726*96564b1eSAngeloGioacchino Del Regno	status = "okay";
727*96564b1eSAngeloGioacchino Del Regno};
728*96564b1eSAngeloGioacchino Del Regno
729*96564b1eSAngeloGioacchino Del Regno&spi2 {
730*96564b1eSAngeloGioacchino Del Regno	/* Exposed at 40 pin connector */
731*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&spi2_pins>;
732*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
733*96564b1eSAngeloGioacchino Del Regno	mediatek,pad-select = <0>;
734*96564b1eSAngeloGioacchino Del Regno	#address-cells = <1>;
735*96564b1eSAngeloGioacchino Del Regno	#size-cells = <0>;
736*96564b1eSAngeloGioacchino Del Regno	status = "okay";
737*96564b1eSAngeloGioacchino Del Regno};
738*96564b1eSAngeloGioacchino Del Regno
739*96564b1eSAngeloGioacchino Del Regno&spmi {
740*96564b1eSAngeloGioacchino Del Regno	#address-cells = <2>;
741*96564b1eSAngeloGioacchino Del Regno	#size-cells = <0>;
742*96564b1eSAngeloGioacchino Del Regno
743*96564b1eSAngeloGioacchino Del Regno	mt6315_6: pmic@6 {
744*96564b1eSAngeloGioacchino Del Regno		compatible = "mediatek,mt6315-regulator";
745*96564b1eSAngeloGioacchino Del Regno		reg = <0x6 SPMI_USID>;
746*96564b1eSAngeloGioacchino Del Regno
747*96564b1eSAngeloGioacchino Del Regno		regulators {
748*96564b1eSAngeloGioacchino Del Regno			mt6315_6_vbuck1: vbuck1 {
749*96564b1eSAngeloGioacchino Del Regno				regulator-compatible = "vbuck1";
750*96564b1eSAngeloGioacchino Del Regno				regulator-name = "Vbcpu";
751*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <300000>;
752*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <1193750>;
753*96564b1eSAngeloGioacchino Del Regno				regulator-enable-ramp-delay = <256>;
754*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <0 1 2>;
755*96564b1eSAngeloGioacchino Del Regno				regulator-always-on;
756*96564b1eSAngeloGioacchino Del Regno			};
757*96564b1eSAngeloGioacchino Del Regno		};
758*96564b1eSAngeloGioacchino Del Regno	};
759*96564b1eSAngeloGioacchino Del Regno
760*96564b1eSAngeloGioacchino Del Regno	mt6315_7: pmic@7 {
761*96564b1eSAngeloGioacchino Del Regno		compatible = "mediatek,mt6315-regulator";
762*96564b1eSAngeloGioacchino Del Regno		reg = <0x7 SPMI_USID>;
763*96564b1eSAngeloGioacchino Del Regno
764*96564b1eSAngeloGioacchino Del Regno		regulators {
765*96564b1eSAngeloGioacchino Del Regno			mt6315_7_vbuck1: vbuck1 {
766*96564b1eSAngeloGioacchino Del Regno				regulator-compatible = "vbuck1";
767*96564b1eSAngeloGioacchino Del Regno				regulator-name = "Vgpu";
768*96564b1eSAngeloGioacchino Del Regno				regulator-min-microvolt = <300000>;
769*96564b1eSAngeloGioacchino Del Regno				regulator-max-microvolt = <1193750>;
770*96564b1eSAngeloGioacchino Del Regno				regulator-enable-ramp-delay = <256>;
771*96564b1eSAngeloGioacchino Del Regno				regulator-allowed-modes = <0 1 2>;
772*96564b1eSAngeloGioacchino Del Regno			};
773*96564b1eSAngeloGioacchino Del Regno		};
774*96564b1eSAngeloGioacchino Del Regno	};
775*96564b1eSAngeloGioacchino Del Regno};
776*96564b1eSAngeloGioacchino Del Regno
777*96564b1eSAngeloGioacchino Del Regno&uart0 {
778*96564b1eSAngeloGioacchino Del Regno	/* Exposed at 40 pin connector */
779*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&uart0_pins>;
780*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
781*96564b1eSAngeloGioacchino Del Regno	status = "okay";
782*96564b1eSAngeloGioacchino Del Regno};
783*96564b1eSAngeloGioacchino Del Regno
784*96564b1eSAngeloGioacchino Del Regno&uart1 {
785*96564b1eSAngeloGioacchino Del Regno	/* Exposed at 40 pin connector */
786*96564b1eSAngeloGioacchino Del Regno	pinctrl-0 = <&uart1_pins>;
787*96564b1eSAngeloGioacchino Del Regno	pinctrl-names = "default";
788*96564b1eSAngeloGioacchino Del Regno	status = "okay";
789*96564b1eSAngeloGioacchino Del Regno};
790*96564b1eSAngeloGioacchino Del Regno
791*96564b1eSAngeloGioacchino Del Regno&ssusb0 {
792*96564b1eSAngeloGioacchino Del Regno	role-switch-default-mode = "host";
793*96564b1eSAngeloGioacchino Del Regno	usb-role-switch;
794*96564b1eSAngeloGioacchino Del Regno	vusb33-supply = <&mt6359_vusb_ldo_reg>;
795*96564b1eSAngeloGioacchino Del Regno	status = "okay";
796*96564b1eSAngeloGioacchino Del Regno
797*96564b1eSAngeloGioacchino Del Regno	port {
798*96564b1eSAngeloGioacchino Del Regno		mtu3_hs0_role_sw: endpoint {
799*96564b1eSAngeloGioacchino Del Regno			remote-endpoint = <&typec_con_hs>;
800*96564b1eSAngeloGioacchino Del Regno		};
801*96564b1eSAngeloGioacchino Del Regno	};
802*96564b1eSAngeloGioacchino Del Regno};
803*96564b1eSAngeloGioacchino Del Regno
804*96564b1eSAngeloGioacchino Del Regno&ssusb2 {
805*96564b1eSAngeloGioacchino Del Regno	vusb33-supply = <&mt6359_vusb_ldo_reg>;
806*96564b1eSAngeloGioacchino Del Regno	status = "okay";
807*96564b1eSAngeloGioacchino Del Regno};
808*96564b1eSAngeloGioacchino Del Regno
809*96564b1eSAngeloGioacchino Del Regno&xhci0 {
810*96564b1eSAngeloGioacchino Del Regno	vbus-supply = <&otg_vbus_regulator>;
811*96564b1eSAngeloGioacchino Del Regno	status = "okay";
812*96564b1eSAngeloGioacchino Del Regno};
813*96564b1eSAngeloGioacchino Del Regno
814*96564b1eSAngeloGioacchino Del Regno&xhci1 {
815*96564b1eSAngeloGioacchino Del Regno	/* MT7921's USB Bluetooth has issues with USB2 LPM */
816*96564b1eSAngeloGioacchino Del Regno	usb2-lpm-disable;
817*96564b1eSAngeloGioacchino Del Regno	vusb33-supply = <&mt6359_vusb_ldo_reg>;
818*96564b1eSAngeloGioacchino Del Regno	vbus-supply = <&vsys>;
819*96564b1eSAngeloGioacchino Del Regno	status = "okay";
820*96564b1eSAngeloGioacchino Del Regno};
821*96564b1eSAngeloGioacchino Del Regno
822*96564b1eSAngeloGioacchino Del Regno&xhci2 {
823*96564b1eSAngeloGioacchino Del Regno	vbus-supply = <&vsys>;
824*96564b1eSAngeloGioacchino Del Regno	status = "okay";
825*96564b1eSAngeloGioacchino Del Regno};
826