// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (C) 2023 MediaTek Inc.
 * Author: Chris Chen <chris-qj.chen@mediatek.com>
 *	   Pablo Sun <pablo.sun@mediatek.com>
 *	   Macpaul Lin <macpaul.lin@mediatek.com>
 */
/dts-v1/;

#include "mt8188.dtsi"
#include "mt6359.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/mediatek,mt8188-pinfunc.h>
#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/usb/pd.h>

/ {
	model = "MediaTek Genio-700 EVK";
	compatible = "mediatek,mt8390-evk", "mediatek,mt8390",
		     "mediatek,mt8188";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:921600n8";
	};

	firmware {
		optee {
			compatible = "linaro,optee-tz";
			method = "smc";
		};
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0x2 0x00000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		/*
		 * 12 MiB reserved for OP-TEE (BL32)
		 * +-----------------------+ 0x43e0_0000
		 * |      SHMEM 2MiB       |
		 * +-----------------------+ 0x43c0_0000
		 * |        | TA_RAM  8MiB |
		 * + TZDRAM +--------------+ 0x4340_0000
		 * |        | TEE_RAM 2MiB |
		 * +-----------------------+ 0x4320_0000
		 */
		optee_reserved: optee@43200000 {
			no-map;
			reg = <0 0x43200000 0 0x00c00000>;
		};

		scp_mem: memory@50000000 {
			compatible = "shared-dma-pool";
			reg = <0 0x50000000 0 0x2900000>;
			no-map;
		};

		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
		bl31_secmon_reserved: memory@54600000 {
			no-map;
			reg = <0 0x54600000 0x0 0x200000>;
		};

		apu_mem: memory@55000000 {
			compatible = "shared-dma-pool";
			reg = <0 0x55000000 0 0x1400000>; /* 20 MB */
		};

		vpu_mem: memory@57000000 {
			compatible = "shared-dma-pool";
			reg = <0 0x57000000 0 0x1400000>; /* 20 MB */
		};
	};

	common_fixed_5v: regulator-0 {
		compatible = "regulator-fixed";
		regulator-name = "5v_en";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&pio 10 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	edp_panel_fixed_3v3: regulator-1 {
		compatible = "regulator-fixed";
		regulator-name = "edp_panel_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		enable-active-high;
		gpio = <&pio 15 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&edp_panel_3v3_en_pins>;
	};

	gpio_fixed_3v3: regulator-2 {
		compatible = "regulator-fixed";
		regulator-name = "gpio_3v3_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&pio 9 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	sdio_fixed_1v8: regulator-3 {
		compatible = "regulator-fixed";
		regulator-name = "sdio_io";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		enable-active-high;
		regulator-always-on;
	};

	sdio_fixed_3v3: regulator-4 {
		compatible = "regulator-fixed";
		regulator-name = "sdio_card";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&pio 74 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	touch0_fixed_3v3: regulator-5 {
		compatible = "regulator-fixed";
		regulator-name = "touch_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&pio 119 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	usb_hub_fixed_3v3: regulator-6 {
		compatible = "regulator-fixed";
		regulator-name = "usb_hub_3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&pio 112 GPIO_ACTIVE_HIGH>; /* HUB_3V3_EN */
		startup-delay-us = <10000>;
		enable-active-high;
	};

	usb_hub_reset_1v8: regulator-7 {
		compatible = "regulator-fixed";
		regulator-name = "usb_hub_reset";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&pio 7 GPIO_ACTIVE_HIGH>; /* HUB_RESET */
		vin-supply = <&usb_hub_fixed_3v3>;
	};

	usb_p0_vbus: regulator-8 {
		compatible = "regulator-fixed";
		regulator-name = "usb_p0_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&pio 84 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	usb_p1_vbus: regulator-9 {
		compatible = "regulator-fixed";
		regulator-name = "usb_p1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&pio 87 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	usb_p2_vbus: regulator-10 {
		compatible = "regulator-fixed";
		regulator-name = "usb_p2_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
	};
};

&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins>;
	clock-frequency = <400000>;
	status = "okay";

	touchscreen@5d {
		compatible = "goodix,gt9271";
		reg = <0x5d>;
		interrupt-parent = <&pio>;
		interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_RISING>;
		irq-gpios = <&pio 6 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>;
		AVDD28-supply = <&touch0_fixed_3v3>;
		VDDIO-supply = <&mt6359_vio18_ldo_reg>;
		pinctrl-names = "default";
		pinctrl-0 = <&touch_pins>;
	};
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins>;
	clock-frequency = <400000>;
	status = "okay";
};

