xref: /freebsd/sys/contrib/device-tree/src/arm64/mediatek/mt8195-demo.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2d5b0e70fSEmmanuel Vadot/*
3d5b0e70fSEmmanuel Vadot * Copyright (C) 2022 BayLibre, SAS.
4d5b0e70fSEmmanuel Vadot * Author: Fabien Parent <fparent@baylibre.com>
5d5b0e70fSEmmanuel Vadot */
6d5b0e70fSEmmanuel Vadot/dts-v1/;
7d5b0e70fSEmmanuel Vadot
8d5b0e70fSEmmanuel Vadot#include "mt8195.dtsi"
9d5b0e70fSEmmanuel Vadot#include "mt6359.dtsi"
10d5b0e70fSEmmanuel Vadot
11d5b0e70fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12d5b0e70fSEmmanuel Vadot#include <dt-bindings/input/input.h>
13d5b0e70fSEmmanuel Vadot#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
14d5b0e70fSEmmanuel Vadot#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
15d5b0e70fSEmmanuel Vadot
16d5b0e70fSEmmanuel Vadot/ {
17d5b0e70fSEmmanuel Vadot	model = "MediaTek MT8195 demo board";
18d5b0e70fSEmmanuel Vadot	compatible = "mediatek,mt8195-demo", "mediatek,mt8195";
19d5b0e70fSEmmanuel Vadot
20d5b0e70fSEmmanuel Vadot	aliases {
21d5b0e70fSEmmanuel Vadot		serial0 = &uart0;
22d5b0e70fSEmmanuel Vadot	};
23d5b0e70fSEmmanuel Vadot
24d5b0e70fSEmmanuel Vadot	chosen {
25d5b0e70fSEmmanuel Vadot		stdout-path = "serial0:921600n8";
26d5b0e70fSEmmanuel Vadot	};
27d5b0e70fSEmmanuel Vadot
28d5b0e70fSEmmanuel Vadot	firmware {
29d5b0e70fSEmmanuel Vadot		optee {
30d5b0e70fSEmmanuel Vadot			compatible = "linaro,optee-tz";
31d5b0e70fSEmmanuel Vadot			method = "smc";
32d5b0e70fSEmmanuel Vadot		};
33d5b0e70fSEmmanuel Vadot	};
34d5b0e70fSEmmanuel Vadot
35d5b0e70fSEmmanuel Vadot	gpio-keys {
36d5b0e70fSEmmanuel Vadot		compatible = "gpio-keys";
37d5b0e70fSEmmanuel Vadot		pinctrl-names = "default";
38d5b0e70fSEmmanuel Vadot		pinctrl-0 = <&gpio_keys_pins>;
39d5b0e70fSEmmanuel Vadot
40d5b0e70fSEmmanuel Vadot		key-0 {
41d5b0e70fSEmmanuel Vadot			gpios = <&pio 106 GPIO_ACTIVE_LOW>;
42d5b0e70fSEmmanuel Vadot			label = "volume_up";
43d5b0e70fSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
44d5b0e70fSEmmanuel Vadot			wakeup-source;
45d5b0e70fSEmmanuel Vadot			debounce-interval = <15>;
46d5b0e70fSEmmanuel Vadot		};
47d5b0e70fSEmmanuel Vadot	};
48d5b0e70fSEmmanuel Vadot
49d5b0e70fSEmmanuel Vadot	memory@40000000 {
50d5b0e70fSEmmanuel Vadot		device_type = "memory";
51aa1a8ff2SEmmanuel Vadot		reg = <0 0x40000000 0x2 0x00000000>;
52d5b0e70fSEmmanuel Vadot	};
53d5b0e70fSEmmanuel Vadot
54d5b0e70fSEmmanuel Vadot	reserved-memory {
55d5b0e70fSEmmanuel Vadot		#address-cells = <2>;
56d5b0e70fSEmmanuel Vadot		#size-cells = <2>;
57d5b0e70fSEmmanuel Vadot		ranges;
58d5b0e70fSEmmanuel Vadot
59aa1a8ff2SEmmanuel Vadot		/*
60aa1a8ff2SEmmanuel Vadot		 * 12 MiB reserved for OP-TEE (BL32)
61d5b0e70fSEmmanuel Vadot		 * +-----------------------+ 0x43e0_0000
62d5b0e70fSEmmanuel Vadot		 * |      SHMEM 2MiB       |
63d5b0e70fSEmmanuel Vadot		 * +-----------------------+ 0x43c0_0000
64d5b0e70fSEmmanuel Vadot		 * |        | TA_RAM  8MiB |
65d5b0e70fSEmmanuel Vadot		 * + TZDRAM +--------------+ 0x4340_0000
66d5b0e70fSEmmanuel Vadot		 * |        | TEE_RAM 2MiB |
67d5b0e70fSEmmanuel Vadot		 * +-----------------------+ 0x4320_0000
68d5b0e70fSEmmanuel Vadot		 */
69d5b0e70fSEmmanuel Vadot		optee_reserved: optee@43200000 {
70d5b0e70fSEmmanuel Vadot			no-map;
71d5b0e70fSEmmanuel Vadot			reg = <0 0x43200000 0 0x00c00000>;
72d5b0e70fSEmmanuel Vadot		};
73aa1a8ff2SEmmanuel Vadot
74aa1a8ff2SEmmanuel Vadot		scp_mem: memory@50000000 {
75aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
76aa1a8ff2SEmmanuel Vadot			reg = <0 0x50000000 0 0x2900000>;
77aa1a8ff2SEmmanuel Vadot			no-map;
78aa1a8ff2SEmmanuel Vadot		};
79aa1a8ff2SEmmanuel Vadot
80aa1a8ff2SEmmanuel Vadot		vpu_mem: memory@53000000 {
81aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
82aa1a8ff2SEmmanuel Vadot			reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
83aa1a8ff2SEmmanuel Vadot		};
84aa1a8ff2SEmmanuel Vadot
85aa1a8ff2SEmmanuel Vadot		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
86aa1a8ff2SEmmanuel Vadot		bl31_secmon_mem: memory@54600000 {
87aa1a8ff2SEmmanuel Vadot			no-map;
88aa1a8ff2SEmmanuel Vadot			reg = <0 0x54600000 0x0 0x200000>;
89aa1a8ff2SEmmanuel Vadot		};
90aa1a8ff2SEmmanuel Vadot
91aa1a8ff2SEmmanuel Vadot		snd_dma_mem: memory@60000000 {
92aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
93aa1a8ff2SEmmanuel Vadot			reg = <0 0x60000000 0 0x1100000>;
94aa1a8ff2SEmmanuel Vadot			no-map;
95aa1a8ff2SEmmanuel Vadot		};
96aa1a8ff2SEmmanuel Vadot
97aa1a8ff2SEmmanuel Vadot		apu_mem: memory@62000000 {
98aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
99aa1a8ff2SEmmanuel Vadot			reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
100aa1a8ff2SEmmanuel Vadot		};
101d5b0e70fSEmmanuel Vadot	};
102d5b0e70fSEmmanuel Vadot};
103d5b0e70fSEmmanuel Vadot
104cb7aa33aSEmmanuel Vadot&eth {
105cb7aa33aSEmmanuel Vadot	phy-mode = "rgmii-id";
106cb7aa33aSEmmanuel Vadot	phy-handle = <&ethernet_phy0>;
107cb7aa33aSEmmanuel Vadot	snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
108cb7aa33aSEmmanuel Vadot	snps,reset-delays-us = <0 10000 80000>;
109cb7aa33aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
110cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&eth_default_pins>;
111cb7aa33aSEmmanuel Vadot	pinctrl-1 = <&eth_sleep_pins>;
112cb7aa33aSEmmanuel Vadot	status = "okay";
113cb7aa33aSEmmanuel Vadot
114cb7aa33aSEmmanuel Vadot	mdio {
115cb7aa33aSEmmanuel Vadot		ethernet_phy0: ethernet-phy@1 {
116cb7aa33aSEmmanuel Vadot			reg = <0x1>;
117cb7aa33aSEmmanuel Vadot		};
118cb7aa33aSEmmanuel Vadot	};
119cb7aa33aSEmmanuel Vadot};
120cb7aa33aSEmmanuel Vadot
121d5b0e70fSEmmanuel Vadot&i2c6 {
122d5b0e70fSEmmanuel Vadot	clock-frequency = <400000>;
123d5b0e70fSEmmanuel Vadot	pinctrl-0 = <&i2c6_pins>;
124d5b0e70fSEmmanuel Vadot	pinctrl-names = "default";
125d5b0e70fSEmmanuel Vadot	status = "okay";
126d5b0e70fSEmmanuel Vadot
127d5b0e70fSEmmanuel Vadot	mt6360: pmic@34 {
128d5b0e70fSEmmanuel Vadot		compatible = "mediatek,mt6360";
129d5b0e70fSEmmanuel Vadot		reg = <0x34>;
130d5b0e70fSEmmanuel Vadot		interrupt-controller;
131*8d13bc63SEmmanuel Vadot		#interrupt-cells = <1>;
132d5b0e70fSEmmanuel Vadot		interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>;
133d5b0e70fSEmmanuel Vadot		interrupt-names = "IRQB";
134d5b0e70fSEmmanuel Vadot
135d5b0e70fSEmmanuel Vadot		charger {
136d5b0e70fSEmmanuel Vadot			compatible = "mediatek,mt6360-chg";
137d5b0e70fSEmmanuel Vadot			richtek,vinovp-microvolt = <14500000>;
138d5b0e70fSEmmanuel Vadot
139d5b0e70fSEmmanuel Vadot			otg_vbus_regulator: usb-otg-vbus-regulator {
140d5b0e70fSEmmanuel Vadot				regulator-compatible = "usb-otg-vbus";
141d5b0e70fSEmmanuel Vadot				regulator-name = "usb-otg-vbus";
142d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <4425000>;
143d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <5825000>;
144d5b0e70fSEmmanuel Vadot			};
145d5b0e70fSEmmanuel Vadot		};
146d5b0e70fSEmmanuel Vadot
147d5b0e70fSEmmanuel Vadot		regulator {
148d5b0e70fSEmmanuel Vadot			compatible = "mediatek,mt6360-regulator";
149d5b0e70fSEmmanuel Vadot			LDO_VIN3-supply = <&mt6360_buck2>;
150d5b0e70fSEmmanuel Vadot
151d5b0e70fSEmmanuel Vadot			mt6360_buck1: buck1 {
152d5b0e70fSEmmanuel Vadot				regulator-compatible = "BUCK1";
153d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,buck1";
154d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <300000>;
155d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <1300000>;
156d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
157d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP
158d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_ULP>;
159d5b0e70fSEmmanuel Vadot				regulator-always-on;
160d5b0e70fSEmmanuel Vadot			};
161d5b0e70fSEmmanuel Vadot
162d5b0e70fSEmmanuel Vadot			mt6360_buck2: buck2 {
163d5b0e70fSEmmanuel Vadot				regulator-compatible = "BUCK2";
164d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,buck2";
165d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <300000>;
166d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <1300000>;
167d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
168d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP
169d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_ULP>;
170d5b0e70fSEmmanuel Vadot				regulator-always-on;
171d5b0e70fSEmmanuel Vadot			};
172d5b0e70fSEmmanuel Vadot
173d5b0e70fSEmmanuel Vadot			mt6360_ldo1: ldo1 {
174d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO1";
175d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo1";
176d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
177d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <3600000>;
178d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
179d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
180d5b0e70fSEmmanuel Vadot			};
181d5b0e70fSEmmanuel Vadot
182d5b0e70fSEmmanuel Vadot			mt6360_ldo2: ldo2 {
183d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO2";
184d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo2";
185d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
186d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <3600000>;
187d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
188d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
189d5b0e70fSEmmanuel Vadot			};
190d5b0e70fSEmmanuel Vadot
191d5b0e70fSEmmanuel Vadot			mt6360_ldo3: ldo3 {
192d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO3";
193d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo3";
194d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
195d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <3600000>;
196d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
197d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
198d5b0e70fSEmmanuel Vadot			};
199d5b0e70fSEmmanuel Vadot
200d5b0e70fSEmmanuel Vadot			mt6360_ldo5: ldo5 {
201d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO5";
202d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo5";
203d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <2700000>;
204d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <3600000>;
205d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
206d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
207d5b0e70fSEmmanuel Vadot			};
208d5b0e70fSEmmanuel Vadot
209d5b0e70fSEmmanuel Vadot			mt6360_ldo6: ldo6 {
210d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO6";
211d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo6";
212d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <500000>;
213d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <2100000>;
214d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
215d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
216d5b0e70fSEmmanuel Vadot			};
217d5b0e70fSEmmanuel Vadot
218d5b0e70fSEmmanuel Vadot			mt6360_ldo7: ldo7 {
219d5b0e70fSEmmanuel Vadot				regulator-compatible = "LDO7";
220d5b0e70fSEmmanuel Vadot				regulator-name = "mt6360,ldo7";
221d5b0e70fSEmmanuel Vadot				regulator-min-microvolt = <500000>;
222d5b0e70fSEmmanuel Vadot				regulator-max-microvolt = <2100000>;
223d5b0e70fSEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
224d5b0e70fSEmmanuel Vadot							   MT6360_OPMODE_LP>;
225d5b0e70fSEmmanuel Vadot				regulator-always-on;
226d5b0e70fSEmmanuel Vadot			};
227d5b0e70fSEmmanuel Vadot		};
228d5b0e70fSEmmanuel Vadot	};
229d5b0e70fSEmmanuel Vadot};
230d5b0e70fSEmmanuel Vadot
231d5b0e70fSEmmanuel Vadot&mmc0 {
232d5b0e70fSEmmanuel Vadot	status = "okay";
233d5b0e70fSEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
234d5b0e70fSEmmanuel Vadot	pinctrl-0 = <&mmc0_default_pins>;
235d5b0e70fSEmmanuel Vadot	pinctrl-1 = <&mmc0_uhs_pins>;
236d5b0e70fSEmmanuel Vadot	bus-width = <8>;
237d5b0e70fSEmmanuel Vadot	max-frequency = <200000000>;
238d5b0e70fSEmmanuel Vadot	cap-mmc-highspeed;
239d5b0e70fSEmmanuel Vadot	mmc-hs200-1_8v;
240d5b0e70fSEmmanuel Vadot	mmc-hs400-1_8v;
241d5b0e70fSEmmanuel Vadot	cap-mmc-hw-reset;
242d5b0e70fSEmmanuel Vadot	no-sdio;
243d5b0e70fSEmmanuel Vadot	no-sd;
244d5b0e70fSEmmanuel Vadot	hs400-ds-delay = <0x14c11>;
245d5b0e70fSEmmanuel Vadot	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
246d5b0e70fSEmmanuel Vadot	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
247d5b0e70fSEmmanuel Vadot	non-removable;
248d5b0e70fSEmmanuel Vadot};
249d5b0e70fSEmmanuel Vadot
250d5b0e70fSEmmanuel Vadot&mmc1 {
251d5b0e70fSEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
252d5b0e70fSEmmanuel Vadot	pinctrl-0 = <&mmc1_default_pins>;
253d5b0e70fSEmmanuel Vadot	pinctrl-1 = <&mmc1_uhs_pins>;
254d5b0e70fSEmmanuel Vadot	cd-gpios = <&pio 129 GPIO_ACTIVE_LOW>;
255d5b0e70fSEmmanuel Vadot	bus-width = <4>;
256d5b0e70fSEmmanuel Vadot	max-frequency = <200000000>;
257d5b0e70fSEmmanuel Vadot	cap-sd-highspeed;
258d5b0e70fSEmmanuel Vadot	sd-uhs-sdr50;
259d5b0e70fSEmmanuel Vadot	sd-uhs-sdr104;
260d5b0e70fSEmmanuel Vadot	vmmc-supply = <&mt6360_ldo5>;
261d5b0e70fSEmmanuel Vadot	vqmmc-supply = <&mt6360_ldo3>;
262d5b0e70fSEmmanuel Vadot	status = "okay";
263d5b0e70fSEmmanuel Vadot};
264d5b0e70fSEmmanuel Vadot
265d5b0e70fSEmmanuel Vadot&mt6359_vbbck_ldo_reg {
266d5b0e70fSEmmanuel Vadot	regulator-always-on;
267d5b0e70fSEmmanuel Vadot};
268d5b0e70fSEmmanuel Vadot
269d5b0e70fSEmmanuel Vadot&mt6359_vcore_buck_reg {
270d5b0e70fSEmmanuel Vadot	regulator-always-on;
271d5b0e70fSEmmanuel Vadot};
272d5b0e70fSEmmanuel Vadot
273d5b0e70fSEmmanuel Vadot&mt6359_vgpu11_buck_reg {
274d5b0e70fSEmmanuel Vadot	regulator-always-on;
275d5b0e70fSEmmanuel Vadot};
276d5b0e70fSEmmanuel Vadot
277d5b0e70fSEmmanuel Vadot&mt6359_vproc1_buck_reg {
278d5b0e70fSEmmanuel Vadot	regulator-always-on;
279d5b0e70fSEmmanuel Vadot};
280d5b0e70fSEmmanuel Vadot
281d5b0e70fSEmmanuel Vadot&mt6359_vproc2_buck_reg {
282d5b0e70fSEmmanuel Vadot	regulator-always-on;
283d5b0e70fSEmmanuel Vadot};
284d5b0e70fSEmmanuel Vadot
285d5b0e70fSEmmanuel Vadot&mt6359_vpu_buck_reg {
286d5b0e70fSEmmanuel Vadot	regulator-always-on;
287d5b0e70fSEmmanuel Vadot};
288d5b0e70fSEmmanuel Vadot
289d5b0e70fSEmmanuel Vadot&mt6359_vrf12_ldo_reg {
290d5b0e70fSEmmanuel Vadot	regulator-always-on;
291d5b0e70fSEmmanuel Vadot};
292d5b0e70fSEmmanuel Vadot
293d5b0e70fSEmmanuel Vadot&mt6359_vsram_md_ldo_reg {
294d5b0e70fSEmmanuel Vadot	regulator-always-on;
295d5b0e70fSEmmanuel Vadot};
296d5b0e70fSEmmanuel Vadot
297d5b0e70fSEmmanuel Vadot&mt6359_vsram_others_ldo_reg {
298d5b0e70fSEmmanuel Vadot	regulator-always-on;
299d5b0e70fSEmmanuel Vadot};
300d5b0e70fSEmmanuel Vadot
301d5b0e70fSEmmanuel Vadot&pio {
302cb7aa33aSEmmanuel Vadot	eth_default_pins: eth-default-pins {
303cb7aa33aSEmmanuel Vadot		pins-txd {
304cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>,
305cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO78__FUNC_GBE_TXD2>,
306cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO79__FUNC_GBE_TXD1>,
307cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO80__FUNC_GBE_TXD0>;
308cb7aa33aSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
309cb7aa33aSEmmanuel Vadot		};
310cb7aa33aSEmmanuel Vadot		pins-cc {
311cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>,
312cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO88__FUNC_GBE_TXEN>,
313cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO87__FUNC_GBE_RXDV>,
314cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO86__FUNC_GBE_RXC>;
315cb7aa33aSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
316cb7aa33aSEmmanuel Vadot		};
317cb7aa33aSEmmanuel Vadot		pins-rxd {
318cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>,
319cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO82__FUNC_GBE_RXD2>,
320cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO83__FUNC_GBE_RXD1>,
321cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO84__FUNC_GBE_RXD0>;
322cb7aa33aSEmmanuel Vadot		};
323cb7aa33aSEmmanuel Vadot		pins-mdio {
324cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>,
325cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO90__FUNC_GBE_MDIO>;
326cb7aa33aSEmmanuel Vadot			input-enable;
327cb7aa33aSEmmanuel Vadot		};
328cb7aa33aSEmmanuel Vadot		pins-power {
329cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO91__FUNC_GPIO91>,
330cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO92__FUNC_GPIO92>;
331cb7aa33aSEmmanuel Vadot			output-high;
332cb7aa33aSEmmanuel Vadot		};
333cb7aa33aSEmmanuel Vadot	};
334cb7aa33aSEmmanuel Vadot
335cb7aa33aSEmmanuel Vadot	eth_sleep_pins: eth-sleep-pins {
336cb7aa33aSEmmanuel Vadot		pins-txd {
337cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO77__FUNC_GPIO77>,
338cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO78__FUNC_GPIO78>,
339cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO79__FUNC_GPIO79>,
340cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO80__FUNC_GPIO80>;
341cb7aa33aSEmmanuel Vadot		};
342cb7aa33aSEmmanuel Vadot		pins-cc {
343cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO85__FUNC_GPIO85>,
344cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO88__FUNC_GPIO88>,
345cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO87__FUNC_GPIO87>,
346cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO86__FUNC_GPIO86>;
347cb7aa33aSEmmanuel Vadot		};
348cb7aa33aSEmmanuel Vadot		pins-rxd {
349cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO81__FUNC_GPIO81>,
350cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO82__FUNC_GPIO82>,
351cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO83__FUNC_GPIO83>,
352cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO84__FUNC_GPIO84>;
353cb7aa33aSEmmanuel Vadot		};
354cb7aa33aSEmmanuel Vadot		pins-mdio {
355cb7aa33aSEmmanuel Vadot			pinmux = <PINMUX_GPIO89__FUNC_GPIO89>,
356cb7aa33aSEmmanuel Vadot				 <PINMUX_GPIO90__FUNC_GPIO90>;
357cb7aa33aSEmmanuel Vadot			input-disable;
358cb7aa33aSEmmanuel Vadot			bias-disable;
359cb7aa33aSEmmanuel Vadot		};
360cb7aa33aSEmmanuel Vadot	};
361cb7aa33aSEmmanuel Vadot
362d5b0e70fSEmmanuel Vadot	gpio_keys_pins: gpio-keys-pins {
363d5b0e70fSEmmanuel Vadot		pins {
364d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO106__FUNC_GPIO106>;
365d5b0e70fSEmmanuel Vadot			input-enable;
366d5b0e70fSEmmanuel Vadot		};
367d5b0e70fSEmmanuel Vadot	};
368d5b0e70fSEmmanuel Vadot
369d5b0e70fSEmmanuel Vadot	i2c6_pins: i2c6-pins {
370d5b0e70fSEmmanuel Vadot		pins {
371d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO25__FUNC_SDA6>,
372d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO26__FUNC_SCL6>;
373d5b0e70fSEmmanuel Vadot			bias-pull-up;
374d5b0e70fSEmmanuel Vadot		};
375d5b0e70fSEmmanuel Vadot	};
376d5b0e70fSEmmanuel Vadot
377d5b0e70fSEmmanuel Vadot	mmc0_default_pins: mmc0-default-pins {
378d5b0e70fSEmmanuel Vadot		pins-clk {
379d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
380d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_6mA>;
381d5b0e70fSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
382d5b0e70fSEmmanuel Vadot		};
383d5b0e70fSEmmanuel Vadot
384d5b0e70fSEmmanuel Vadot		pins-cmd-dat {
385d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
386d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
387d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
388d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
389d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
390d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
391d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
392d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
393d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
394d5b0e70fSEmmanuel Vadot			input-enable;
395d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_6mA>;
396d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
397d5b0e70fSEmmanuel Vadot		};
398d5b0e70fSEmmanuel Vadot
399d5b0e70fSEmmanuel Vadot		pins-rst {
400d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
401d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_6mA>;
402d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
403d5b0e70fSEmmanuel Vadot		};
404d5b0e70fSEmmanuel Vadot	};
405d5b0e70fSEmmanuel Vadot
406d5b0e70fSEmmanuel Vadot	mmc0_uhs_pins: mmc0-uhs-pins {
407d5b0e70fSEmmanuel Vadot		pins-clk {
408d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
409d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
410d5b0e70fSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
411d5b0e70fSEmmanuel Vadot		};
412d5b0e70fSEmmanuel Vadot
413d5b0e70fSEmmanuel Vadot		pins-cmd-dat {
414d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
415d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
416d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
417d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
418d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
419d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
420d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
421d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
422d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
423d5b0e70fSEmmanuel Vadot			input-enable;
424d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
425d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
426d5b0e70fSEmmanuel Vadot		};
427d5b0e70fSEmmanuel Vadot
428d5b0e70fSEmmanuel Vadot		pins-ds {
429d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
430d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
431d5b0e70fSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
432d5b0e70fSEmmanuel Vadot		};
433d5b0e70fSEmmanuel Vadot
434d5b0e70fSEmmanuel Vadot		pins-rst {
435d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
436d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
437d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
438d5b0e70fSEmmanuel Vadot		};
439d5b0e70fSEmmanuel Vadot	};
440d5b0e70fSEmmanuel Vadot
441d5b0e70fSEmmanuel Vadot	mmc1_default_pins: mmc1-default-pins {
442d5b0e70fSEmmanuel Vadot		pins-clk {
443d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
444d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
445d5b0e70fSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
446d5b0e70fSEmmanuel Vadot		};
447d5b0e70fSEmmanuel Vadot
448d5b0e70fSEmmanuel Vadot		pins-cmd-dat {
449d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
450d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
451d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
452d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
453d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
454d5b0e70fSEmmanuel Vadot			input-enable;
455d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
456d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
457d5b0e70fSEmmanuel Vadot		};
458d5b0e70fSEmmanuel Vadot
459d5b0e70fSEmmanuel Vadot		pins-insert {
460d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO129__FUNC_GPIO129>;
461d5b0e70fSEmmanuel Vadot			bias-pull-up;
462d5b0e70fSEmmanuel Vadot		};
463d5b0e70fSEmmanuel Vadot	};
464d5b0e70fSEmmanuel Vadot
465d5b0e70fSEmmanuel Vadot	mmc1_uhs_pins: mmc1-uhs-pins {
466d5b0e70fSEmmanuel Vadot		pins-clk {
467d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
468d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
469d5b0e70fSEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
470d5b0e70fSEmmanuel Vadot		};
471d5b0e70fSEmmanuel Vadot
472d5b0e70fSEmmanuel Vadot		pins-cmd-dat {
473d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
474d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
475d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
476d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
477d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
478d5b0e70fSEmmanuel Vadot			input-enable;
479d5b0e70fSEmmanuel Vadot			drive-strength = <MTK_DRIVE_8mA>;
480d5b0e70fSEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
481d5b0e70fSEmmanuel Vadot		};
482d5b0e70fSEmmanuel Vadot	};
483d5b0e70fSEmmanuel Vadot
484d5b0e70fSEmmanuel Vadot	uart0_pins: uart0-pins {
485d5b0e70fSEmmanuel Vadot		pins {
486d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
487d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO99__FUNC_URXD0>;
488d5b0e70fSEmmanuel Vadot		};
489d5b0e70fSEmmanuel Vadot	};
490d5b0e70fSEmmanuel Vadot
491d5b0e70fSEmmanuel Vadot	uart1_pins: uart1-pins {
492d5b0e70fSEmmanuel Vadot		pins {
493d5b0e70fSEmmanuel Vadot			pinmux = <PINMUX_GPIO102__FUNC_UTXD1>,
494d5b0e70fSEmmanuel Vadot				 <PINMUX_GPIO103__FUNC_URXD1>;
495d5b0e70fSEmmanuel Vadot		};
496d5b0e70fSEmmanuel Vadot	};
497d5b0e70fSEmmanuel Vadot};
498d5b0e70fSEmmanuel Vadot
499d5b0e70fSEmmanuel Vadot
500d5b0e70fSEmmanuel Vadot&pmic {
501d5b0e70fSEmmanuel Vadot	interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
502d5b0e70fSEmmanuel Vadot};
503d5b0e70fSEmmanuel Vadot
504d5b0e70fSEmmanuel Vadot&uart0 {
505d5b0e70fSEmmanuel Vadot	pinctrl-names = "default";
506d5b0e70fSEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
507d5b0e70fSEmmanuel Vadot	status = "okay";
508d5b0e70fSEmmanuel Vadot};
509d5b0e70fSEmmanuel Vadot
510d5b0e70fSEmmanuel Vadot&uart1 {
511d5b0e70fSEmmanuel Vadot	pinctrl-names = "default";
512d5b0e70fSEmmanuel Vadot	pinctrl-0 = <&uart1_pins>;
513d5b0e70fSEmmanuel Vadot	status = "okay";
514d5b0e70fSEmmanuel Vadot};
515d5b0e70fSEmmanuel Vadot
516d5b0e70fSEmmanuel Vadot&u3phy0 {
517d5b0e70fSEmmanuel Vadot	status = "okay";
518d5b0e70fSEmmanuel Vadot};
519d5b0e70fSEmmanuel Vadot
520d5b0e70fSEmmanuel Vadot&u3phy1 {
521d5b0e70fSEmmanuel Vadot	status = "okay";
522d5b0e70fSEmmanuel Vadot};
523d5b0e70fSEmmanuel Vadot
524d5b0e70fSEmmanuel Vadot&u3phy2 {
525d5b0e70fSEmmanuel Vadot	status = "okay";
526d5b0e70fSEmmanuel Vadot};
527d5b0e70fSEmmanuel Vadot
528d5b0e70fSEmmanuel Vadot&u3phy3 {
529d5b0e70fSEmmanuel Vadot	status = "okay";
530d5b0e70fSEmmanuel Vadot};
531d5b0e70fSEmmanuel Vadot
532d5b0e70fSEmmanuel Vadot&xhci0 {
533d5b0e70fSEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
534d5b0e70fSEmmanuel Vadot	vbus-supply = <&otg_vbus_regulator>;
535d5b0e70fSEmmanuel Vadot	status = "okay";
536d5b0e70fSEmmanuel Vadot};
537d5b0e70fSEmmanuel Vadot
538d5b0e70fSEmmanuel Vadot&xhci1 {
539d5b0e70fSEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
540d5b0e70fSEmmanuel Vadot	status = "okay";
541d5b0e70fSEmmanuel Vadot};
542d5b0e70fSEmmanuel Vadot
543d5b0e70fSEmmanuel Vadot&xhci2 {
544d5b0e70fSEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
545d5b0e70fSEmmanuel Vadot	status = "okay";
546d5b0e70fSEmmanuel Vadot};
547d5b0e70fSEmmanuel Vadot
548d5b0e70fSEmmanuel Vadot&xhci3 {
549d5b0e70fSEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
550d5b0e70fSEmmanuel Vadot	status = "okay";
551d5b0e70fSEmmanuel Vadot};
552