xref: /freebsd/sys/contrib/device-tree/src/arm64/mediatek/mt8395-radxa-nio-12l.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
201950c46SEmmanuel Vadot/*
301950c46SEmmanuel Vadot * Copyright (C) 2023 Radxa Limited
401950c46SEmmanuel Vadot * Copyright (C) 2024 Collabora Ltd.
501950c46SEmmanuel Vadot *                    AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
601950c46SEmmanuel Vadot */
701950c46SEmmanuel Vadot
801950c46SEmmanuel Vadot#include "mt8195.dtsi"
901950c46SEmmanuel Vadot#include "mt6359.dtsi"
1001950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
1101950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
1201950c46SEmmanuel Vadot#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
1301950c46SEmmanuel Vadot#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
1401950c46SEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
1501950c46SEmmanuel Vadot#include <dt-bindings/usb/pd.h>
1601950c46SEmmanuel Vadot
1701950c46SEmmanuel Vadot/ {
1801950c46SEmmanuel Vadot	model = "Radxa NIO 12L";
1901950c46SEmmanuel Vadot	chassis-type = "embedded";
2001950c46SEmmanuel Vadot	compatible = "radxa,nio-12l", "mediatek,mt8395", "mediatek,mt8195";
2101950c46SEmmanuel Vadot
2201950c46SEmmanuel Vadot	aliases {
2301950c46SEmmanuel Vadot		i2c0 = &i2c2;
2401950c46SEmmanuel Vadot		i2c1 = &i2c3;
2501950c46SEmmanuel Vadot		i2c2 = &i2c4;
2601950c46SEmmanuel Vadot		i2c3 = &i2c0;
2701950c46SEmmanuel Vadot		i2c4 = &i2c1;
2801950c46SEmmanuel Vadot		ethernet0 = &eth;
2901950c46SEmmanuel Vadot		serial0 = &uart0;
3001950c46SEmmanuel Vadot		serial1 = &uart1;
3101950c46SEmmanuel Vadot		spi0 = &spi1;
3201950c46SEmmanuel Vadot		spi1 = &spi2;
3301950c46SEmmanuel Vadot	};
3401950c46SEmmanuel Vadot
3501950c46SEmmanuel Vadot	chosen {
3601950c46SEmmanuel Vadot		stdout-path = "serial0:921600n8";
3701950c46SEmmanuel Vadot	};
3801950c46SEmmanuel Vadot
3901950c46SEmmanuel Vadot	firmware {
4001950c46SEmmanuel Vadot		optee {
4101950c46SEmmanuel Vadot			compatible = "linaro,optee-tz";
4201950c46SEmmanuel Vadot			method = "smc";
4301950c46SEmmanuel Vadot		};
4401950c46SEmmanuel Vadot	};
4501950c46SEmmanuel Vadot
4601950c46SEmmanuel Vadot	memory@40000000 {
4701950c46SEmmanuel Vadot		device_type = "memory";
4801950c46SEmmanuel Vadot		reg = <0 0x40000000 0x1 0x0>;
4901950c46SEmmanuel Vadot	};
5001950c46SEmmanuel Vadot
5101950c46SEmmanuel Vadot	wifi_vreg: regulator-wifi-3v3-en {
5201950c46SEmmanuel Vadot		compatible = "regulator-fixed";
5301950c46SEmmanuel Vadot		regulator-name = "wifi_3v3_en";
5401950c46SEmmanuel Vadot		regulator-always-on;
5501950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
5601950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
5701950c46SEmmanuel Vadot		enable-active-high;
5801950c46SEmmanuel Vadot		gpio = <&pio 67 GPIO_ACTIVE_HIGH>;
5901950c46SEmmanuel Vadot		pinctrl-names = "default";
6001950c46SEmmanuel Vadot		pinctrl-0 = <&wifi_vreg_pins>;
6101950c46SEmmanuel Vadot		vin-supply = <&vsys>;
6201950c46SEmmanuel Vadot	};
6301950c46SEmmanuel Vadot
6401950c46SEmmanuel Vadot	/* system wide switching 5.0V power rail */
6501950c46SEmmanuel Vadot	vsys: regulator-vsys {
6601950c46SEmmanuel Vadot		compatible = "regulator-fixed";
6701950c46SEmmanuel Vadot		regulator-name = "vsys";
6801950c46SEmmanuel Vadot		regulator-always-on;
6901950c46SEmmanuel Vadot		regulator-boot-on;
7001950c46SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
7101950c46SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
7201950c46SEmmanuel Vadot		vin-supply = <&vcc5v0_vsys>;
7301950c46SEmmanuel Vadot	};
7401950c46SEmmanuel Vadot
7501950c46SEmmanuel Vadot	vsys_buck: regulator-vsys-buck {
7601950c46SEmmanuel Vadot		compatible = "regulator-fixed";
7701950c46SEmmanuel Vadot		regulator-name = "vsys_buck";
7801950c46SEmmanuel Vadot		regulator-always-on;
7901950c46SEmmanuel Vadot		regulator-boot-on;
8001950c46SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
8101950c46SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
8201950c46SEmmanuel Vadot		vin-supply = <&vcc5v0_vsys>;
8301950c46SEmmanuel Vadot	};
8401950c46SEmmanuel Vadot
8501950c46SEmmanuel Vadot	/* Rail from power-only "TYPE C DC" port */
8601950c46SEmmanuel Vadot	vcc5v0_vsys: regulator-vcc5v0-sys {
8701950c46SEmmanuel Vadot		compatible = "regulator-fixed";
8801950c46SEmmanuel Vadot		regulator-name = "vcc5v0_sys";
8901950c46SEmmanuel Vadot		regulator-always-on;
9001950c46SEmmanuel Vadot		regulator-boot-on;
9101950c46SEmmanuel Vadot	};
9201950c46SEmmanuel Vadot
9301950c46SEmmanuel Vadot	reserved-memory {
9401950c46SEmmanuel Vadot		#address-cells = <2>;
9501950c46SEmmanuel Vadot		#size-cells = <2>;
9601950c46SEmmanuel Vadot		ranges;
9701950c46SEmmanuel Vadot
9801950c46SEmmanuel Vadot		/*
9901950c46SEmmanuel Vadot		 * 12 MiB reserved for OP-TEE (BL32)
10001950c46SEmmanuel Vadot		 * +-----------------------+ 0x43e0_0000
10101950c46SEmmanuel Vadot		 * |      SHMEM 2MiB       |
10201950c46SEmmanuel Vadot		 * +-----------------------+ 0x43c0_0000
10301950c46SEmmanuel Vadot		 * |        | TA_RAM  8MiB |
10401950c46SEmmanuel Vadot		 * + TZDRAM +--------------+ 0x4340_0000
10501950c46SEmmanuel Vadot		 * |        | TEE_RAM 2MiB |
10601950c46SEmmanuel Vadot		 * +-----------------------+ 0x4320_0000
10701950c46SEmmanuel Vadot		 */
10801950c46SEmmanuel Vadot		optee_reserved: optee@43200000 {
10901950c46SEmmanuel Vadot			reg = <0 0x43200000 0 0xc00000>;
11001950c46SEmmanuel Vadot			no-map;
11101950c46SEmmanuel Vadot		};
11201950c46SEmmanuel Vadot
11301950c46SEmmanuel Vadot		scp_mem: memory@50000000 {
11401950c46SEmmanuel Vadot			compatible = "shared-dma-pool";
11501950c46SEmmanuel Vadot			reg = <0 0x50000000 0 0x2900000>;
11601950c46SEmmanuel Vadot			no-map;
11701950c46SEmmanuel Vadot		};
11801950c46SEmmanuel Vadot
11901950c46SEmmanuel Vadot		vpu_mem: memory@53000000 {
12001950c46SEmmanuel Vadot			compatible = "shared-dma-pool";
12101950c46SEmmanuel Vadot			reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
12201950c46SEmmanuel Vadot		};
12301950c46SEmmanuel Vadot
12401950c46SEmmanuel Vadot		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
12501950c46SEmmanuel Vadot		bl31_secmon_mem: memory@54600000 {
12601950c46SEmmanuel Vadot			reg = <0 0x54600000 0x0 0x200000>;
12701950c46SEmmanuel Vadot			no-map;
12801950c46SEmmanuel Vadot		};
12901950c46SEmmanuel Vadot
13001950c46SEmmanuel Vadot		afe_mem: memory@60000000 {
13101950c46SEmmanuel Vadot			compatible = "shared-dma-pool";
13201950c46SEmmanuel Vadot			reg = <0 0x60000000 0 0x1100000>;
13301950c46SEmmanuel Vadot			no-map;
13401950c46SEmmanuel Vadot		};
13501950c46SEmmanuel Vadot
13601950c46SEmmanuel Vadot		apu_mem: memory@62000000 {
13701950c46SEmmanuel Vadot			compatible = "shared-dma-pool";
13801950c46SEmmanuel Vadot			reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
13901950c46SEmmanuel Vadot		};
14001950c46SEmmanuel Vadot	};
14101950c46SEmmanuel Vadot};
14201950c46SEmmanuel Vadot
1430e8011faSEmmanuel Vadot&cpu0 {
1440e8011faSEmmanuel Vadot	cpu-supply = <&mt6359_vcore_buck_reg>;
1450e8011faSEmmanuel Vadot};
1460e8011faSEmmanuel Vadot
1470e8011faSEmmanuel Vadot&cpu1 {
1480e8011faSEmmanuel Vadot	cpu-supply = <&mt6359_vcore_buck_reg>;
1490e8011faSEmmanuel Vadot};
1500e8011faSEmmanuel Vadot
1510e8011faSEmmanuel Vadot&cpu2 {
1520e8011faSEmmanuel Vadot	cpu-supply = <&mt6359_vcore_buck_reg>;
1530e8011faSEmmanuel Vadot};
1540e8011faSEmmanuel Vadot
1550e8011faSEmmanuel Vadot&cpu3 {
1560e8011faSEmmanuel Vadot	cpu-supply = <&mt6359_vcore_buck_reg>;
1570e8011faSEmmanuel Vadot};
1580e8011faSEmmanuel Vadot
1590e8011faSEmmanuel Vadot&cpu4 {
1600e8011faSEmmanuel Vadot	cpu-supply = <&mt6315_6_vbuck1>;
1610e8011faSEmmanuel Vadot};
1620e8011faSEmmanuel Vadot
1630e8011faSEmmanuel Vadot&cpu5 {
1640e8011faSEmmanuel Vadot	cpu-supply = <&mt6315_6_vbuck1>;
1650e8011faSEmmanuel Vadot};
1660e8011faSEmmanuel Vadot
1670e8011faSEmmanuel Vadot&cpu6 {
1680e8011faSEmmanuel Vadot	cpu-supply = <&mt6315_6_vbuck1>;
1690e8011faSEmmanuel Vadot};
1700e8011faSEmmanuel Vadot
1710e8011faSEmmanuel Vadot&cpu7 {
1720e8011faSEmmanuel Vadot	cpu-supply = <&mt6315_6_vbuck1>;
1730e8011faSEmmanuel Vadot};
1740e8011faSEmmanuel Vadot
17501950c46SEmmanuel Vadot&eth {
17601950c46SEmmanuel Vadot	phy-mode = "rgmii-rxid";
17701950c46SEmmanuel Vadot	phy-handle = <&rgmii_phy>;
17801950c46SEmmanuel Vadot	pinctrl-names = "default", "sleep";
17901950c46SEmmanuel Vadot	pinctrl-0 = <&eth_default_pins>;
18001950c46SEmmanuel Vadot	pinctrl-1 = <&eth_sleep_pins>;
18101950c46SEmmanuel Vadot	mediatek,tx-delay-ps = <2030>;
18201950c46SEmmanuel Vadot	mediatek,mac-wol;
18301950c46SEmmanuel Vadot	snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
18401950c46SEmmanuel Vadot	snps,reset-delays-us = <0 20000 100000>;
18501950c46SEmmanuel Vadot	status = "okay";
18601950c46SEmmanuel Vadot
18701950c46SEmmanuel Vadot	mdio {
18801950c46SEmmanuel Vadot		rgmii_phy: ethernet-phy@1 {
18901950c46SEmmanuel Vadot			compatible = "ethernet-phy-id001c.c916";
19001950c46SEmmanuel Vadot			reg = <0x1>;
19101950c46SEmmanuel Vadot		};
19201950c46SEmmanuel Vadot	};
19301950c46SEmmanuel Vadot};
19401950c46SEmmanuel Vadot
19501950c46SEmmanuel Vadot&gpu {
19601950c46SEmmanuel Vadot	mali-supply = <&mt6315_7_vbuck1>;
19701950c46SEmmanuel Vadot	status = "okay";
19801950c46SEmmanuel Vadot};
19901950c46SEmmanuel Vadot
20001950c46SEmmanuel Vadot&i2c2 {
20101950c46SEmmanuel Vadot	clock-frequency = <400000>;
20201950c46SEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
20301950c46SEmmanuel Vadot	pinctrl-names = "default";
20401950c46SEmmanuel Vadot	status = "okay";
20501950c46SEmmanuel Vadot
20601950c46SEmmanuel Vadot	typec-mux@48 {
20701950c46SEmmanuel Vadot		compatible = "ite,it5205";
20801950c46SEmmanuel Vadot		reg = <0x48>;
20901950c46SEmmanuel Vadot
21001950c46SEmmanuel Vadot		mode-switch;
21101950c46SEmmanuel Vadot		orientation-switch;
21201950c46SEmmanuel Vadot
21301950c46SEmmanuel Vadot		vcc-supply = <&mt6359_vibr_ldo_reg>;
21401950c46SEmmanuel Vadot
21501950c46SEmmanuel Vadot		port {
21601950c46SEmmanuel Vadot			it5205_sbu_mux: endpoint {
21701950c46SEmmanuel Vadot				remote-endpoint = <&typec_con_mux>;
21801950c46SEmmanuel Vadot			};
21901950c46SEmmanuel Vadot		};
22001950c46SEmmanuel Vadot	};
22101950c46SEmmanuel Vadot};
22201950c46SEmmanuel Vadot
22301950c46SEmmanuel Vadot&i2c4 {
22401950c46SEmmanuel Vadot	clock-frequency = <400000>;
22501950c46SEmmanuel Vadot	pinctrl-0 = <&i2c4_pins>;
22601950c46SEmmanuel Vadot	pinctrl-names = "default";
22701950c46SEmmanuel Vadot	status = "okay";
22801950c46SEmmanuel Vadot
22901950c46SEmmanuel Vadot	/* I2C4 exposed at 39-pins MIPI-LCD connector */
23001950c46SEmmanuel Vadot};
23101950c46SEmmanuel Vadot
23201950c46SEmmanuel Vadot&i2c6 {
23301950c46SEmmanuel Vadot	clock-frequency = <400000>;
23401950c46SEmmanuel Vadot	pinctrl-0 = <&i2c6_pins>;
23501950c46SEmmanuel Vadot	pinctrl-names = "default";
23601950c46SEmmanuel Vadot	status = "okay";
23701950c46SEmmanuel Vadot
23801950c46SEmmanuel Vadot	mt6360: pmic@34 {
23901950c46SEmmanuel Vadot		compatible = "mediatek,mt6360";
24001950c46SEmmanuel Vadot		reg = <0x34>;
24101950c46SEmmanuel Vadot		interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>;
24201950c46SEmmanuel Vadot		interrupt-names = "IRQB";
24301950c46SEmmanuel Vadot		interrupt-controller;
24401950c46SEmmanuel Vadot		#interrupt-cells = <1>;
24501950c46SEmmanuel Vadot		pinctrl-0 = <&mt6360_pins>;
24601950c46SEmmanuel Vadot
24701950c46SEmmanuel Vadot		charger {
24801950c46SEmmanuel Vadot			compatible = "mediatek,mt6360-chg";
24901950c46SEmmanuel Vadot			richtek,vinovp-microvolt = <14500000>;
25001950c46SEmmanuel Vadot
25101950c46SEmmanuel Vadot			otg_vbus_regulator: usb-otg-vbus-regulator {
25201950c46SEmmanuel Vadot				regulator-name = "usb-otg-vbus";
25301950c46SEmmanuel Vadot				regulator-min-microvolt = <4425000>;
25401950c46SEmmanuel Vadot				regulator-max-microvolt = <5825000>;
25501950c46SEmmanuel Vadot			};
25601950c46SEmmanuel Vadot		};
25701950c46SEmmanuel Vadot
25801950c46SEmmanuel Vadot		regulator {
25901950c46SEmmanuel Vadot			compatible = "mediatek,mt6360-regulator";
26001950c46SEmmanuel Vadot			LDO_VIN1-supply = <&vsys_buck>;
26101950c46SEmmanuel Vadot			LDO_VIN3-supply = <&mt6360_buck2>;
26201950c46SEmmanuel Vadot
26301950c46SEmmanuel Vadot			mt6360_buck1: buck1 {
26401950c46SEmmanuel Vadot				regulator-name = "emi_vdd2";
26501950c46SEmmanuel Vadot				regulator-min-microvolt = <300000>;
26601950c46SEmmanuel Vadot				regulator-max-microvolt = <1300000>;
26701950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
26801950c46SEmmanuel Vadot							   MT6360_OPMODE_LP
26901950c46SEmmanuel Vadot							   MT6360_OPMODE_ULP>;
27001950c46SEmmanuel Vadot				regulator-always-on;
27101950c46SEmmanuel Vadot			};
27201950c46SEmmanuel Vadot
27301950c46SEmmanuel Vadot			mt6360_buck2: buck2 {
27401950c46SEmmanuel Vadot				regulator-name = "emi_vddq";
27501950c46SEmmanuel Vadot				regulator-min-microvolt = <300000>;
27601950c46SEmmanuel Vadot				regulator-max-microvolt = <1300000>;
27701950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
27801950c46SEmmanuel Vadot							   MT6360_OPMODE_LP
27901950c46SEmmanuel Vadot							   MT6360_OPMODE_ULP>;
28001950c46SEmmanuel Vadot				regulator-always-on;
28101950c46SEmmanuel Vadot			};
28201950c46SEmmanuel Vadot
28301950c46SEmmanuel Vadot			mt6360_ldo1: ldo1 {
28401950c46SEmmanuel Vadot				regulator-name = "ext_lcd_3v3";
28501950c46SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
28601950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
28701950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
28801950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
28901950c46SEmmanuel Vadot				regulator-always-on;
29001950c46SEmmanuel Vadot			};
29101950c46SEmmanuel Vadot
29201950c46SEmmanuel Vadot			mt6360_ldo2: ldo2 {
29301950c46SEmmanuel Vadot				regulator-name = "panel1_p1v8";
29401950c46SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
29501950c46SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
29601950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
29701950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
29801950c46SEmmanuel Vadot			};
29901950c46SEmmanuel Vadot
30001950c46SEmmanuel Vadot			mt6360_ldo3: ldo3 {
30101950c46SEmmanuel Vadot				regulator-name = "vmc_pmu";
30201950c46SEmmanuel Vadot				regulator-min-microvolt = <1200000>;
30301950c46SEmmanuel Vadot				regulator-max-microvolt = <3600000>;
30401950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
30501950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
30601950c46SEmmanuel Vadot			};
30701950c46SEmmanuel Vadot
30801950c46SEmmanuel Vadot			mt6360_ldo5: ldo5 {
30901950c46SEmmanuel Vadot				regulator-name = "vmch_pmu";
31001950c46SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
31101950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
31201950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
31301950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
31401950c46SEmmanuel Vadot				regulator-always-on;
31501950c46SEmmanuel Vadot			};
31601950c46SEmmanuel Vadot
31701950c46SEmmanuel Vadot			mt6360_ldo6: ldo6 {
31801950c46SEmmanuel Vadot				regulator-name = "mt6360_ldo6"; /* Test point */
31901950c46SEmmanuel Vadot				regulator-min-microvolt = <500000>;
32001950c46SEmmanuel Vadot				regulator-max-microvolt = <2100000>;
32101950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
32201950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
32301950c46SEmmanuel Vadot			};
32401950c46SEmmanuel Vadot
32501950c46SEmmanuel Vadot			mt6360_ldo7: ldo7 {
32601950c46SEmmanuel Vadot				regulator-name = "emi_vmddr_en";
32701950c46SEmmanuel Vadot				regulator-min-microvolt = <500000>;
32801950c46SEmmanuel Vadot				regulator-max-microvolt = <2100000>;
32901950c46SEmmanuel Vadot				regulator-allowed-modes = <MT6360_OPMODE_NORMAL
33001950c46SEmmanuel Vadot							   MT6360_OPMODE_LP>;
33101950c46SEmmanuel Vadot				regulator-always-on;
33201950c46SEmmanuel Vadot			};
33301950c46SEmmanuel Vadot		};
33401950c46SEmmanuel Vadot
33501950c46SEmmanuel Vadot		typec {
33601950c46SEmmanuel Vadot			compatible = "mediatek,mt6360-tcpc";
33701950c46SEmmanuel Vadot			interrupts-extended = <&pio 100 IRQ_TYPE_LEVEL_LOW>;
33801950c46SEmmanuel Vadot			interrupt-names = "PD_IRQB";
33901950c46SEmmanuel Vadot
34001950c46SEmmanuel Vadot			connector {
34101950c46SEmmanuel Vadot				compatible = "usb-c-connector";
34201950c46SEmmanuel Vadot				label = "USB-C";
34301950c46SEmmanuel Vadot				data-role = "dual";
34401950c46SEmmanuel Vadot				op-sink-microwatt = <10000000>;
34501950c46SEmmanuel Vadot				power-role = "dual";
34601950c46SEmmanuel Vadot				try-power-role = "sink";
34701950c46SEmmanuel Vadot
34801950c46SEmmanuel Vadot				source-pdos = <PDO_FIXED(5000, 1000,
34901950c46SEmmanuel Vadot							 PDO_FIXED_DUAL_ROLE |
35001950c46SEmmanuel Vadot							 PDO_FIXED_DATA_SWAP)>;
35101950c46SEmmanuel Vadot				sink-pdos = <PDO_FIXED(5000, 3000,
35201950c46SEmmanuel Vadot						       PDO_FIXED_DUAL_ROLE |
35301950c46SEmmanuel Vadot						       PDO_FIXED_DATA_SWAP)>;
35401950c46SEmmanuel Vadot
35501950c46SEmmanuel Vadot				ports {
35601950c46SEmmanuel Vadot					#address-cells = <1>;
35701950c46SEmmanuel Vadot					#size-cells = <0>;
35801950c46SEmmanuel Vadot
35901950c46SEmmanuel Vadot					port@0 {
36001950c46SEmmanuel Vadot						reg = <0>;
36101950c46SEmmanuel Vadot						typec_con_hs: endpoint {
36201950c46SEmmanuel Vadot							remote-endpoint = <&mtu3_hs0_role_sw>;
36301950c46SEmmanuel Vadot						};
36401950c46SEmmanuel Vadot					};
36501950c46SEmmanuel Vadot
36601950c46SEmmanuel Vadot					port@2 {
36701950c46SEmmanuel Vadot						reg = <2>;
36801950c46SEmmanuel Vadot						typec_con_mux: endpoint {
36901950c46SEmmanuel Vadot							remote-endpoint = <&it5205_sbu_mux>;
37001950c46SEmmanuel Vadot						};
37101950c46SEmmanuel Vadot					};
37201950c46SEmmanuel Vadot				};
37301950c46SEmmanuel Vadot			};
37401950c46SEmmanuel Vadot		};
37501950c46SEmmanuel Vadot	};
37601950c46SEmmanuel Vadot};
37701950c46SEmmanuel Vadot
3780e8011faSEmmanuel Vadot&mfg0 {
3790e8011faSEmmanuel Vadot	domain-supply = <&mt6315_7_vbuck1>;
3800e8011faSEmmanuel Vadot};
3810e8011faSEmmanuel Vadot
3820e8011faSEmmanuel Vadot&mfg1 {
3830e8011faSEmmanuel Vadot	domain-supply = <&mt6359_vsram_others_ldo_reg>;
3840e8011faSEmmanuel Vadot};
3850e8011faSEmmanuel Vadot
38601950c46SEmmanuel Vadot/* MMC0 Controller: eMMC (HS400). Power lines are shared with UFS! */
38701950c46SEmmanuel Vadot&mmc0 {
38801950c46SEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
38901950c46SEmmanuel Vadot	pinctrl-0 = <&mmc0_default_pins>;
39001950c46SEmmanuel Vadot	pinctrl-1 = <&mmc0_uhs_pins>;
39101950c46SEmmanuel Vadot	bus-width = <8>;
39201950c46SEmmanuel Vadot	max-frequency = <200000000>;
39301950c46SEmmanuel Vadot	hs400-ds-delay = <0x14c11>;
39401950c46SEmmanuel Vadot	cap-mmc-highspeed;
39501950c46SEmmanuel Vadot	cap-mmc-hw-reset;
39601950c46SEmmanuel Vadot	mmc-hs200-1_8v;
39701950c46SEmmanuel Vadot	mmc-hs400-1_8v;
39801950c46SEmmanuel Vadot	no-sdio;
39901950c46SEmmanuel Vadot	no-sd;
40001950c46SEmmanuel Vadot	non-removable;
40101950c46SEmmanuel Vadot	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
40201950c46SEmmanuel Vadot	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
40301950c46SEmmanuel Vadot	status = "okay";
40401950c46SEmmanuel Vadot};
40501950c46SEmmanuel Vadot
40601950c46SEmmanuel Vadot/* MMC1 Controller: MicroSD card slot */
40701950c46SEmmanuel Vadot&mmc1 {
40801950c46SEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
40901950c46SEmmanuel Vadot	pinctrl-0 = <&mmc1_default_pins>, <&mmc1_pins_detect>;
41001950c46SEmmanuel Vadot	pinctrl-1 = <&mmc1_default_pins>;
41101950c46SEmmanuel Vadot	bus-width = <4>;
41201950c46SEmmanuel Vadot	max-frequency = <200000000>;
41301950c46SEmmanuel Vadot	cap-sd-highspeed;
41401950c46SEmmanuel Vadot	cd-gpios = <&pio 129 GPIO_ACTIVE_LOW>;
41501950c46SEmmanuel Vadot	no-mmc;
41601950c46SEmmanuel Vadot	no-sdio;
41701950c46SEmmanuel Vadot	sd-uhs-sdr50;
41801950c46SEmmanuel Vadot	sd-uhs-sdr104;
41901950c46SEmmanuel Vadot	vmmc-supply = <&mt6360_ldo5>;
42001950c46SEmmanuel Vadot	vqmmc-supply = <&mt6360_ldo3>;
42101950c46SEmmanuel Vadot	status = "okay";
42201950c46SEmmanuel Vadot};
42301950c46SEmmanuel Vadot
42401950c46SEmmanuel Vadot&mt6359_vaud18_ldo_reg {
42501950c46SEmmanuel Vadot	regulator-always-on;
42601950c46SEmmanuel Vadot};
42701950c46SEmmanuel Vadot
42801950c46SEmmanuel Vadot&mt6359_vbbck_ldo_reg {
42901950c46SEmmanuel Vadot	regulator-always-on;
43001950c46SEmmanuel Vadot};
43101950c46SEmmanuel Vadot
43201950c46SEmmanuel Vadot/* For USB Hub */
43301950c46SEmmanuel Vadot&mt6359_vcamio_ldo_reg {
43401950c46SEmmanuel Vadot	regulator-always-on;
43501950c46SEmmanuel Vadot};
43601950c46SEmmanuel Vadot
43701950c46SEmmanuel Vadot&mt6359_vcn33_2_bt_ldo_reg {
43801950c46SEmmanuel Vadot	regulator-min-microvolt = <3300000>;
43901950c46SEmmanuel Vadot	regulator-max-microvolt = <3300000>;
44001950c46SEmmanuel Vadot};
44101950c46SEmmanuel Vadot
44201950c46SEmmanuel Vadot&mt6359_vcore_buck_reg {
44301950c46SEmmanuel Vadot	regulator-always-on;
44401950c46SEmmanuel Vadot};
44501950c46SEmmanuel Vadot
44601950c46SEmmanuel Vadot&mt6359_vgpu11_buck_reg {
44701950c46SEmmanuel Vadot	regulator-always-on;
44801950c46SEmmanuel Vadot};
44901950c46SEmmanuel Vadot
45001950c46SEmmanuel Vadot&mt6359_vproc1_buck_reg {
45101950c46SEmmanuel Vadot	regulator-always-on;
45201950c46SEmmanuel Vadot};
45301950c46SEmmanuel Vadot
45401950c46SEmmanuel Vadot&mt6359_vproc2_buck_reg {
45501950c46SEmmanuel Vadot	regulator-always-on;
45601950c46SEmmanuel Vadot};
45701950c46SEmmanuel Vadot
45801950c46SEmmanuel Vadot&mt6359_vpu_buck_reg {
45901950c46SEmmanuel Vadot	regulator-always-on;
46001950c46SEmmanuel Vadot};
46101950c46SEmmanuel Vadot
46201950c46SEmmanuel Vadot&mt6359_vrf12_ldo_reg {
46301950c46SEmmanuel Vadot	regulator-always-on;
46401950c46SEmmanuel Vadot};
46501950c46SEmmanuel Vadot
46601950c46SEmmanuel Vadot&mt6359_vsram_md_ldo_reg {
46701950c46SEmmanuel Vadot	regulator-always-on;
46801950c46SEmmanuel Vadot};
46901950c46SEmmanuel Vadot
47001950c46SEmmanuel Vadot/* for GPU SRAM */
47101950c46SEmmanuel Vadot&mt6359_vsram_others_ldo_reg {
47201950c46SEmmanuel Vadot	regulator-min-microvolt = <750000>;
47301950c46SEmmanuel Vadot	regulator-max-microvolt = <750000>;
47401950c46SEmmanuel Vadot};
47501950c46SEmmanuel Vadot
47601950c46SEmmanuel Vadot&pio {
4770e8011faSEmmanuel Vadot	mediatek,rsel-resistance-in-si-unit;
4780e8011faSEmmanuel Vadot
47901950c46SEmmanuel Vadot	eth_default_pins: eth-default-pins {
48001950c46SEmmanuel Vadot		pins-cc {
48101950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>,
48201950c46SEmmanuel Vadot				 <PINMUX_GPIO86__FUNC_GBE_RXC>,
48301950c46SEmmanuel Vadot				 <PINMUX_GPIO87__FUNC_GBE_RXDV>,
48401950c46SEmmanuel Vadot				 <PINMUX_GPIO88__FUNC_GBE_TXEN>;
48501950c46SEmmanuel Vadot			drive-strength = <8>;
48601950c46SEmmanuel Vadot		};
48701950c46SEmmanuel Vadot
48801950c46SEmmanuel Vadot		pins-mdio {
48901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>,
49001950c46SEmmanuel Vadot				 <PINMUX_GPIO90__FUNC_GBE_MDIO>;
49101950c46SEmmanuel Vadot			input-enable;
49201950c46SEmmanuel Vadot		};
49301950c46SEmmanuel Vadot
49401950c46SEmmanuel Vadot		pins-power {
49501950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO91__FUNC_GPIO91>,
49601950c46SEmmanuel Vadot				 <PINMUX_GPIO92__FUNC_GPIO92>;
49701950c46SEmmanuel Vadot			output-high;
49801950c46SEmmanuel Vadot		};
49901950c46SEmmanuel Vadot
50001950c46SEmmanuel Vadot		pins-rst {
50101950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO93__FUNC_GPIO93>;
50201950c46SEmmanuel Vadot		};
50301950c46SEmmanuel Vadot
50401950c46SEmmanuel Vadot		pins-rxd {
50501950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>,
50601950c46SEmmanuel Vadot				 <PINMUX_GPIO82__FUNC_GBE_RXD2>,
50701950c46SEmmanuel Vadot				 <PINMUX_GPIO83__FUNC_GBE_RXD1>,
50801950c46SEmmanuel Vadot				 <PINMUX_GPIO84__FUNC_GBE_RXD0>;
50901950c46SEmmanuel Vadot		};
51001950c46SEmmanuel Vadot
51101950c46SEmmanuel Vadot		pins-txd {
51201950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>,
51301950c46SEmmanuel Vadot				 <PINMUX_GPIO78__FUNC_GBE_TXD2>,
51401950c46SEmmanuel Vadot				 <PINMUX_GPIO79__FUNC_GBE_TXD1>,
51501950c46SEmmanuel Vadot				 <PINMUX_GPIO80__FUNC_GBE_TXD0>;
51601950c46SEmmanuel Vadot			drive-strength = <8>;
51701950c46SEmmanuel Vadot		};
51801950c46SEmmanuel Vadot	};
51901950c46SEmmanuel Vadot
52001950c46SEmmanuel Vadot	eth_sleep_pins: eth-sleep-pins {
52101950c46SEmmanuel Vadot		pins-cc {
52201950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO85__FUNC_GPIO85>,
52301950c46SEmmanuel Vadot				 <PINMUX_GPIO86__FUNC_GPIO86>,
52401950c46SEmmanuel Vadot				 <PINMUX_GPIO87__FUNC_GPIO87>,
52501950c46SEmmanuel Vadot				 <PINMUX_GPIO88__FUNC_GPIO88>;
52601950c46SEmmanuel Vadot		};
52701950c46SEmmanuel Vadot
52801950c46SEmmanuel Vadot		pins-mdio {
52901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO89__FUNC_GPIO89>,
53001950c46SEmmanuel Vadot				 <PINMUX_GPIO90__FUNC_GPIO90>;
53101950c46SEmmanuel Vadot			bias-disable;
53201950c46SEmmanuel Vadot			input-disable;
53301950c46SEmmanuel Vadot		};
53401950c46SEmmanuel Vadot
53501950c46SEmmanuel Vadot		pins-rxd {
53601950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO81__FUNC_GPIO81>,
53701950c46SEmmanuel Vadot				 <PINMUX_GPIO82__FUNC_GPIO82>,
53801950c46SEmmanuel Vadot				 <PINMUX_GPIO83__FUNC_GPIO83>,
53901950c46SEmmanuel Vadot				 <PINMUX_GPIO84__FUNC_GPIO84>;
54001950c46SEmmanuel Vadot		};
54101950c46SEmmanuel Vadot
54201950c46SEmmanuel Vadot		pins-txd {
54301950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO77__FUNC_GPIO77>,
54401950c46SEmmanuel Vadot				 <PINMUX_GPIO78__FUNC_GPIO78>,
54501950c46SEmmanuel Vadot				 <PINMUX_GPIO79__FUNC_GPIO79>,
54601950c46SEmmanuel Vadot				 <PINMUX_GPIO80__FUNC_GPIO80>;
54701950c46SEmmanuel Vadot		};
54801950c46SEmmanuel Vadot	};
54901950c46SEmmanuel Vadot
55001950c46SEmmanuel Vadot	i2c2_pins: i2c2-pins {
55101950c46SEmmanuel Vadot		pins-bus {
55201950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO12__FUNC_SDA2>,
55301950c46SEmmanuel Vadot				 <PINMUX_GPIO13__FUNC_SCL2>;
5540e8011faSEmmanuel Vadot			bias-pull-up = <1000>;
55501950c46SEmmanuel Vadot			drive-strength = <6>;
55601950c46SEmmanuel Vadot			drive-strength-microamp = <1000>;
55701950c46SEmmanuel Vadot		};
55801950c46SEmmanuel Vadot	};
55901950c46SEmmanuel Vadot
56001950c46SEmmanuel Vadot	i2c4_pins: i2c4-pins {
56101950c46SEmmanuel Vadot		pins-bus {
56201950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO16__FUNC_SDA4>,
56301950c46SEmmanuel Vadot				 <PINMUX_GPIO17__FUNC_SCL4>;
5640e8011faSEmmanuel Vadot			bias-pull-up = <1000>;
56501950c46SEmmanuel Vadot			drive-strength-microamp = <1000>;
56601950c46SEmmanuel Vadot		};
56701950c46SEmmanuel Vadot	};
56801950c46SEmmanuel Vadot
56901950c46SEmmanuel Vadot	i2c6_pins: i2c6-pins {
57001950c46SEmmanuel Vadot		pins {
57101950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO25__FUNC_SDA6>,
57201950c46SEmmanuel Vadot				 <PINMUX_GPIO26__FUNC_SCL6>;
5730e8011faSEmmanuel Vadot			bias-disable;
57401950c46SEmmanuel Vadot		};
57501950c46SEmmanuel Vadot	};
57601950c46SEmmanuel Vadot
57701950c46SEmmanuel Vadot	mmc0_default_pins: mmc0-default-pins {
57801950c46SEmmanuel Vadot		pins-clk {
57901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
58001950c46SEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
58101950c46SEmmanuel Vadot			drive-strength = <6>;
58201950c46SEmmanuel Vadot		};
58301950c46SEmmanuel Vadot
58401950c46SEmmanuel Vadot		pins-cmd-dat {
58501950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
58601950c46SEmmanuel Vadot				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
58701950c46SEmmanuel Vadot				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
58801950c46SEmmanuel Vadot				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
58901950c46SEmmanuel Vadot				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
59001950c46SEmmanuel Vadot				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
59101950c46SEmmanuel Vadot				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
59201950c46SEmmanuel Vadot				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
59301950c46SEmmanuel Vadot				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
59401950c46SEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
59501950c46SEmmanuel Vadot			drive-strength = <6>;
59601950c46SEmmanuel Vadot			input-enable;
59701950c46SEmmanuel Vadot		};
59801950c46SEmmanuel Vadot
59901950c46SEmmanuel Vadot		pins-rst {
60001950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
60101950c46SEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
60201950c46SEmmanuel Vadot			drive-strength = <6>;
60301950c46SEmmanuel Vadot		};
60401950c46SEmmanuel Vadot	};
60501950c46SEmmanuel Vadot
60601950c46SEmmanuel Vadot	mmc0_uhs_pins: mmc0-uhs-pins {
60701950c46SEmmanuel Vadot		pins-clk {
60801950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
60901950c46SEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
61001950c46SEmmanuel Vadot			drive-strength = <8>;
61101950c46SEmmanuel Vadot		};
61201950c46SEmmanuel Vadot
61301950c46SEmmanuel Vadot		pins-cmd-dat {
61401950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
61501950c46SEmmanuel Vadot				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
61601950c46SEmmanuel Vadot				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
61701950c46SEmmanuel Vadot				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
61801950c46SEmmanuel Vadot				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
61901950c46SEmmanuel Vadot				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
62001950c46SEmmanuel Vadot				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
62101950c46SEmmanuel Vadot				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
62201950c46SEmmanuel Vadot				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
62301950c46SEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
62401950c46SEmmanuel Vadot			drive-strength = <8>;
62501950c46SEmmanuel Vadot			input-enable;
62601950c46SEmmanuel Vadot		};
62701950c46SEmmanuel Vadot
62801950c46SEmmanuel Vadot		pins-ds {
62901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
63001950c46SEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
63101950c46SEmmanuel Vadot			drive-strength = <8>;
63201950c46SEmmanuel Vadot		};
63301950c46SEmmanuel Vadot
63401950c46SEmmanuel Vadot		pins-rst {
63501950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
63601950c46SEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
63701950c46SEmmanuel Vadot			drive-strength = <8>;
63801950c46SEmmanuel Vadot		};
63901950c46SEmmanuel Vadot	};
64001950c46SEmmanuel Vadot
64101950c46SEmmanuel Vadot	mmc1_default_pins: mmc1-default-pins {
64201950c46SEmmanuel Vadot		pins-clk {
64301950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
64401950c46SEmmanuel Vadot			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
64501950c46SEmmanuel Vadot			drive-strength = <8>;
64601950c46SEmmanuel Vadot		};
64701950c46SEmmanuel Vadot
64801950c46SEmmanuel Vadot		pins-cmd-dat {
64901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
65001950c46SEmmanuel Vadot				 <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
65101950c46SEmmanuel Vadot				 <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
65201950c46SEmmanuel Vadot				 <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
65301950c46SEmmanuel Vadot				 <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
65401950c46SEmmanuel Vadot			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
65501950c46SEmmanuel Vadot			drive-strength = <8>;
65601950c46SEmmanuel Vadot			input-enable;
65701950c46SEmmanuel Vadot		};
65801950c46SEmmanuel Vadot	};
65901950c46SEmmanuel Vadot
66001950c46SEmmanuel Vadot	mmc1_pins_detect: mmc1-detect-pins {
66101950c46SEmmanuel Vadot		pins-insert {
66201950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO129__FUNC_GPIO129>;
66301950c46SEmmanuel Vadot			bias-pull-up;
66401950c46SEmmanuel Vadot		};
66501950c46SEmmanuel Vadot	};
66601950c46SEmmanuel Vadot
66701950c46SEmmanuel Vadot	mt6360_pins: mt6360-pins {
66801950c46SEmmanuel Vadot		pins-irq {
66901950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO100__FUNC_GPIO100>,
67001950c46SEmmanuel Vadot				 <PINMUX_GPIO101__FUNC_GPIO101>;
67101950c46SEmmanuel Vadot			input-enable;
67201950c46SEmmanuel Vadot			bias-pull-up;
67301950c46SEmmanuel Vadot		};
67401950c46SEmmanuel Vadot	};
67501950c46SEmmanuel Vadot
67601950c46SEmmanuel Vadot	pcie0_default_pins: pcie0-default-pins {
67701950c46SEmmanuel Vadot		pins-bus {
67801950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO19__FUNC_WAKEN>,
67901950c46SEmmanuel Vadot				 <PINMUX_GPIO20__FUNC_PERSTN>,
68001950c46SEmmanuel Vadot				 <PINMUX_GPIO21__FUNC_CLKREQN>;
68101950c46SEmmanuel Vadot			bias-pull-up;
68201950c46SEmmanuel Vadot		};
68301950c46SEmmanuel Vadot	};
68401950c46SEmmanuel Vadot
68501950c46SEmmanuel Vadot	pcie1_default_pins: pcie1-default-pins {
68601950c46SEmmanuel Vadot		pins-bus {
68701950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO0__FUNC_PERSTN_1>,
68801950c46SEmmanuel Vadot				 <PINMUX_GPIO1__FUNC_CLKREQN_1>,
68901950c46SEmmanuel Vadot				 <PINMUX_GPIO2__FUNC_WAKEN_1>;
69001950c46SEmmanuel Vadot			bias-disable;
69101950c46SEmmanuel Vadot		};
69201950c46SEmmanuel Vadot	};
69301950c46SEmmanuel Vadot
69401950c46SEmmanuel Vadot	spi1_pins: spi1-default-pins {
69501950c46SEmmanuel Vadot		pins-bus {
69601950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO136__FUNC_SPIM1_CSB>,
69701950c46SEmmanuel Vadot				 <PINMUX_GPIO137__FUNC_SPIM1_CLK>,
69801950c46SEmmanuel Vadot				 <PINMUX_GPIO138__FUNC_SPIM1_MO>,
69901950c46SEmmanuel Vadot				 <PINMUX_GPIO139__FUNC_SPIM1_MI>;
70001950c46SEmmanuel Vadot			bias-disable;
70101950c46SEmmanuel Vadot		};
70201950c46SEmmanuel Vadot	};
70301950c46SEmmanuel Vadot
70401950c46SEmmanuel Vadot	spi2_pins: spi2-default-pins {
70501950c46SEmmanuel Vadot		pins-bus {
70601950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO140__FUNC_SPIM2_CSB>,
70701950c46SEmmanuel Vadot				 <PINMUX_GPIO141__FUNC_SPIM2_CLK>,
70801950c46SEmmanuel Vadot				 <PINMUX_GPIO142__FUNC_SPIM2_MO>,
70901950c46SEmmanuel Vadot				 <PINMUX_GPIO143__FUNC_SPIM2_MI>;
71001950c46SEmmanuel Vadot			bias-disable;
71101950c46SEmmanuel Vadot		};
71201950c46SEmmanuel Vadot	};
71301950c46SEmmanuel Vadot
71401950c46SEmmanuel Vadot	uart0_pins: uart0-pins {
71501950c46SEmmanuel Vadot		pins-bus {
71601950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
71701950c46SEmmanuel Vadot				 <PINMUX_GPIO99__FUNC_URXD0>;
71801950c46SEmmanuel Vadot		};
71901950c46SEmmanuel Vadot	};
72001950c46SEmmanuel Vadot
72101950c46SEmmanuel Vadot	uart1_pins: uart1-pins {
72201950c46SEmmanuel Vadot		pins-bus {
72301950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO102__FUNC_UTXD1>,
72401950c46SEmmanuel Vadot				 <PINMUX_GPIO103__FUNC_URXD1>;
72501950c46SEmmanuel Vadot		};
72601950c46SEmmanuel Vadot	};
72701950c46SEmmanuel Vadot
7280e8011faSEmmanuel Vadot	usb3_port0_pins: usb3p0-default-pins {
7290e8011faSEmmanuel Vadot		pins-vbus {
7300e8011faSEmmanuel Vadot			pinmux = <PINMUX_GPIO63__FUNC_VBUSVALID>;
7310e8011faSEmmanuel Vadot			input-enable;
7320e8011faSEmmanuel Vadot		};
7330e8011faSEmmanuel Vadot	};
7340e8011faSEmmanuel Vadot
7350e8011faSEmmanuel Vadot	usb2_port0_pins: usb2p0-default-pins {
7360e8011faSEmmanuel Vadot		pins-iddig {
7370e8011faSEmmanuel Vadot			pinmux = <PINMUX_GPIO130__FUNC_IDDIG_1P>;
7380e8011faSEmmanuel Vadot			input-enable;
7390e8011faSEmmanuel Vadot			bias-pull-up;
7400e8011faSEmmanuel Vadot		};
7410e8011faSEmmanuel Vadot
7420e8011faSEmmanuel Vadot		pins-vbus {
7430e8011faSEmmanuel Vadot			pinmux = <PINMUX_GPIO131__FUNC_USB_DRVVBUS_1P>;
7440e8011faSEmmanuel Vadot			output-low;
7450e8011faSEmmanuel Vadot		};
7460e8011faSEmmanuel Vadot	};
7470e8011faSEmmanuel Vadot
74801950c46SEmmanuel Vadot	wifi_vreg_pins: wifi-vreg-pins {
74901950c46SEmmanuel Vadot		pins-wifi-pmu-en {
75001950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO65__FUNC_GPIO65>;
75101950c46SEmmanuel Vadot			output-high;
75201950c46SEmmanuel Vadot		};
75301950c46SEmmanuel Vadot
75401950c46SEmmanuel Vadot		pins-wifi-vreg-en {
75501950c46SEmmanuel Vadot			pinmux = <PINMUX_GPIO67__FUNC_GPIO67>;
75601950c46SEmmanuel Vadot		};
75701950c46SEmmanuel Vadot	};
75801950c46SEmmanuel Vadot};
75901950c46SEmmanuel Vadot
76001950c46SEmmanuel Vadot&pcie0 {
76101950c46SEmmanuel Vadot	pinctrl-names = "default";
76201950c46SEmmanuel Vadot	pinctrl-0 = <&pcie0_default_pins>;
76301950c46SEmmanuel Vadot	status = "okay";
76401950c46SEmmanuel Vadot};
76501950c46SEmmanuel Vadot
76601950c46SEmmanuel Vadot&pcie1 {
76701950c46SEmmanuel Vadot	pinctrl-names = "default";
76801950c46SEmmanuel Vadot	pinctrl-0 = <&pcie1_default_pins>;
76901950c46SEmmanuel Vadot	status = "okay";
77001950c46SEmmanuel Vadot};
77101950c46SEmmanuel Vadot
7720e8011faSEmmanuel Vadot&pciephy {
7730e8011faSEmmanuel Vadot	status = "okay";
7740e8011faSEmmanuel Vadot};
7750e8011faSEmmanuel Vadot
77601950c46SEmmanuel Vadot&pmic {
77701950c46SEmmanuel Vadot	interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
77801950c46SEmmanuel Vadot};
77901950c46SEmmanuel Vadot
78001950c46SEmmanuel Vadot&scp {
78101950c46SEmmanuel Vadot	memory-region = <&scp_mem>;
78201950c46SEmmanuel Vadot	status = "okay";
78301950c46SEmmanuel Vadot};
78401950c46SEmmanuel Vadot
78501950c46SEmmanuel Vadot&spi1 {
78601950c46SEmmanuel Vadot	/* Exposed at 40 pin connector */
78701950c46SEmmanuel Vadot	pinctrl-0 = <&spi1_pins>;
78801950c46SEmmanuel Vadot	pinctrl-names = "default";
78901950c46SEmmanuel Vadot	mediatek,pad-select = <0>;
79001950c46SEmmanuel Vadot	#address-cells = <1>;
79101950c46SEmmanuel Vadot	#size-cells = <0>;
79201950c46SEmmanuel Vadot	status = "okay";
79301950c46SEmmanuel Vadot};
79401950c46SEmmanuel Vadot
79501950c46SEmmanuel Vadot&spi2 {
79601950c46SEmmanuel Vadot	/* Exposed at 40 pin connector */
79701950c46SEmmanuel Vadot	pinctrl-0 = <&spi2_pins>;
79801950c46SEmmanuel Vadot	pinctrl-names = "default";
79901950c46SEmmanuel Vadot	mediatek,pad-select = <0>;
80001950c46SEmmanuel Vadot	#address-cells = <1>;
80101950c46SEmmanuel Vadot	#size-cells = <0>;
80201950c46SEmmanuel Vadot	status = "okay";
80301950c46SEmmanuel Vadot};
80401950c46SEmmanuel Vadot
80501950c46SEmmanuel Vadot&spmi {
80601950c46SEmmanuel Vadot	#address-cells = <2>;
80701950c46SEmmanuel Vadot	#size-cells = <0>;
80801950c46SEmmanuel Vadot
80901950c46SEmmanuel Vadot	mt6315_6: pmic@6 {
81001950c46SEmmanuel Vadot		compatible = "mediatek,mt6315-regulator";
81101950c46SEmmanuel Vadot		reg = <0x6 SPMI_USID>;
81201950c46SEmmanuel Vadot
81301950c46SEmmanuel Vadot		regulators {
81401950c46SEmmanuel Vadot			mt6315_6_vbuck1: vbuck1 {
81501950c46SEmmanuel Vadot				regulator-compatible = "vbuck1";
81601950c46SEmmanuel Vadot				regulator-name = "Vbcpu";
81701950c46SEmmanuel Vadot				regulator-min-microvolt = <300000>;
81801950c46SEmmanuel Vadot				regulator-max-microvolt = <1193750>;
81901950c46SEmmanuel Vadot				regulator-enable-ramp-delay = <256>;
82001950c46SEmmanuel Vadot				regulator-allowed-modes = <0 1 2>;
82101950c46SEmmanuel Vadot				regulator-always-on;
82201950c46SEmmanuel Vadot			};
82301950c46SEmmanuel Vadot		};
82401950c46SEmmanuel Vadot	};
82501950c46SEmmanuel Vadot
82601950c46SEmmanuel Vadot	mt6315_7: pmic@7 {
82701950c46SEmmanuel Vadot		compatible = "mediatek,mt6315-regulator";
82801950c46SEmmanuel Vadot		reg = <0x7 SPMI_USID>;
82901950c46SEmmanuel Vadot
83001950c46SEmmanuel Vadot		regulators {
83101950c46SEmmanuel Vadot			mt6315_7_vbuck1: vbuck1 {
83201950c46SEmmanuel Vadot				regulator-compatible = "vbuck1";
83301950c46SEmmanuel Vadot				regulator-name = "Vgpu";
83401950c46SEmmanuel Vadot				regulator-min-microvolt = <300000>;
83501950c46SEmmanuel Vadot				regulator-max-microvolt = <1193750>;
83601950c46SEmmanuel Vadot				regulator-enable-ramp-delay = <256>;
83701950c46SEmmanuel Vadot				regulator-allowed-modes = <0 1 2>;
83801950c46SEmmanuel Vadot			};
83901950c46SEmmanuel Vadot		};
84001950c46SEmmanuel Vadot	};
84101950c46SEmmanuel Vadot};
84201950c46SEmmanuel Vadot
8430e8011faSEmmanuel Vadot&u3phy0 {
8440e8011faSEmmanuel Vadot	status = "okay";
8450e8011faSEmmanuel Vadot};
8460e8011faSEmmanuel Vadot
8470e8011faSEmmanuel Vadot&u3phy1 {
8480e8011faSEmmanuel Vadot	status = "okay";
8490e8011faSEmmanuel Vadot};
8500e8011faSEmmanuel Vadot
8510e8011faSEmmanuel Vadot&u3phy2 {
8520e8011faSEmmanuel Vadot	status = "okay";
8530e8011faSEmmanuel Vadot};
8540e8011faSEmmanuel Vadot
85501950c46SEmmanuel Vadot&uart0 {
85601950c46SEmmanuel Vadot	/* Exposed at 40 pin connector */
85701950c46SEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
85801950c46SEmmanuel Vadot	pinctrl-names = "default";
85901950c46SEmmanuel Vadot	status = "okay";
86001950c46SEmmanuel Vadot};
86101950c46SEmmanuel Vadot
86201950c46SEmmanuel Vadot&uart1 {
86301950c46SEmmanuel Vadot	/* Exposed at 40 pin connector */
86401950c46SEmmanuel Vadot	pinctrl-0 = <&uart1_pins>;
86501950c46SEmmanuel Vadot	pinctrl-names = "default";
86601950c46SEmmanuel Vadot	status = "okay";
86701950c46SEmmanuel Vadot};
86801950c46SEmmanuel Vadot
86901950c46SEmmanuel Vadot&ssusb0 {
8700e8011faSEmmanuel Vadot	pinctrl-names = "default";
8710e8011faSEmmanuel Vadot	pinctrl-0 = <&usb3_port0_pins>;
87201950c46SEmmanuel Vadot	role-switch-default-mode = "host";
87301950c46SEmmanuel Vadot	usb-role-switch;
87401950c46SEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
87501950c46SEmmanuel Vadot	status = "okay";
87601950c46SEmmanuel Vadot
87701950c46SEmmanuel Vadot	port {
87801950c46SEmmanuel Vadot		mtu3_hs0_role_sw: endpoint {
87901950c46SEmmanuel Vadot			remote-endpoint = <&typec_con_hs>;
88001950c46SEmmanuel Vadot		};
88101950c46SEmmanuel Vadot	};
88201950c46SEmmanuel Vadot};
88301950c46SEmmanuel Vadot
88401950c46SEmmanuel Vadot&ssusb2 {
8850e8011faSEmmanuel Vadot	pinctrl-names = "default";
8860e8011faSEmmanuel Vadot	pinctrl-0 = <&usb2_port0_pins>;
88701950c46SEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
88801950c46SEmmanuel Vadot	status = "okay";
88901950c46SEmmanuel Vadot};
89001950c46SEmmanuel Vadot
89101950c46SEmmanuel Vadot&xhci0 {
89201950c46SEmmanuel Vadot	vbus-supply = <&otg_vbus_regulator>;
89301950c46SEmmanuel Vadot	status = "okay";
89401950c46SEmmanuel Vadot};
89501950c46SEmmanuel Vadot
89601950c46SEmmanuel Vadot&xhci1 {
897*b2d2a78aSEmmanuel Vadot	phys = <&u2port1 PHY_TYPE_USB2>;
89801950c46SEmmanuel Vadot	/* MT7921's USB Bluetooth has issues with USB2 LPM */
89901950c46SEmmanuel Vadot	usb2-lpm-disable;
90001950c46SEmmanuel Vadot	vusb33-supply = <&mt6359_vusb_ldo_reg>;
90101950c46SEmmanuel Vadot	vbus-supply = <&vsys>;
902*b2d2a78aSEmmanuel Vadot	mediatek,u3p-dis-msk = <1>;
90301950c46SEmmanuel Vadot	status = "okay";
90401950c46SEmmanuel Vadot};
90501950c46SEmmanuel Vadot
90601950c46SEmmanuel Vadot&xhci2 {
90701950c46SEmmanuel Vadot	vbus-supply = <&vsys>;
90801950c46SEmmanuel Vadot	status = "okay";
90901950c46SEmmanuel Vadot};
910