&i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c2_pins>;
	clock-frequency = <400000>;
	status = "okay";
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c3_pins>;
	clock-frequency = <400000>;
	status = "okay";
};

&i2c4 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c4_pins>;
	pinctrl-1 = <&rt1715_int_pins>;
	clock-frequency = <1000000>;
	status = "okay";
};

&i2c5 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c5_pins>;
	clock-frequency = <400000>;
	status = "okay";
};

&i2c6 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c6_pins>;
	clock-frequency = <400000>;
	status = "okay";
};

&mmc0 {
	status = "okay";
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc0_default_pins>;
	pinctrl-1 = <&mmc0_uhs_pins>;
	bus-width = <8>;
	max-frequency = <200000000>;
	cap-mmc-highspeed;
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
	supports-cqe;
	cap-mmc-hw-reset;
	no-sdio;
	no-sd;
	hs400-ds-delay = <0x1481b>;
	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
	non-removable;
};

&mmc1 {
	status = "okay";
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc1_default_pins>;
	pinctrl-1 = <&mmc1_uhs_pins>;
	bus-width = <4>;
	max-frequency = <200000000>;
	cap-sd-highspeed;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	no-mmc;
	no-sdio;
	cd-gpios = <&pio 2 GPIO_ACTIVE_LOW>;
	vmmc-supply = <&mt6359_vpa_buck_reg>;
	vqmmc-supply = <&mt6359_vsim1_ldo_reg>;
};

&mt6359_vbbck_ldo_reg {
	regulator-always-on;
};

&mt6359_vcn18_ldo_reg {
	regulator-always-on;
};

&mt6359_vcn33_2_bt_ldo_reg {
	regulator-always-on;
};

&mt6359_vcore_buck_reg {
	regulator-always-on;
};

&mt6359_vgpu11_buck_reg {
	regulator-always-on;
};

&mt6359_vpa_buck_reg {
	regulator-max-microvolt = <3100000>;
};

&mt6359_vpu_buck_reg {
	regulator-always-on;
};

&mt6359_vrf12_ldo_reg {
	regulator-always-on;
};

&mt6359_vsim1_ldo_reg {
	regulator-enable-ramp-delay = <480>;
};

&mt6359_vufs_ldo_reg {
	regulator-always-on;
};

&mt6359codec {
	mediatek,mic-type-0 = <1>; /* ACC */
	mediatek,mic-type-1 = <3>; /* DCC */
};

