xref: /linux/arch/arm64/boot/dts/mediatek/mt8365-evk.dts (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
16ff94537SFabien Parent// SPDX-License-Identifier: GPL-2.0
26ff94537SFabien Parent/*
36ff94537SFabien Parent * Copyright (c) 2021-2022 BayLibre, SAS.
46ff94537SFabien Parent * Authors:
56ff94537SFabien Parent * Fabien Parent <fparent@baylibre.com>
66ff94537SFabien Parent * Bernhard Rosenkränzer <bero@baylibre.com>
7*a9efc40fSAlexandre Mergnat * Alexandre Mergnat <amergnat@baylibre.com>
86ff94537SFabien Parent */
96ff94537SFabien Parent
106ff94537SFabien Parent/dts-v1/;
116ff94537SFabien Parent
126ff94537SFabien Parent#include <dt-bindings/gpio/gpio.h>
136ff94537SFabien Parent#include <dt-bindings/input/input.h>
146ff94537SFabien Parent#include <dt-bindings/pinctrl/mt8365-pinfunc.h>
156ff94537SFabien Parent#include "mt8365.dtsi"
1656e9f0f4SAlexandre Mergnat#include "mt6357.dtsi"
176ff94537SFabien Parent
186ff94537SFabien Parent/ {
196ff94537SFabien Parent	model = "MediaTek MT8365 Open Platform EVK";
206ff94537SFabien Parent	compatible = "mediatek,mt8365-evk", "mediatek,mt8365";
216ff94537SFabien Parent
226ff94537SFabien Parent	aliases {
236ff94537SFabien Parent		serial0 = &uart0;
246ff94537SFabien Parent	};
256ff94537SFabien Parent
266ff94537SFabien Parent	chosen {
276ff94537SFabien Parent		stdout-path = "serial0:921600n8";
286ff94537SFabien Parent	};
296ff94537SFabien Parent
306ff94537SFabien Parent	firmware {
316ff94537SFabien Parent		optee {
326ff94537SFabien Parent			compatible = "linaro,optee-tz";
336ff94537SFabien Parent			method = "smc";
346ff94537SFabien Parent		};
356ff94537SFabien Parent	};
366ff94537SFabien Parent
376ff94537SFabien Parent	gpio-keys {
386ff94537SFabien Parent		compatible = "gpio-keys";
396ff94537SFabien Parent		pinctrl-names = "default";
406ff94537SFabien Parent		pinctrl-0 = <&gpio_keys>;
416ff94537SFabien Parent
426ff94537SFabien Parent		key-volume-up {
436ff94537SFabien Parent			gpios = <&pio 24 GPIO_ACTIVE_LOW>;
446ff94537SFabien Parent			label = "volume_up";
456ff94537SFabien Parent			linux,code = <KEY_VOLUMEUP>;
466ff94537SFabien Parent			wakeup-source;
476ff94537SFabien Parent			debounce-interval = <15>;
486ff94537SFabien Parent		};
496ff94537SFabien Parent	};
506ff94537SFabien Parent
516ff94537SFabien Parent	memory@40000000 {
526ff94537SFabien Parent		device_type = "memory";
536ff94537SFabien Parent		reg = <0 0x40000000 0 0xc0000000>;
546ff94537SFabien Parent	};
556ff94537SFabien Parent
566ff94537SFabien Parent	usb_otg_vbus: regulator-0 {
576ff94537SFabien Parent		compatible = "regulator-fixed";
586ff94537SFabien Parent		regulator-name = "otg_vbus";
596ff94537SFabien Parent		regulator-min-microvolt = <5000000>;
606ff94537SFabien Parent		regulator-max-microvolt = <5000000>;
616ff94537SFabien Parent		gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
626ff94537SFabien Parent		enable-active-high;
636ff94537SFabien Parent	};
646ff94537SFabien Parent
656ff94537SFabien Parent	reserved-memory {
666ff94537SFabien Parent		#address-cells = <2>;
676ff94537SFabien Parent		#size-cells = <2>;
686ff94537SFabien Parent		ranges;
696ff94537SFabien Parent
702d98d0d2SAlexandre Bailon		/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
716ff94537SFabien Parent		bl31_secmon_reserved: secmon@43000000 {
726ff94537SFabien Parent			no-map;
732d98d0d2SAlexandre Bailon			reg = <0 0x43000000 0 0x30000>;
746ff94537SFabien Parent		};
756ff94537SFabien Parent
766ff94537SFabien Parent		/* 12 MiB reserved for OP-TEE (BL32)
776ff94537SFabien Parent		 * +-----------------------+ 0x43e0_0000
786ff94537SFabien Parent		 * |      SHMEM 2MiB       |
796ff94537SFabien Parent		 * +-----------------------+ 0x43c0_0000
806ff94537SFabien Parent		 * |        | TA_RAM  8MiB |
816ff94537SFabien Parent		 * + TZDRAM +--------------+ 0x4340_0000
826ff94537SFabien Parent		 * |        | TEE_RAM 2MiB |
836ff94537SFabien Parent		 * +-----------------------+ 0x4320_0000
846ff94537SFabien Parent		 */
856ff94537SFabien Parent		optee_reserved: optee@43200000 {
866ff94537SFabien Parent			no-map;
876ff94537SFabien Parent			reg = <0 0x43200000 0 0x00c00000>;
886ff94537SFabien Parent		};
896ff94537SFabien Parent	};
90*a9efc40fSAlexandre Mergnat
91*a9efc40fSAlexandre Mergnat	sound: sound {
92*a9efc40fSAlexandre Mergnat		compatible = "mediatek,mt8365-mt6357";
93*a9efc40fSAlexandre Mergnat		pinctrl-names = "default",
94*a9efc40fSAlexandre Mergnat				"dmic",
95*a9efc40fSAlexandre Mergnat				"miso_off",
96*a9efc40fSAlexandre Mergnat				"miso_on",
97*a9efc40fSAlexandre Mergnat				"mosi_off",
98*a9efc40fSAlexandre Mergnat				"mosi_on";
99*a9efc40fSAlexandre Mergnat		pinctrl-0 = <&aud_default_pins>;
100*a9efc40fSAlexandre Mergnat		pinctrl-1 = <&aud_dmic_pins>;
101*a9efc40fSAlexandre Mergnat		pinctrl-2 = <&aud_miso_off_pins>;
102*a9efc40fSAlexandre Mergnat		pinctrl-3 = <&aud_miso_on_pins>;
103*a9efc40fSAlexandre Mergnat		pinctrl-4 = <&aud_mosi_off_pins>;
104*a9efc40fSAlexandre Mergnat		pinctrl-5 = <&aud_mosi_on_pins>;
105*a9efc40fSAlexandre Mergnat		mediatek,platform = <&afe>;
106*a9efc40fSAlexandre Mergnat	};
107*a9efc40fSAlexandre Mergnat};
108*a9efc40fSAlexandre Mergnat
109*a9efc40fSAlexandre Mergnat&afe {
110*a9efc40fSAlexandre Mergnat	mediatek,dmic-mode = <1>;
111*a9efc40fSAlexandre Mergnat	status = "okay";
1126ff94537SFabien Parent};
1136ff94537SFabien Parent
114a5fe2dbaSAlexandre Mergnat&cpu0 {
115a5fe2dbaSAlexandre Mergnat	proc-supply = <&mt6357_vproc_reg>;
116a5fe2dbaSAlexandre Mergnat	sram-supply = <&mt6357_vsram_proc_reg>;
117a5fe2dbaSAlexandre Mergnat};
118a5fe2dbaSAlexandre Mergnat
119a5fe2dbaSAlexandre Mergnat&cpu1 {
120a5fe2dbaSAlexandre Mergnat	proc-supply = <&mt6357_vproc_reg>;
121a5fe2dbaSAlexandre Mergnat	sram-supply = <&mt6357_vsram_proc_reg>;
122a5fe2dbaSAlexandre Mergnat};
123a5fe2dbaSAlexandre Mergnat
124a5fe2dbaSAlexandre Mergnat&cpu2 {
125a5fe2dbaSAlexandre Mergnat	proc-supply = <&mt6357_vproc_reg>;
126a5fe2dbaSAlexandre Mergnat	sram-supply = <&mt6357_vsram_proc_reg>;
127a5fe2dbaSAlexandre Mergnat};
128a5fe2dbaSAlexandre Mergnat
129a5fe2dbaSAlexandre Mergnat&cpu3 {
130a5fe2dbaSAlexandre Mergnat	proc-supply = <&mt6357_vproc_reg>;
131a5fe2dbaSAlexandre Mergnat	sram-supply = <&mt6357_vsram_proc_reg>;
132a5fe2dbaSAlexandre Mergnat};
133a5fe2dbaSAlexandre Mergnat
1342c3df90cSAlexandre Mergnat&ethernet {
1352c3df90cSAlexandre Mergnat	pinctrl-0 = <&ethernet_pins>;
1362c3df90cSAlexandre Mergnat	pinctrl-names = "default";
1372c3df90cSAlexandre Mergnat	phy-handle = <&eth_phy>;
1382c3df90cSAlexandre Mergnat	phy-mode = "rmii";
1392c3df90cSAlexandre Mergnat	/*
1402c3df90cSAlexandre Mergnat	 * Ethernet and HDMI (DSI0) are sharing pins.
1412c3df90cSAlexandre Mergnat	 * Only one can be enabled at a time and require the physical switch
1422c3df90cSAlexandre Mergnat	 * SW2101 to be set on LAN position
1432c3df90cSAlexandre Mergnat	 * mt6357_vibr_reg and mt6357_vsim2_reg are needed to supply ethernet
1442c3df90cSAlexandre Mergnat	 */
1452c3df90cSAlexandre Mergnat	status = "disabled";
1462c3df90cSAlexandre Mergnat
1472c3df90cSAlexandre Mergnat	mdio {
1482c3df90cSAlexandre Mergnat		#address-cells = <1>;
1492c3df90cSAlexandre Mergnat		#size-cells = <0>;
1502c3df90cSAlexandre Mergnat
1512c3df90cSAlexandre Mergnat		eth_phy: ethernet-phy@0 {
1522c3df90cSAlexandre Mergnat			reg = <0>;
1532c3df90cSAlexandre Mergnat		};
1542c3df90cSAlexandre Mergnat	};
1552c3df90cSAlexandre Mergnat};
1562c3df90cSAlexandre Mergnat
157988eff65SAlexandre Mergnat&i2c0 {
158988eff65SAlexandre Mergnat	clock-frequency = <100000>;
159988eff65SAlexandre Mergnat	pinctrl-0 = <&i2c0_pins>;
160988eff65SAlexandre Mergnat	pinctrl-names = "default";
161988eff65SAlexandre Mergnat	status = "okay";
162988eff65SAlexandre Mergnat};
163988eff65SAlexandre Mergnat
1646e8270afSAlexandre Mergnat&mmc0 {
1656e8270afSAlexandre Mergnat	assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL>;
1666e8270afSAlexandre Mergnat	assigned-clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>;
1676e8270afSAlexandre Mergnat	bus-width = <8>;
1686e8270afSAlexandre Mergnat	cap-mmc-highspeed;
1696e8270afSAlexandre Mergnat	cap-mmc-hw-reset;
1706e8270afSAlexandre Mergnat	hs400-ds-delay = <0x12012>;
1716e8270afSAlexandre Mergnat	max-frequency = <200000000>;
1726e8270afSAlexandre Mergnat	mmc-hs200-1_8v;
1736e8270afSAlexandre Mergnat	mmc-hs400-1_8v;
1746e8270afSAlexandre Mergnat	no-sd;
1756e8270afSAlexandre Mergnat	no-sdio;
1766e8270afSAlexandre Mergnat	non-removable;
1776e8270afSAlexandre Mergnat	pinctrl-0 = <&mmc0_default_pins>;
1786e8270afSAlexandre Mergnat	pinctrl-1 = <&mmc0_uhs_pins>;
1796e8270afSAlexandre Mergnat	pinctrl-names = "default", "state_uhs";
1806e8270afSAlexandre Mergnat	vmmc-supply = <&mt6357_vemc_reg>;
1816e8270afSAlexandre Mergnat	vqmmc-supply = <&mt6357_vio18_reg>;
1826e8270afSAlexandre Mergnat	status = "okay";
1836e8270afSAlexandre Mergnat};
1846e8270afSAlexandre Mergnat
1856e8270afSAlexandre Mergnat&mmc1 {
1866e8270afSAlexandre Mergnat	bus-width = <4>;
1876e8270afSAlexandre Mergnat	cap-sd-highspeed;
1886e8270afSAlexandre Mergnat	cd-gpios = <&pio 76 GPIO_ACTIVE_LOW>;
1896e8270afSAlexandre Mergnat	max-frequency = <200000000>;
1906e8270afSAlexandre Mergnat	pinctrl-0 = <&mmc1_default_pins>;
1916e8270afSAlexandre Mergnat	pinctrl-1 = <&mmc1_uhs_pins>;
1926e8270afSAlexandre Mergnat	pinctrl-names = "default", "state_uhs";
1936e8270afSAlexandre Mergnat	sd-uhs-sdr104;
1946e8270afSAlexandre Mergnat	sd-uhs-sdr50;
1956e8270afSAlexandre Mergnat	vmmc-supply = <&mt6357_vmch_reg>;
1966e8270afSAlexandre Mergnat	vqmmc-supply = <&mt6357_vmc_reg>;
1976e8270afSAlexandre Mergnat	status = "okay";
1986e8270afSAlexandre Mergnat};
1996e8270afSAlexandre Mergnat
20056e9f0f4SAlexandre Mergnat&mt6357_pmic {
20156e9f0f4SAlexandre Mergnat	interrupts-extended = <&pio 145 IRQ_TYPE_LEVEL_HIGH>;
20256e9f0f4SAlexandre Mergnat	interrupt-controller;
20356e9f0f4SAlexandre Mergnat	#interrupt-cells = <2>;
204*a9efc40fSAlexandre Mergnat	mediatek,micbias0-microvolt = <1900000>;
205*a9efc40fSAlexandre Mergnat	mediatek,micbias1-microvolt = <1700000>;
20656e9f0f4SAlexandre Mergnat};
20756e9f0f4SAlexandre Mergnat
2086ff94537SFabien Parent&pio {
209*a9efc40fSAlexandre Mergnat	aud_default_pins: audiodefault-pins {
210*a9efc40fSAlexandre Mergnat		clk-dat-pins {
211*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_72_CMDAT4__FUNC_I2S3_BCK>,
212*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_73_CMDAT5__FUNC_I2S3_LRCK>,
213*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_74_CMDAT6__FUNC_I2S3_MCK>,
214*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_75_CMDAT7__FUNC_I2S3_DO>;
215*a9efc40fSAlexandre Mergnat		};
216*a9efc40fSAlexandre Mergnat	};
217*a9efc40fSAlexandre Mergnat
218*a9efc40fSAlexandre Mergnat	aud_dmic_pins: audiodmic-pins {
219*a9efc40fSAlexandre Mergnat		clk-dat-pins {
220*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_117_DMIC0_CLK__FUNC_DMIC0_CLK>,
221*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_118_DMIC0_DAT0__FUNC_DMIC0_DAT0>,
222*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_119_DMIC0_DAT1__FUNC_DMIC0_DAT1>;
223*a9efc40fSAlexandre Mergnat		};
224*a9efc40fSAlexandre Mergnat	};
225*a9efc40fSAlexandre Mergnat
226*a9efc40fSAlexandre Mergnat	aud_miso_off_pins: misooff-pins {
227*a9efc40fSAlexandre Mergnat		clk-dat-pins {
228*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_53_AUD_CLK_MISO__FUNC_GPIO53>,
229*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_54_AUD_SYNC_MISO__FUNC_GPIO54>,
230*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_55_AUD_DAT_MISO0__FUNC_GPIO55>,
231*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_56_AUD_DAT_MISO1__FUNC_GPIO56>;
232*a9efc40fSAlexandre Mergnat			input-enable;
233*a9efc40fSAlexandre Mergnat			bias-pull-down;
234*a9efc40fSAlexandre Mergnat			drive-strength = <2>;
235*a9efc40fSAlexandre Mergnat		};
236*a9efc40fSAlexandre Mergnat	};
237*a9efc40fSAlexandre Mergnat
238*a9efc40fSAlexandre Mergnat	aud_miso_on_pins: misoon-pins {
239*a9efc40fSAlexandre Mergnat		clk-dat-pins {
240*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_53_AUD_CLK_MISO__FUNC_AUD_CLK_MISO>,
241*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_54_AUD_SYNC_MISO__FUNC_AUD_SYNC_MISO>,
242*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_55_AUD_DAT_MISO0__FUNC_AUD_DAT_MISO0>,
243*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_56_AUD_DAT_MISO1__FUNC_AUD_DAT_MISO1>;
244*a9efc40fSAlexandre Mergnat			drive-strength = <6>;
245*a9efc40fSAlexandre Mergnat		};
246*a9efc40fSAlexandre Mergnat	};
247*a9efc40fSAlexandre Mergnat
248*a9efc40fSAlexandre Mergnat	aud_mosi_off_pins: mosioff-pins {
249*a9efc40fSAlexandre Mergnat		clk-dat-pins {
250*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_49_AUD_CLK_MOSI__FUNC_GPIO49>,
251*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_50_AUD_SYNC_MOSI__FUNC_GPIO50>,
252*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_51_AUD_DAT_MOSI0__FUNC_GPIO51>,
253*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_52_AUD_DAT_MOSI1__FUNC_GPIO52>;
254*a9efc40fSAlexandre Mergnat			input-enable;
255*a9efc40fSAlexandre Mergnat			bias-pull-down;
256*a9efc40fSAlexandre Mergnat			drive-strength = <2>;
257*a9efc40fSAlexandre Mergnat		};
258*a9efc40fSAlexandre Mergnat	};
259*a9efc40fSAlexandre Mergnat
260*a9efc40fSAlexandre Mergnat	aud_mosi_on_pins: mosion-pins {
261*a9efc40fSAlexandre Mergnat		clk-dat-pins {
262*a9efc40fSAlexandre Mergnat			pinmux = <MT8365_PIN_49_AUD_CLK_MOSI__FUNC_AUD_CLK_MOSI>,
263*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_50_AUD_SYNC_MOSI__FUNC_AUD_SYNC_MOSI>,
264*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_51_AUD_DAT_MOSI0__FUNC_AUD_DAT_MOSI0>,
265*a9efc40fSAlexandre Mergnat				 <MT8365_PIN_52_AUD_DAT_MOSI1__FUNC_AUD_DAT_MOSI1>;
266*a9efc40fSAlexandre Mergnat			drive-strength = <6>;
267*a9efc40fSAlexandre Mergnat		};
268*a9efc40fSAlexandre Mergnat	};
269*a9efc40fSAlexandre Mergnat
2702c3df90cSAlexandre Mergnat	ethernet_pins: ethernet-pins {
2712c3df90cSAlexandre Mergnat		phy_reset_pins {
2722c3df90cSAlexandre Mergnat			pinmux = <MT8365_PIN_133_TDM_TX_DATA1__FUNC_GPIO133>;
2732c3df90cSAlexandre Mergnat		};
2742c3df90cSAlexandre Mergnat
2752c3df90cSAlexandre Mergnat		rmii_pins {
2762c3df90cSAlexandre Mergnat			pinmux = <MT8365_PIN_0_GPIO0__FUNC_EXT_TXD0>,
2772c3df90cSAlexandre Mergnat				 <MT8365_PIN_1_GPIO1__FUNC_EXT_TXD1>,
2782c3df90cSAlexandre Mergnat				 <MT8365_PIN_2_GPIO2__FUNC_EXT_TXD2>,
2792c3df90cSAlexandre Mergnat				 <MT8365_PIN_3_GPIO3__FUNC_EXT_TXD3>,
2802c3df90cSAlexandre Mergnat				 <MT8365_PIN_4_GPIO4__FUNC_EXT_TXC>,
2812c3df90cSAlexandre Mergnat				 <MT8365_PIN_5_GPIO5__FUNC_EXT_RXER>,
2822c3df90cSAlexandre Mergnat				 <MT8365_PIN_6_GPIO6__FUNC_EXT_RXC>,
2832c3df90cSAlexandre Mergnat				 <MT8365_PIN_7_GPIO7__FUNC_EXT_RXDV>,
2842c3df90cSAlexandre Mergnat				 <MT8365_PIN_8_GPIO8__FUNC_EXT_RXD0>,
2852c3df90cSAlexandre Mergnat				 <MT8365_PIN_9_GPIO9__FUNC_EXT_RXD1>,
2862c3df90cSAlexandre Mergnat				 <MT8365_PIN_10_GPIO10__FUNC_EXT_RXD2>,
2872c3df90cSAlexandre Mergnat				 <MT8365_PIN_11_GPIO11__FUNC_EXT_RXD3>,
2882c3df90cSAlexandre Mergnat				 <MT8365_PIN_12_GPIO12__FUNC_EXT_TXEN>,
2892c3df90cSAlexandre Mergnat				 <MT8365_PIN_13_GPIO13__FUNC_EXT_COL>,
2902c3df90cSAlexandre Mergnat				 <MT8365_PIN_14_GPIO14__FUNC_EXT_MDIO>,
2912c3df90cSAlexandre Mergnat				 <MT8365_PIN_15_GPIO15__FUNC_EXT_MDC>;
2922c3df90cSAlexandre Mergnat		};
2932c3df90cSAlexandre Mergnat	};
2942c3df90cSAlexandre Mergnat
2956ff94537SFabien Parent	gpio_keys: gpio-keys-pins {
2966ff94537SFabien Parent		pins {
2976ff94537SFabien Parent			pinmux = <MT8365_PIN_24_KPCOL0__FUNC_KPCOL0>;
2986ff94537SFabien Parent			bias-pull-up;
2996ff94537SFabien Parent			input-enable;
3006ff94537SFabien Parent		};
3016ff94537SFabien Parent	};
3026ff94537SFabien Parent
303988eff65SAlexandre Mergnat	i2c0_pins: i2c0-pins {
304988eff65SAlexandre Mergnat		pins {
305988eff65SAlexandre Mergnat			pinmux = <MT8365_PIN_57_SDA0__FUNC_SDA0_0>,
306988eff65SAlexandre Mergnat				 <MT8365_PIN_58_SCL0__FUNC_SCL0_0>;
307988eff65SAlexandre Mergnat			bias-pull-up;
308988eff65SAlexandre Mergnat		};
309988eff65SAlexandre Mergnat	};
310988eff65SAlexandre Mergnat
3116e8270afSAlexandre Mergnat	mmc0_default_pins: mmc0-default-pins {
3126e8270afSAlexandre Mergnat		clk-pins {
3136e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_99_MSDC0_CLK__FUNC_MSDC0_CLK>;
3146e8270afSAlexandre Mergnat			bias-pull-down;
3156e8270afSAlexandre Mergnat		};
3166e8270afSAlexandre Mergnat
3176e8270afSAlexandre Mergnat		cmd-dat-pins {
3186e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_103_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
3196e8270afSAlexandre Mergnat				 <MT8365_PIN_102_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
3206e8270afSAlexandre Mergnat				 <MT8365_PIN_101_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
3216e8270afSAlexandre Mergnat				 <MT8365_PIN_100_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
3226e8270afSAlexandre Mergnat				 <MT8365_PIN_96_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
3236e8270afSAlexandre Mergnat				 <MT8365_PIN_95_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
3246e8270afSAlexandre Mergnat				 <MT8365_PIN_94_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
3256e8270afSAlexandre Mergnat				 <MT8365_PIN_93_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
3266e8270afSAlexandre Mergnat				 <MT8365_PIN_98_MSDC0_CMD__FUNC_MSDC0_CMD>;
3276e8270afSAlexandre Mergnat			input-enable;
3286e8270afSAlexandre Mergnat			bias-pull-up;
3296e8270afSAlexandre Mergnat		};
3306e8270afSAlexandre Mergnat
3316e8270afSAlexandre Mergnat		rst-pins {
3326e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_97_MSDC0_RSTB__FUNC_MSDC0_RSTB>;
3336e8270afSAlexandre Mergnat			bias-pull-up;
3346e8270afSAlexandre Mergnat		};
3356e8270afSAlexandre Mergnat	};
3366e8270afSAlexandre Mergnat
3376e8270afSAlexandre Mergnat	mmc0_uhs_pins: mmc0-uhs-pins {
3386e8270afSAlexandre Mergnat		clk-pins {
3396e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_99_MSDC0_CLK__FUNC_MSDC0_CLK>;
3406e8270afSAlexandre Mergnat			drive-strength = <MTK_DRIVE_10mA>;
3416e8270afSAlexandre Mergnat			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
3426e8270afSAlexandre Mergnat		};
3436e8270afSAlexandre Mergnat
3446e8270afSAlexandre Mergnat		cmd-dat-pins {
3456e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_103_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
3466e8270afSAlexandre Mergnat				 <MT8365_PIN_102_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
3476e8270afSAlexandre Mergnat				 <MT8365_PIN_101_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
3486e8270afSAlexandre Mergnat				 <MT8365_PIN_100_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
3496e8270afSAlexandre Mergnat				 <MT8365_PIN_96_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
3506e8270afSAlexandre Mergnat				 <MT8365_PIN_95_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
3516e8270afSAlexandre Mergnat				 <MT8365_PIN_94_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
3526e8270afSAlexandre Mergnat				 <MT8365_PIN_93_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
3536e8270afSAlexandre Mergnat				 <MT8365_PIN_98_MSDC0_CMD__FUNC_MSDC0_CMD>;
3546e8270afSAlexandre Mergnat			input-enable;
3556e8270afSAlexandre Mergnat			drive-strength = <MTK_DRIVE_10mA>;
3566e8270afSAlexandre Mergnat			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
3576e8270afSAlexandre Mergnat		};
3586e8270afSAlexandre Mergnat
3596e8270afSAlexandre Mergnat		ds-pins {
3606e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_104_MSDC0_DSL__FUNC_MSDC0_DSL>;
3616e8270afSAlexandre Mergnat			drive-strength = <MTK_DRIVE_10mA>;
3626e8270afSAlexandre Mergnat			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
3636e8270afSAlexandre Mergnat		};
3646e8270afSAlexandre Mergnat
3656e8270afSAlexandre Mergnat		rst-pins {
3666e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_97_MSDC0_RSTB__FUNC_MSDC0_RSTB>;
3676e8270afSAlexandre Mergnat			drive-strength = <MTK_DRIVE_10mA>;
3686e8270afSAlexandre Mergnat			bias-pull-up;
3696e8270afSAlexandre Mergnat		};
3706e8270afSAlexandre Mergnat	};
3716e8270afSAlexandre Mergnat
3726e8270afSAlexandre Mergnat	mmc1_default_pins: mmc1-default-pins {
3736e8270afSAlexandre Mergnat		cd-pins {
3746e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_76_CMDAT8__FUNC_GPIO76>;
3756e8270afSAlexandre Mergnat			bias-pull-up;
3766e8270afSAlexandre Mergnat		};
3776e8270afSAlexandre Mergnat
3786e8270afSAlexandre Mergnat		clk-pins {
3796e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_88_MSDC1_CLK__FUNC_MSDC1_CLK>;
3806e8270afSAlexandre Mergnat			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
3816e8270afSAlexandre Mergnat		};
3826e8270afSAlexandre Mergnat
3836e8270afSAlexandre Mergnat		cmd-dat-pins {
3846e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_89_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
3856e8270afSAlexandre Mergnat				 <MT8365_PIN_90_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
3866e8270afSAlexandre Mergnat				 <MT8365_PIN_91_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
3876e8270afSAlexandre Mergnat				 <MT8365_PIN_92_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
3886e8270afSAlexandre Mergnat				 <MT8365_PIN_87_MSDC1_CMD__FUNC_MSDC1_CMD>;
3896e8270afSAlexandre Mergnat			input-enable;
3906e8270afSAlexandre Mergnat			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
3916e8270afSAlexandre Mergnat		};
3926e8270afSAlexandre Mergnat	};
3936e8270afSAlexandre Mergnat
3946e8270afSAlexandre Mergnat	mmc1_uhs_pins: mmc1-uhs-pins {
3956e8270afSAlexandre Mergnat		clk-pins {
3966e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_88_MSDC1_CLK__FUNC_MSDC1_CLK>;
397d79603c2SAngeloGioacchino Del Regno			drive-strength = <8>;
3986e8270afSAlexandre Mergnat			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
3996e8270afSAlexandre Mergnat		};
4006e8270afSAlexandre Mergnat
4016e8270afSAlexandre Mergnat		cmd-dat-pins {
4026e8270afSAlexandre Mergnat			pinmux = <MT8365_PIN_89_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
4036e8270afSAlexandre Mergnat				 <MT8365_PIN_90_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
4046e8270afSAlexandre Mergnat				 <MT8365_PIN_91_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
4056e8270afSAlexandre Mergnat				 <MT8365_PIN_92_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
4066e8270afSAlexandre Mergnat				 <MT8365_PIN_87_MSDC1_CMD__FUNC_MSDC1_CMD>;
4076e8270afSAlexandre Mergnat			input-enable;
408d79603c2SAngeloGioacchino Del Regno			drive-strength = <6>;
4096e8270afSAlexandre Mergnat			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4106e8270afSAlexandre Mergnat		};
4116e8270afSAlexandre Mergnat	};
4126e8270afSAlexandre Mergnat
4136ff94537SFabien Parent	uart0_pins: uart0-pins {
4146ff94537SFabien Parent		pins {
4156ff94537SFabien Parent			pinmux = <MT8365_PIN_35_URXD0__FUNC_URXD0>,
4166ff94537SFabien Parent				 <MT8365_PIN_36_UTXD0__FUNC_UTXD0>;
4176ff94537SFabien Parent		};
4186ff94537SFabien Parent	};
4196ff94537SFabien Parent
4206ff94537SFabien Parent	uart1_pins: uart1-pins {
4216ff94537SFabien Parent		pins {
4226ff94537SFabien Parent			pinmux = <MT8365_PIN_37_URXD1__FUNC_URXD1>,
4236ff94537SFabien Parent				 <MT8365_PIN_38_UTXD1__FUNC_UTXD1>;
4246ff94537SFabien Parent		};
4256ff94537SFabien Parent	};
4266ff94537SFabien Parent
4276ff94537SFabien Parent	uart2_pins: uart2-pins {
4286ff94537SFabien Parent		pins {
4296ff94537SFabien Parent			pinmux = <MT8365_PIN_39_URXD2__FUNC_URXD2>,
4306ff94537SFabien Parent				 <MT8365_PIN_40_UTXD2__FUNC_UTXD2>;
4316ff94537SFabien Parent		};
4326ff94537SFabien Parent	};
4336ff94537SFabien Parent
4346ff94537SFabien Parent	usb_pins: usb-pins {
4356ff94537SFabien Parent		id-pins {
4366ff94537SFabien Parent			pinmux = <MT8365_PIN_17_GPIO17__FUNC_GPIO17>;
4376ff94537SFabien Parent			input-enable;
4386ff94537SFabien Parent			bias-pull-up;
4396ff94537SFabien Parent		};
4406ff94537SFabien Parent
4416ff94537SFabien Parent		usb0-vbus-pins {
4426ff94537SFabien Parent			pinmux = <MT8365_PIN_16_GPIO16__FUNC_USB_DRVVBUS>;
4436ff94537SFabien Parent			output-high;
4446ff94537SFabien Parent		};
4456ff94537SFabien Parent
4466ff94537SFabien Parent		usb1-vbus-pins {
4476ff94537SFabien Parent			pinmux = <MT8365_PIN_18_GPIO18__FUNC_GPIO18>;
4486ff94537SFabien Parent			output-high;
4496ff94537SFabien Parent		};
4506ff94537SFabien Parent	};
4516ff94537SFabien Parent
4526ff94537SFabien Parent	pwm_pins: pwm-pins {
4536ff94537SFabien Parent		pins {
4546ff94537SFabien Parent			pinmux = <MT8365_PIN_19_DISP_PWM__FUNC_PWM_A>,
4556ff94537SFabien Parent				 <MT8365_PIN_116_I2S_BCK__FUNC_PWM_C>;
4566ff94537SFabien Parent		};
4576ff94537SFabien Parent	};
4586ff94537SFabien Parent};
4596ff94537SFabien Parent
4606ff94537SFabien Parent&pwm {
4616ff94537SFabien Parent	pinctrl-0 = <&pwm_pins>;
4626ff94537SFabien Parent	pinctrl-names = "default";
4636ff94537SFabien Parent	status = "okay";
4646ff94537SFabien Parent};
4656ff94537SFabien Parent
4660899813fSAlexandre Mergnat&ssusb {
4670899813fSAlexandre Mergnat	dr_mode = "otg";
4680899813fSAlexandre Mergnat	maximum-speed = "high-speed";
4690899813fSAlexandre Mergnat	pinctrl-0 = <&usb_pins>;
4700899813fSAlexandre Mergnat	pinctrl-names = "default";
4710899813fSAlexandre Mergnat	usb-role-switch;
4720899813fSAlexandre Mergnat	vusb33-supply = <&mt6357_vusb33_reg>;
4730899813fSAlexandre Mergnat	status = "okay";
4740899813fSAlexandre Mergnat
4750899813fSAlexandre Mergnat	connector {
4760899813fSAlexandre Mergnat		compatible = "gpio-usb-b-connector", "usb-b-connector";
4770899813fSAlexandre Mergnat		id-gpios = <&pio 17 GPIO_ACTIVE_HIGH>;
4780899813fSAlexandre Mergnat		type = "micro";
4790899813fSAlexandre Mergnat		vbus-supply = <&usb_otg_vbus>;
4800899813fSAlexandre Mergnat	};
4810899813fSAlexandre Mergnat};
4820899813fSAlexandre Mergnat
4830899813fSAlexandre Mergnat&usb_host {
4840899813fSAlexandre Mergnat	vusb33-supply = <&mt6357_vusb33_reg>;
4850899813fSAlexandre Mergnat	status = "okay";
4860899813fSAlexandre Mergnat};
4870899813fSAlexandre Mergnat
4886ff94537SFabien Parent&uart0 {
4896ff94537SFabien Parent	pinctrl-0 = <&uart0_pins>;
4906ff94537SFabien Parent	pinctrl-names = "default";
4916ff94537SFabien Parent	status = "okay";
4926ff94537SFabien Parent};
4936ff94537SFabien Parent
4946ff94537SFabien Parent&uart1 {
4956ff94537SFabien Parent	pinctrl-0 = <&uart1_pins>;
4966ff94537SFabien Parent	pinctrl-names = "default";
4976ff94537SFabien Parent	status = "okay";
4986ff94537SFabien Parent};
4996ff94537SFabien Parent
5006ff94537SFabien Parent&uart2 {
5016ff94537SFabien Parent	pinctrl-0 = <&uart2_pins>;
5026ff94537SFabien Parent	pinctrl-names = "default";
5036ff94537SFabien Parent	status = "okay";
5046ff94537SFabien Parent};
505