16147314aSFabien Parent// SPDX-License-Identifier: (GPL-2.0 OR MIT)
26147314aSFabien Parent/*
36147314aSFabien Parent * Copyright (C) 2022 BayLibre, SAS.
46147314aSFabien Parent * Author: Fabien Parent <fparent@baylibre.com>
56147314aSFabien Parent */
66147314aSFabien Parent/dts-v1/;
76147314aSFabien Parent
86147314aSFabien Parent#include "mt8195.dtsi"
96147314aSFabien Parent#include "mt6359.dtsi"
106147314aSFabien Parent
116147314aSFabien Parent#include <dt-bindings/gpio/gpio.h>
126147314aSFabien Parent#include <dt-bindings/input/input.h>
136147314aSFabien Parent#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
146147314aSFabien Parent#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
156147314aSFabien Parent
166147314aSFabien Parent/ {
176147314aSFabien Parent	model = "MediaTek MT8195 demo board";
186147314aSFabien Parent	compatible = "mediatek,mt8195-demo", "mediatek,mt8195";
196147314aSFabien Parent
206147314aSFabien Parent	aliases {
216147314aSFabien Parent		serial0 = &uart0;
226147314aSFabien Parent	};
236147314aSFabien Parent
246147314aSFabien Parent	chosen {
256147314aSFabien Parent		stdout-path = "serial0:921600n8";
266147314aSFabien Parent	};
276147314aSFabien Parent
286147314aSFabien Parent	firmware {
296147314aSFabien Parent		optee {
306147314aSFabien Parent			compatible = "linaro,optee-tz";
316147314aSFabien Parent			method = "smc";
326147314aSFabien Parent		};
336147314aSFabien Parent	};
346147314aSFabien Parent
356147314aSFabien Parent	gpio-keys {
366147314aSFabien Parent		compatible = "gpio-keys";
376147314aSFabien Parent		pinctrl-names = "default";
386147314aSFabien Parent		pinctrl-0 = <&gpio_keys_pins>;
396147314aSFabien Parent
406147314aSFabien Parent		key-0 {
416147314aSFabien Parent			gpios = <&pio 106 GPIO_ACTIVE_LOW>;
426147314aSFabien Parent			label = "volume_up";
436147314aSFabien Parent			linux,code = <KEY_VOLUMEUP>;
446147314aSFabien Parent			wakeup-source;
456147314aSFabien Parent			debounce-interval = <15>;
466147314aSFabien Parent		};
476147314aSFabien Parent	};
486147314aSFabien Parent
496147314aSFabien Parent	memory@40000000 {
506147314aSFabien Parent		device_type = "memory";
5125389c03SMacpaul Lin		reg = <0 0x40000000 0x2 0x00000000>;
526147314aSFabien Parent	};
536147314aSFabien Parent
546147314aSFabien Parent	reserved-memory {
556147314aSFabien Parent		#address-cells = <2>;
566147314aSFabien Parent		#size-cells = <2>;
576147314aSFabien Parent		ranges;
586147314aSFabien Parent
59*6cd2a30bSMacpaul Lin		/*
60*6cd2a30bSMacpaul Lin		 * 12 MiB reserved for OP-TEE (BL32)
616147314aSFabien Parent		 * +-----------------------+ 0x43e0_0000
626147314aSFabien Parent		 * |      SHMEM 2MiB       |
636147314aSFabien Parent		 * +-----------------------+ 0x43c0_0000
646147314aSFabien Parent		 * |        | TA_RAM  8MiB |
656147314aSFabien Parent		 * + TZDRAM +--------------+ 0x4340_0000
666147314aSFabien Parent		 * |        | TEE_RAM 2MiB |
676147314aSFabien Parent		 * +-----------------------+ 0x4320_0000
686147314aSFabien Parent		 */
696147314aSFabien Parent		optee_reserved: optee@43200000 {
706147314aSFabien Parent			no-map;
716147314aSFabien Parent			reg = <0 0x43200000 0 0x00c00000>;
726147314aSFabien Parent		};
73*6cd2a30bSMacpaul Lin
74*6cd2a30bSMacpaul Lin		scp_mem: memory@50000000 {
75*6cd2a30bSMacpaul Lin			compatible = "shared-dma-pool";
76*6cd2a30bSMacpaul Lin			reg = <0 0x50000000 0 0x2900000>;
77*6cd2a30bSMacpaul Lin			no-map;
78*6cd2a30bSMacpaul Lin		};
79*6cd2a30bSMacpaul Lin
80*6cd2a30bSMacpaul Lin		vpu_mem: memory@53000000 {
81*6cd2a30bSMacpaul Lin			compatible = "shared-dma-pool";
82*6cd2a30bSMacpaul Lin			reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
83*6cd2a30bSMacpaul Lin		};
84*6cd2a30bSMacpaul Lin
85*6cd2a30bSMacpaul Lin		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
86*6cd2a30bSMacpaul Lin		bl31_secmon_mem: memory@54600000 {
87*6cd2a30bSMacpaul Lin			no-map;
88*6cd2a30bSMacpaul Lin			reg = <0 0x54600000 0x0 0x200000>;
89*6cd2a30bSMacpaul Lin		};
90*6cd2a30bSMacpaul Lin
91*6cd2a30bSMacpaul Lin		snd_dma_mem: memory@60000000 {
92*6cd2a30bSMacpaul Lin			compatible = "shared-dma-pool";
93*6cd2a30bSMacpaul Lin			reg = <0 0x60000000 0 0x1100000>;
94*6cd2a30bSMacpaul Lin			no-map;
95*6cd2a30bSMacpaul Lin		};
96*6cd2a30bSMacpaul Lin
97*6cd2a30bSMacpaul Lin		apu_mem: memory@62000000 {
98*6cd2a30bSMacpaul Lin			compatible = "shared-dma-pool";
99*6cd2a30bSMacpaul Lin			reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
100*6cd2a30bSMacpaul Lin		};
1016147314aSFabien Parent	};
1026147314aSFabien Parent};
1036147314aSFabien Parent
104c5fe37e8SBiao Huang&eth {
105c5fe37e8SBiao Huang	phy-mode ="rgmii-id";
106c5fe37e8SBiao Huang	phy-handle = <&ethernet_phy0>;
107c5fe37e8SBiao Huang	snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
108c5fe37e8SBiao Huang	snps,reset-delays-us = <0 10000 80000>;
109c5fe37e8SBiao Huang	pinctrl-names = "default", "sleep";
110c5fe37e8SBiao Huang	pinctrl-0 = <&eth_default_pins>;
111c5fe37e8SBiao Huang	pinctrl-1 = <&eth_sleep_pins>;
112c5fe37e8SBiao Huang	status = "okay";
113c5fe37e8SBiao Huang
114c5fe37e8SBiao Huang	mdio {
115c5fe37e8SBiao Huang		ethernet_phy0: ethernet-phy@1 {
116c5fe37e8SBiao Huang			reg = <0x1>;
117c5fe37e8SBiao Huang		};
118c5fe37e8SBiao Huang	};
119c5fe37e8SBiao Huang};
120c5fe37e8SBiao Huang
1216147314aSFabien Parent&i2c6 {
1226147314aSFabien Parent	clock-frequency = <400000>;
1236147314aSFabien Parent	pinctrl-0 = <&i2c6_pins>;
1246147314aSFabien Parent	pinctrl-names = "default";
1256147314aSFabien Parent	status = "okay";
1266147314aSFabien Parent
1276147314aSFabien Parent	mt6360: pmic@34 {
1286147314aSFabien Parent		compatible = "mediatek,mt6360";
1296147314aSFabien Parent		reg = <0x34>;
1306147314aSFabien Parent		interrupt-controller;
1316147314aSFabien Parent		interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>;
1326147314aSFabien Parent		interrupt-names = "IRQB";
1336147314aSFabien Parent
1346147314aSFabien Parent		charger {
1356147314aSFabien Parent			compatible = "mediatek,mt6360-chg";
1366147314aSFabien Parent			richtek,vinovp-microvolt = <14500000>;
1376147314aSFabien Parent
1386147314aSFabien Parent			otg_vbus_regulator: usb-otg-vbus-regulator {
1396147314aSFabien Parent				regulator-compatible = "usb-otg-vbus";
1406147314aSFabien Parent				regulator-name = "usb-otg-vbus";
1416147314aSFabien Parent				regulator-min-microvolt = <4425000>;
1426147314aSFabien Parent				regulator-max-microvolt = <5825000>;
1436147314aSFabien Parent			};
1446147314aSFabien Parent		};
1456147314aSFabien Parent
1466147314aSFabien Parent		regulator {
1476147314aSFabien Parent			compatible = "mediatek,mt6360-regulator";
1486147314aSFabien Parent			LDO_VIN3-supply = <&mt6360_buck2>;
1496147314aSFabien Parent
1506147314aSFabien Parent			mt6360_buck1: buck1 {
1516147314aSFabien Parent				regulator-compatible = "BUCK1";
1526147314aSFabien Parent				regulator-name = "mt6360,buck1";
1536147314aSFabien Parent				regulator-min-microvolt = <300000>;
1546147314aSFabien Parent				regulator-max-microvolt = <1300000>;
1556147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
1566147314aSFabien Parent							   MT6360_OPMODE_LP
1576147314aSFabien Parent							   MT6360_OPMODE_ULP>;
1586147314aSFabien Parent				regulator-always-on;
1596147314aSFabien Parent			};
1606147314aSFabien Parent
1616147314aSFabien Parent			mt6360_buck2: buck2 {
1626147314aSFabien Parent				regulator-compatible = "BUCK2";
1636147314aSFabien Parent				regulator-name = "mt6360,buck2";
1646147314aSFabien Parent				regulator-min-microvolt = <300000>;
1656147314aSFabien Parent				regulator-max-microvolt = <1300000>;
1666147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
1676147314aSFabien Parent							   MT6360_OPMODE_LP
1686147314aSFabien Parent							   MT6360_OPMODE_ULP>;
1696147314aSFabien Parent				regulator-always-on;
1706147314aSFabien Parent			};
1716147314aSFabien Parent
1726147314aSFabien Parent			mt6360_ldo1: ldo1 {
1736147314aSFabien Parent				regulator-compatible = "LDO1";
1746147314aSFabien Parent				regulator-name = "mt6360,ldo1";
1756147314aSFabien Parent				regulator-min-microvolt = <1200000>;
1766147314aSFabien Parent				regulator-max-microvolt = <3600000>;
1776147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
1786147314aSFabien Parent							   MT6360_OPMODE_LP>;
1796147314aSFabien Parent			};
1806147314aSFabien Parent
1816147314aSFabien Parent			mt6360_ldo2: ldo2 {
1826147314aSFabien Parent				regulator-compatible = "LDO2";
1836147314aSFabien Parent				regulator-name = "mt6360,ldo2";
1846147314aSFabien Parent				regulator-min-microvolt = <1200000>;
1856147314aSFabien Parent				regulator-max-microvolt = <3600000>;
1866147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
1876147314aSFabien Parent							   MT6360_OPMODE_LP>;
1886147314aSFabien Parent			};
1896147314aSFabien Parent
1906147314aSFabien Parent			mt6360_ldo3: ldo3 {
1916147314aSFabien Parent				regulator-compatible = "LDO3";
1926147314aSFabien Parent				regulator-name = "mt6360,ldo3";
1936147314aSFabien Parent				regulator-min-microvolt = <1200000>;
1946147314aSFabien Parent				regulator-max-microvolt = <3600000>;
1956147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
1966147314aSFabien Parent							   MT6360_OPMODE_LP>;
1976147314aSFabien Parent			};
1986147314aSFabien Parent
1996147314aSFabien Parent			mt6360_ldo5: ldo5 {
2006147314aSFabien Parent				regulator-compatible = "LDO5";
2016147314aSFabien Parent				regulator-name = "mt6360,ldo5";
2026147314aSFabien Parent				regulator-min-microvolt = <2700000>;
2036147314aSFabien Parent				regulator-max-microvolt = <3600000>;
2046147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
2056147314aSFabien Parent							   MT6360_OPMODE_LP>;
2066147314aSFabien Parent			};
2076147314aSFabien Parent
2086147314aSFabien Parent			mt6360_ldo6: ldo6 {
2096147314aSFabien Parent				regulator-compatible = "LDO6";
2106147314aSFabien Parent				regulator-name = "mt6360,ldo6";
2116147314aSFabien Parent				regulator-min-microvolt = <500000>;
2126147314aSFabien Parent				regulator-max-microvolt = <2100000>;
2136147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
2146147314aSFabien Parent							   MT6360_OPMODE_LP>;
2156147314aSFabien Parent			};
2166147314aSFabien Parent
2176147314aSFabien Parent			mt6360_ldo7: ldo7 {
2186147314aSFabien Parent				regulator-compatible = "LDO7";
2196147314aSFabien Parent				regulator-name = "mt6360,ldo7";
2206147314aSFabien Parent				regulator-min-microvolt = <500000>;
2216147314aSFabien Parent				regulator-max-microvolt = <2100000>;
2226147314aSFabien Parent				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
2236147314aSFabien Parent							   MT6360_OPMODE_LP>;
2246147314aSFabien Parent				regulator-always-on;
2256147314aSFabien Parent			};
2266147314aSFabien Parent		};
2276147314aSFabien Parent	};
2286147314aSFabien Parent};
2296147314aSFabien Parent
2306147314aSFabien Parent&mmc0 {
2316147314aSFabien Parent	status = "okay";
2326147314aSFabien Parent	pinctrl-names = "default", "state_uhs";
2336147314aSFabien Parent	pinctrl-0 = <&mmc0_default_pins>;
2346147314aSFabien Parent	pinctrl-1 = <&mmc0_uhs_pins>;
2356147314aSFabien Parent	bus-width = <8>;
2366147314aSFabien Parent	max-frequency = <200000000>;
2376147314aSFabien Parent	cap-mmc-highspeed;
2386147314aSFabien Parent	mmc-hs200-1_8v;
2396147314aSFabien Parent	mmc-hs400-1_8v;
2406147314aSFabien Parent	cap-mmc-hw-reset;
2416147314aSFabien Parent	no-sdio;
2426147314aSFabien Parent	no-sd;
2436147314aSFabien Parent	hs400-ds-delay = <0x14c11>;
2446147314aSFabien Parent	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
2456147314aSFabien Parent	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
2466147314aSFabien Parent	non-removable;
2476147314aSFabien Parent};
2486147314aSFabien Parent
2496147314aSFabien Parent&mmc1 {
2506147314aSFabien Parent	pinctrl-names = "default", "state_uhs";
2516147314aSFabien Parent	pinctrl-0 = <&mmc1_default_pins>;
2526147314aSFabien Parent	pinctrl-1 = <&mmc1_uhs_pins>;
2536147314aSFabien Parent	cd-gpios = <&pio 129 GPIO_ACTIVE_LOW>;
2546147314aSFabien Parent	bus-width = <4>;
2556147314aSFabien Parent	max-frequency = <200000000>;
2566147314aSFabien Parent	cap-sd-highspeed;
2576147314aSFabien Parent	sd-uhs-sdr50;
2586147314aSFabien Parent	sd-uhs-sdr104;
2596147314aSFabien Parent	vmmc-supply = <&mt6360_ldo5>;
2606147314aSFabien Parent	vqmmc-supply = <&mt6360_ldo3>;
2616147314aSFabien Parent	status = "okay";
2626147314aSFabien Parent};
2636147314aSFabien Parent
2646147314aSFabien Parent&mt6359_vbbck_ldo_reg {
2656147314aSFabien Parent	regulator-always-on;
2666147314aSFabien Parent};
2676147314aSFabien Parent
2686147314aSFabien Parent&mt6359_vcore_buck_reg {
2696147314aSFabien Parent	regulator-always-on;
2706147314aSFabien Parent};
2716147314aSFabien Parent
2726147314aSFabien Parent&mt6359_vgpu11_buck_reg {
2736147314aSFabien Parent	regulator-always-on;
2746147314aSFabien Parent};
2756147314aSFabien Parent
2766147314aSFabien Parent&mt6359_vproc1_buck_reg {
2776147314aSFabien Parent	regulator-always-on;
2786147314aSFabien Parent};
2796147314aSFabien Parent
2806147314aSFabien Parent&mt6359_vproc2_buck_reg {
2816147314aSFabien Parent	regulator-always-on;
2826147314aSFabien Parent};
2836147314aSFabien Parent
2846147314aSFabien Parent&mt6359_vpu_buck_reg {
2856147314aSFabien Parent	regulator-always-on;
2866147314aSFabien Parent};
2876147314aSFabien Parent
2886147314aSFabien Parent&mt6359_vrf12_ldo_reg {
2896147314aSFabien Parent	regulator-always-on;
2906147314aSFabien Parent};
2916147314aSFabien Parent
2926147314aSFabien Parent&mt6359_vsram_md_ldo_reg {
2936147314aSFabien Parent	regulator-always-on;
2946147314aSFabien Parent};
2956147314aSFabien Parent
2966147314aSFabien Parent&mt6359_vsram_others_ldo_reg {
2976147314aSFabien Parent	regulator-always-on;
2986147314aSFabien Parent};
2996147314aSFabien Parent
3006147314aSFabien Parent&pio {
301c5fe37e8SBiao Huang	eth_default_pins: eth-default-pins {
302c5fe37e8SBiao Huang		pins-txd {
303c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>,
304c5fe37e8SBiao Huang				 <PINMUX_GPIO78__FUNC_GBE_TXD2>,
305c5fe37e8SBiao Huang				 <PINMUX_GPIO79__FUNC_GBE_TXD1>,
306c5fe37e8SBiao Huang				 <PINMUX_GPIO80__FUNC_GBE_TXD0>;
307c5fe37e8SBiao Huang			drive-strength = <MTK_DRIVE_8mA>;
308c5fe37e8SBiao Huang		};
309c5fe37e8SBiao Huang		pins-cc {
310c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>,
311c5fe37e8SBiao Huang				 <PINMUX_GPIO88__FUNC_GBE_TXEN>,
312c5fe37e8SBiao Huang				 <PINMUX_GPIO87__FUNC_GBE_RXDV>,
313c5fe37e8SBiao Huang				 <PINMUX_GPIO86__FUNC_GBE_RXC>;
314c5fe37e8SBiao Huang			drive-strength = <MTK_DRIVE_8mA>;
315c5fe37e8SBiao Huang		};
316c5fe37e8SBiao Huang		pins-rxd {
317c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>,
318c5fe37e8SBiao Huang				 <PINMUX_GPIO82__FUNC_GBE_RXD2>,
319c5fe37e8SBiao Huang				 <PINMUX_GPIO83__FUNC_GBE_RXD1>,
320c5fe37e8SBiao Huang				 <PINMUX_GPIO84__FUNC_GBE_RXD0>;
321c5fe37e8SBiao Huang		};
322c5fe37e8SBiao Huang		pins-mdio {
323c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>,
324c5fe37e8SBiao Huang				 <PINMUX_GPIO90__FUNC_GBE_MDIO>;
325c5fe37e8SBiao Huang			input-enable;
326c5fe37e8SBiao Huang		};
327c5fe37e8SBiao Huang		pins-power {
328c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO91__FUNC_GPIO91>,
329c5fe37e8SBiao Huang				 <PINMUX_GPIO92__FUNC_GPIO92>;
330c5fe37e8SBiao Huang			output-high;
331c5fe37e8SBiao Huang		};
332c5fe37e8SBiao Huang	};
333c5fe37e8SBiao Huang
334c5fe37e8SBiao Huang	eth_sleep_pins: eth-sleep-pins {
335c5fe37e8SBiao Huang		pins-txd {
336c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO77__FUNC_GPIO77>,
337c5fe37e8SBiao Huang				 <PINMUX_GPIO78__FUNC_GPIO78>,
338c5fe37e8SBiao Huang				 <PINMUX_GPIO79__FUNC_GPIO79>,
339c5fe37e8SBiao Huang				 <PINMUX_GPIO80__FUNC_GPIO80>;
340c5fe37e8SBiao Huang		};
341c5fe37e8SBiao Huang		pins-cc {
342c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO85__FUNC_GPIO85>,
343c5fe37e8SBiao Huang				 <PINMUX_GPIO88__FUNC_GPIO88>,
344c5fe37e8SBiao Huang				 <PINMUX_GPIO87__FUNC_GPIO87>,
345c5fe37e8SBiao Huang				 <PINMUX_GPIO86__FUNC_GPIO86>;
346c5fe37e8SBiao Huang		};
347c5fe37e8SBiao Huang		pins-rxd {
348c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO81__FUNC_GPIO81>,
349c5fe37e8SBiao Huang				 <PINMUX_GPIO82__FUNC_GPIO82>,
350c5fe37e8SBiao Huang				 <PINMUX_GPIO83__FUNC_GPIO83>,
351c5fe37e8SBiao Huang				 <PINMUX_GPIO84__FUNC_GPIO84>;
352c5fe37e8SBiao Huang		};
353c5fe37e8SBiao Huang		pins-mdio {
354c5fe37e8SBiao Huang			pinmux = <PINMUX_GPIO89__FUNC_GPIO89>,
355c5fe37e8SBiao Huang				 <PINMUX_GPIO90__FUNC_GPIO90>;
356c5fe37e8SBiao Huang			input-disable;
357c5fe37e8SBiao Huang			bias-disable;
358c5fe37e8SBiao Huang		};
359c5fe37e8SBiao Huang	};
360c5fe37e8SBiao Huang
3616147314aSFabien Parent	gpio_keys_pins: gpio-keys-pins {
3626147314aSFabien Parent		pins {
3636147314aSFabien Parent			pinmux = <PINMUX_GPIO106__FUNC_GPIO106>;
3646147314aSFabien Parent			input-enable;
3656147314aSFabien Parent		};
3666147314aSFabien Parent	};
3676147314aSFabien Parent
3686147314aSFabien Parent	i2c6_pins: i2c6-pins {
3696147314aSFabien Parent		pins {
3706147314aSFabien Parent			pinmux = <PINMUX_GPIO25__FUNC_SDA6>,
3716147314aSFabien Parent				 <PINMUX_GPIO26__FUNC_SCL6>;
3726147314aSFabien Parent			bias-pull-up;
3736147314aSFabien Parent		};
3746147314aSFabien Parent	};
3756147314aSFabien Parent
3766147314aSFabien Parent	mmc0_default_pins: mmc0-default-pins {
3776147314aSFabien Parent		pins-clk {
3786147314aSFabien Parent			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
3796147314aSFabien Parent			drive-strength = <MTK_DRIVE_6mA>;
3806147314aSFabien Parent			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
3816147314aSFabien Parent		};
3826147314aSFabien Parent
3836147314aSFabien Parent		pins-cmd-dat {
3846147314aSFabien Parent			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
3856147314aSFabien Parent				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
3866147314aSFabien Parent				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
3876147314aSFabien Parent				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
3886147314aSFabien Parent				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
3896147314aSFabien Parent				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
3906147314aSFabien Parent				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
3916147314aSFabien Parent				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
3926147314aSFabien Parent				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
3936147314aSFabien Parent			input-enable;
3946147314aSFabien Parent			drive-strength = <MTK_DRIVE_6mA>;
3956147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
3966147314aSFabien Parent		};
3976147314aSFabien Parent
3986147314aSFabien Parent		pins-rst {
3996147314aSFabien Parent			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
4006147314aSFabien Parent			drive-strength = <MTK_DRIVE_6mA>;
4016147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4026147314aSFabien Parent		};
4036147314aSFabien Parent	};
4046147314aSFabien Parent
4056147314aSFabien Parent	mmc0_uhs_pins: mmc0-uhs-pins {
4066147314aSFabien Parent		pins-clk {
4076147314aSFabien Parent			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
4086147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4096147314aSFabien Parent			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
4106147314aSFabien Parent		};
4116147314aSFabien Parent
4126147314aSFabien Parent		pins-cmd-dat {
4136147314aSFabien Parent			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
4146147314aSFabien Parent				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
4156147314aSFabien Parent				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
4166147314aSFabien Parent				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
4176147314aSFabien Parent				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
4186147314aSFabien Parent				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
4196147314aSFabien Parent				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
4206147314aSFabien Parent				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
4216147314aSFabien Parent				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
4226147314aSFabien Parent			input-enable;
4236147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4246147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4256147314aSFabien Parent		};
4266147314aSFabien Parent
4276147314aSFabien Parent		pins-ds {
4286147314aSFabien Parent			pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
4296147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4306147314aSFabien Parent			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
4316147314aSFabien Parent		};
4326147314aSFabien Parent
4336147314aSFabien Parent		pins-rst {
4346147314aSFabien Parent			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
4356147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4366147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4376147314aSFabien Parent		};
4386147314aSFabien Parent	};
4396147314aSFabien Parent
4406147314aSFabien Parent	mmc1_default_pins: mmc1-default-pins {
4416147314aSFabien Parent		pins-clk {
4426147314aSFabien Parent			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
4436147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4446147314aSFabien Parent			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
4456147314aSFabien Parent		};
4466147314aSFabien Parent
4476147314aSFabien Parent		pins-cmd-dat {
4486147314aSFabien Parent			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
4496147314aSFabien Parent				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
4506147314aSFabien Parent				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
4516147314aSFabien Parent				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
4526147314aSFabien Parent				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
4536147314aSFabien Parent			input-enable;
4546147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4556147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4566147314aSFabien Parent		};
4576147314aSFabien Parent
4586147314aSFabien Parent		pins-insert {
4596147314aSFabien Parent			pinmux = <PINMUX_GPIO129__FUNC_GPIO129>;
4606147314aSFabien Parent			bias-pull-up;
4616147314aSFabien Parent		};
4626147314aSFabien Parent	};
4636147314aSFabien Parent
4646147314aSFabien Parent	mmc1_uhs_pins: mmc1-uhs-pins {
4656147314aSFabien Parent		pins-clk {
4666147314aSFabien Parent			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
4676147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4686147314aSFabien Parent			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
4696147314aSFabien Parent		};
4706147314aSFabien Parent
4716147314aSFabien Parent		pins-cmd-dat {
4726147314aSFabien Parent			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
4736147314aSFabien Parent				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
4746147314aSFabien Parent				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
4756147314aSFabien Parent				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
4766147314aSFabien Parent				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
4776147314aSFabien Parent			input-enable;
4786147314aSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
4796147314aSFabien Parent			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
4806147314aSFabien Parent		};
4816147314aSFabien Parent	};
4826147314aSFabien Parent
4836147314aSFabien Parent	uart0_pins: uart0-pins {
4846147314aSFabien Parent		pins {
4856147314aSFabien Parent			pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
4866147314aSFabien Parent				 <PINMUX_GPIO99__FUNC_URXD0>;
4876147314aSFabien Parent		};
4886147314aSFabien Parent	};
4896147314aSFabien Parent
4906147314aSFabien Parent	uart1_pins: uart1-pins {
4916147314aSFabien Parent		pins {
4926147314aSFabien Parent			pinmux = <PINMUX_GPIO102__FUNC_UTXD1>,
4936147314aSFabien Parent				 <PINMUX_GPIO103__FUNC_URXD1>;
4946147314aSFabien Parent		};
4956147314aSFabien Parent	};
4966147314aSFabien Parent};
4976147314aSFabien Parent
4986147314aSFabien Parent
4996147314aSFabien Parent&pmic {
5006147314aSFabien Parent	interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
5016147314aSFabien Parent};
5026147314aSFabien Parent
5036147314aSFabien Parent&uart0 {
5046147314aSFabien Parent	pinctrl-names = "default";
5056147314aSFabien Parent	pinctrl-0 = <&uart0_pins>;
5066147314aSFabien Parent	status = "okay";
5076147314aSFabien Parent};
5086147314aSFabien Parent
5097640d435SFabien Parent&uart1 {
5107640d435SFabien Parent	pinctrl-names = "default";
5117640d435SFabien Parent	pinctrl-0 = <&uart1_pins>;
5127640d435SFabien Parent	status = "okay";
5137640d435SFabien Parent};
5147640d435SFabien Parent
5156147314aSFabien Parent&u3phy0 {
5166147314aSFabien Parent	status = "okay";
5176147314aSFabien Parent};
5186147314aSFabien Parent
5196147314aSFabien Parent&u3phy1 {
5206147314aSFabien Parent	status = "okay";
5216147314aSFabien Parent};
5226147314aSFabien Parent
5236147314aSFabien Parent&u3phy2 {
5246147314aSFabien Parent	status = "okay";
5256147314aSFabien Parent};
5266147314aSFabien Parent
5276147314aSFabien Parent&u3phy3 {
5286147314aSFabien Parent	status = "okay";
5296147314aSFabien Parent};
5306147314aSFabien Parent
5316147314aSFabien Parent&xhci0 {
5326147314aSFabien Parent	vusb33-supply = <&mt6359_vusb_ldo_reg>;
5336147314aSFabien Parent	vbus-supply = <&otg_vbus_regulator>;
5346147314aSFabien Parent	status = "okay";
5356147314aSFabien Parent};
5366147314aSFabien Parent
5376147314aSFabien Parent&xhci1 {
5386147314aSFabien Parent	vusb33-supply = <&mt6359_vusb_ldo_reg>;
5396147314aSFabien Parent	status = "okay";
5406147314aSFabien Parent};
5416147314aSFabien Parent
5426147314aSFabien Parent&xhci2 {
5436147314aSFabien Parent	vusb33-supply = <&mt6359_vusb_ldo_reg>;
5446147314aSFabien Parent	status = "okay";
5456147314aSFabien Parent};
5466147314aSFabien Parent
5476147314aSFabien Parent&xhci3 {
5486147314aSFabien Parent	vusb33-supply = <&mt6359_vusb_ldo_reg>;
5496147314aSFabien Parent	status = "okay";
5506147314aSFabien Parent};
551