&pio {
	audio_default_pins: audio-default-pins {
		pins-cmd-dat {
			pinmux = <PINMUX_GPIO101__FUNC_O_AUD_CLK_MOSI>,
				 <PINMUX_GPIO102__FUNC_O_AUD_SYNC_MOSI>,
				 <PINMUX_GPIO103__FUNC_O_AUD_DAT_MOSI0>,
				 <PINMUX_GPIO104__FUNC_O_AUD_DAT_MOSI1>,
				 <PINMUX_GPIO105__FUNC_I0_AUD_DAT_MISO0>,
				 <PINMUX_GPIO106__FUNC_I0_AUD_DAT_MISO1>,
				 <PINMUX_GPIO107__FUNC_B0_I2SIN_MCK>,
				 <PINMUX_GPIO108__FUNC_B0_I2SIN_BCK>,
				 <PINMUX_GPIO109__FUNC_B0_I2SIN_WS>,
				 <PINMUX_GPIO110__FUNC_I0_I2SIN_D0>,
				 <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>,
				 <PINMUX_GPIO115__FUNC_B0_I2SO2_BCK>,
				 <PINMUX_GPIO116__FUNC_B0_I2SO2_WS>,
				 <PINMUX_GPIO117__FUNC_O_I2SO2_D0>,
				 <PINMUX_GPIO118__FUNC_O_I2SO2_D1>,
				 <PINMUX_GPIO121__FUNC_B0_PCM_CLK>,
				 <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>,
				 <PINMUX_GPIO124__FUNC_I0_PCM_DI>,
				 <PINMUX_GPIO125__FUNC_O_DMIC1_CLK>,
				 <PINMUX_GPIO126__FUNC_I0_DMIC1_DAT>,
				 <PINMUX_GPIO128__FUNC_O_DMIC2_CLK>,
				 <PINMUX_GPIO129__FUNC_I0_DMIC2_DAT>;
		};
	};

	dptx_pins: dptx-pins {
		pins-cmd-dat {
			pinmux = <PINMUX_GPIO46__FUNC_I0_DP_TX_HPD>;
			bias-pull-up;
		};
	};

	edp_panel_3v3_en_pins: edp-panel-3v3-en-pins {
		pins1 {
			pinmux = <PINMUX_GPIO15__FUNC_B_GPIO15>;
			output-high;
		};
	};

	eth_default_pins: eth-default-pins {
		pins-cc {
			pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>,
				 <PINMUX_GPIO140__FUNC_I0_GBE_RXC>,
				 <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>,
				 <PINMUX_GPIO142__FUNC_O_GBE_TXEN>;
			drive-strength = <8>;
		};

		pins-mdio {
			pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>,
				 <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>;
			drive-strength = <8>;
			input-enable;
		};

		pins-power {
			pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>,
				 <PINMUX_GPIO146__FUNC_B_GPIO146>;
			output-high;
		};

		pins-rxd {
			pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>,
				 <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>,
				 <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>,
				 <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>;
			drive-strength = <8>;
		};

		pins-txd {
			pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>,
				 <PINMUX_GPIO132__FUNC_O_GBE_TXD2>,
				 <PINMUX_GPIO133__FUNC_O_GBE_TXD1>,
				 <PINMUX_GPIO134__FUNC_O_GBE_TXD0>;
			drive-strength = <8>;
		};
	};

	eth_sleep_pins: eth-sleep-pins {
		pins-cc {
			pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>,
				 <PINMUX_GPIO140__FUNC_B_GPIO140>,
				 <PINMUX_GPIO141__FUNC_B_GPIO141>,
				 <PINMUX_GPIO142__FUNC_B_GPIO142>;
		};

		pins-mdio {
			pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>,
				 <PINMUX_GPIO144__FUNC_B_GPIO144>;
			input-disable;
			bias-disable;
		};

		pins-rxd {
			pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>,
				 <PINMUX_GPIO136__FUNC_B_GPIO136>,
				 <PINMUX_GPIO137__FUNC_B_GPIO137>,
				 <PINMUX_GPIO138__FUNC_B_GPIO138>;
		};

		pins-txd {
			pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>,
				 <PINMUX_GPIO132__FUNC_B_GPIO132>,
				 <PINMUX_GPIO133__FUNC_B_GPIO133>,
				 <PINMUX_GPIO134__FUNC_B_GPIO134>;
		};
	};

	i2c0_pins: i2c0-pins {
		pins {
			pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>,
				 <PINMUX_GPIO55__FUNC_B1_SCL0>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c1_pins: i2c1-pins {
		pins {
			pinmux = <PINMUX_GPIO58__FUNC_B1_SDA1>,
				 <PINMUX_GPIO57__FUNC_B1_SCL1>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c2_pins: i2c2-pins {
		pins {
			pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>,
				 <PINMUX_GPIO59__FUNC_B1_SCL2>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c3_pins: i2c3-pins {
		pins {
			pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>,
				 <PINMUX_GPIO61__FUNC_B1_SCL3>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c4_pins: i2c4-pins {
		pins {
			pinmux = <PINMUX_GPIO64__FUNC_B1_SDA4>,
				 <PINMUX_GPIO63__FUNC_B1_SCL4>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c5_pins: i2c5-pins {
		pins {
			pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>,
				 <PINMUX_GPIO65__FUNC_B1_SCL5>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	i2c6_pins: i2c6-pins {
		pins {
			pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>,
				 <PINMUX_GPIO67__FUNC_B1_SCL6>;
			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
			drive-strength-microamp = <1000>;
		};
	};

	gpio_key_pins: gpio-key-pins {
		pins {
			pinmux = <PINMUX_GPIO42__FUNC_B1_KPCOL0>,
				 <PINMUX_GPIO43__FUNC_B1_KPCOL1>,
				 <PINMUX_GPIO44__FUNC_B1_KPROW0>;
		};
	};

	mmc0_default_pins: mmc0-default-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>;
			drive-strength = <6>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>,
				 <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>,
				 <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>,
				 <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>,
				 <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>,
				 <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>,
				 <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>,
				 <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>,
				 <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins-rst {
			pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	mmc0_uhs_pins: mmc0-uhs-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>;
			drive-strength = <8>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>,
				 <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>,
				 <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>,
				 <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>,
				 <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>,
				 <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>,
				 <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>,
				 <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>,
				 <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>;
			input-enable;
			drive-strength = <8>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins-ds {
			pinmux = <PINMUX_GPIO162__FUNC_B0_MSDC0_DSL>;
			drive-strength = <8>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-rst {
			pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>;
			drive-strength = <8>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	mmc1_default_pins: mmc1-default-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>;
			drive-strength = <6>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>,
				 <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>,
				 <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>,
				 <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>,
				 <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins-insert {
			pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>;
			bias-pull-up;
		};
	};

	mmc1_uhs_pins: mmc1-uhs-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>;
			drive-strength = <6>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>,
				 <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>,
				 <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>,
				 <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>,
				 <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	mmc2_default_pins: mmc2-default-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>;
			drive-strength = <4>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>,
				 <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>,
				 <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>,
				 <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>,
				 <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins-pcm {
			pinmux = <PINMUX_GPIO123__FUNC_O_PCM_DO>;
		};
	};

	mmc2_uhs_pins: mmc2-uhs-pins {
		pins-clk {
			pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>;
			drive-strength = <4>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};

		pins-cmd-dat {
			pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>,
				 <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>,
				 <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>,
				 <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>,
				 <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	mmc2_eint_pins: mmc2-eint-pins {
		pins-dat1 {
			pinmux = <PINMUX_GPIO172__FUNC_B_GPIO172>;
			input-enable;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	mmc2_dat1_pins: mmc2-dat1-pins {
		pins-dat1 {
			pinmux = <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>;
			input-enable;
			drive-strength = <6>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};
	};

	panel_default_pins: panel-default-pins {
		pins-dcdc {
			pinmux = <PINMUX_GPIO45__FUNC_B_GPIO45>;
			output-low;
		};

		pins-en {
			pinmux = <PINMUX_GPIO111__FUNC_B_GPIO111>;
			output-low;
		};

		pins-rst {
			pinmux = <PINMUX_GPIO25__FUNC_B_GPIO25>;
			output-high;
		};
	};

	rt1715_int_pins: rt1715-int-pins {
		pins_cmd0_dat {
			pinmux = <PINMUX_GPIO12__FUNC_B_GPIO12>;
			bias-pull-up;
			input-enable;
		};
	};

	spi0_pins: spi0-pins {
		pins-spi {
			pinmux = <PINMUX_GPIO69__FUNC_O_SPIM0_CSB>,
				<PINMUX_GPIO70__FUNC_O_SPIM0_CLK>,
				<PINMUX_GPIO71__FUNC_B0_SPIM0_MOSI>,
				<PINMUX_GPIO72__FUNC_B0_SPIM0_MISO>;
			bias-disable;
		};
	};

	spi1_pins: spi1-pins {
		pins-spi {
			pinmux = <PINMUX_GPIO75__FUNC_O_SPIM1_CSB>,
				<PINMUX_GPIO76__FUNC_O_SPIM1_CLK>,
				<PINMUX_GPIO77__FUNC_B0_SPIM1_MOSI>,
				<PINMUX_GPIO78__FUNC_B0_SPIM1_MISO>;
			bias-disable;
		};
	};

	spi2_pins: spi2-pins {
		pins-spi {
			pinmux = <PINMUX_GPIO79__FUNC_O_SPIM2_CSB>,
				<PINMUX_GPIO80__FUNC_O_SPIM2_CLK>,
				<PINMUX_GPIO81__FUNC_B0_SPIM2_MOSI>,
				<PINMUX_GPIO82__FUNC_B0_SPIM2_MISO>;
			bias-disable;
		};
	};

	touch_pins: touch-pins {
		pins-irq {
			pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>;
			input-enable;
			bias-disable;
		};

		pins-reset {
			pinmux = <PINMUX_GPIO5__FUNC_B_GPIO5>;
			output-high;
		};
	};

	uart0_pins: uart0-pins {
		pins {
			pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>,
				 <PINMUX_GPIO32__FUNC_I1_URXD0>;
			bias-pull-up;
		};
	};

	uart1_pins: uart1-pins {
		pins {
			pinmux = <PINMUX_GPIO33__FUNC_O_UTXD1>,
				 <PINMUX_GPIO34__FUNC_I1_URXD1>;
			bias-pull-up;
		};
	};

	uart2_pins: uart2-pins {
		pins {
			pinmux = <PINMUX_GPIO35__FUNC_O_UTXD2>,
				 <PINMUX_GPIO36__FUNC_I1_URXD2>;
			bias-pull-up;
		};
	};

	usb_default_pins: usb-default-pins {
		pins-iddig {
			pinmux = <PINMUX_GPIO83__FUNC_B_GPIO83>;
			input-enable;
			bias-pull-up;
		};

		pins-valid {
			pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>;
			input-enable;
		};

		pins-vbus {
			pinmux = <PINMUX_GPIO84__FUNC_O_USB_DRVVBUS>;
			output-high;
		};

	};

	usb1_default_pins: usb1-default-pins {
		pins-valid {
			pinmux = <PINMUX_GPIO88__FUNC_I0_VBUSVALID_1P>;
			input-enable;
		};

		pins-usb-hub-3v3-en {
			pinmux = <PINMUX_GPIO112__FUNC_B_GPIO112>;
			output-high;
		};
	};

	wifi_pwrseq_pins: wifi-pwrseq-pins {
		pins-wifi-enable {
			pinmux = <PINMUX_GPIO127__FUNC_B_GPIO127>;
			output-low;
		};
	};
};

&pmic {
	interrupt-parent = <&pio>;
	interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
};

&scp {
	memory-region = <&scp_mem>;
	status = "okay";
};

&uart0 {
	pinctrl-0 = <&uart0_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&uart1 {
	pinctrl-0 = <&uart1_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&uart2 {
	pinctrl-0 = <&uart2_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&spi2 {
	pinctrl-0 = <&spi2_pins>;
	pinctrl-names = "default";
	mediatek,pad-select = <0>;
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";
};

&u3phy0 {
	status = "okay";
};

&u3phy1 {
	status = "okay";
};

&u3phy2 {
	status = "okay";
};

&xhci0 {
	status = "okay";
	vusb33-supply = <&mt6359_vusb_ldo_reg>;
};

&xhci1 {
	status = "okay";
	vusb33-supply = <&mt6359_vusb_ldo_reg>;
	vbus-supply = <&usb_hub_reset_1v8>;
};

&xhci2 {
	status = "okay";
	vusb33-supply = <&mt6359_vusb_ldo_reg>;
};
