11802d0beSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only
2b3a37248SEddie Huang/*
3b3a37248SEddie Huang * Copyright (c) 2014 MediaTek Inc.
4b3a37248SEddie Huang * Author: Eddie Huang <eddie.huang@mediatek.com>
5b3a37248SEddie Huang */
6b3a37248SEddie Huang
7b3a37248SEddie Huang/dts-v1/;
8bfcce47aSChunfeng Yun#include <dt-bindings/gpio/gpio.h>
9b3a37248SEddie Huang#include "mt8173.dtsi"
10b3a37248SEddie Huang
11b3a37248SEddie Huang/ {
12692ef3eeSYingjoe Chen	model = "MediaTek MT8173 evaluation board";
13380d18fbSAngeloGioacchino Del Regno	chassis-type = "embedded";
14692ef3eeSYingjoe Chen	compatible = "mediatek,mt8173-evb", "mediatek,mt8173";
15b3a37248SEddie Huang
16b3a37248SEddie Huang	aliases {
17b3a37248SEddie Huang		serial0 = &uart0;
18b3a37248SEddie Huang		serial1 = &uart1;
19b3a37248SEddie Huang		serial2 = &uart2;
20b3a37248SEddie Huang		serial3 = &uart3;
21b3a37248SEddie Huang	};
22b3a37248SEddie Huang
23b3a37248SEddie Huang	memory@40000000 {
24b3a37248SEddie Huang		device_type = "memory";
25b3a37248SEddie Huang		reg = <0 0x40000000 0 0x80000000>;
26b3a37248SEddie Huang	};
27b3a37248SEddie Huang
28b3a37248SEddie Huang	chosen { };
29bfcce47aSChunfeng Yun
307475e27bSPhilipp Zabel	connector {
317475e27bSPhilipp Zabel		compatible = "hdmi-connector";
327475e27bSPhilipp Zabel		label = "hdmi";
337475e27bSPhilipp Zabel		type = "d";
347475e27bSPhilipp Zabel
357475e27bSPhilipp Zabel		port {
367475e27bSPhilipp Zabel			hdmi_connector_in: endpoint {
377475e27bSPhilipp Zabel				remote-endpoint = <&hdmi0_out>;
387475e27bSPhilipp Zabel			};
397475e27bSPhilipp Zabel		};
407475e27bSPhilipp Zabel	};
41c0891284SChunfeng Yun
42c0891284SChunfeng Yun	extcon_usb: extcon_iddig {
43c0891284SChunfeng Yun		compatible = "linux,extcon-usb-gpio";
44c0891284SChunfeng Yun		id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
45c0891284SChunfeng Yun	};
46c0891284SChunfeng Yun
47*12530266SAngeloGioacchino Del Regno	usb_p1_vbus: regulator-usb-p1 {
48c0891284SChunfeng Yun		compatible = "regulator-fixed";
49c0891284SChunfeng Yun		regulator-name = "usb_vbus";
50c0891284SChunfeng Yun		regulator-min-microvolt = <5000000>;
51c0891284SChunfeng Yun		regulator-max-microvolt = <5000000>;
52c0891284SChunfeng Yun		gpio = <&pio 130 GPIO_ACTIVE_HIGH>;
53c0891284SChunfeng Yun		enable-active-high;
54c0891284SChunfeng Yun	};
55c0891284SChunfeng Yun
56*12530266SAngeloGioacchino Del Regno	usb_p0_vbus: regulator-usb-p0 {
57c0891284SChunfeng Yun		compatible = "regulator-fixed";
58c0891284SChunfeng Yun		regulator-name = "vbus";
59c0891284SChunfeng Yun		regulator-min-microvolt = <5000000>;
60c0891284SChunfeng Yun		regulator-max-microvolt = <5000000>;
61c0891284SChunfeng Yun		gpio = <&pio 9 GPIO_ACTIVE_HIGH>;
62c0891284SChunfeng Yun		enable-active-high;
63c0891284SChunfeng Yun	};
647475e27bSPhilipp Zabel};
657475e27bSPhilipp Zabel
66109fd206SBilal Wasim&mfg_async {
67109fd206SBilal Wasim	domain-supply = <&da9211_vgpu_reg>;
68109fd206SBilal Wasim};
69109fd206SBilal Wasim
707475e27bSPhilipp Zabel&cec {
717475e27bSPhilipp Zabel	status = "okay";
727475e27bSPhilipp Zabel};
737475e27bSPhilipp Zabel
74da85a3afSAndrew-sh Cheng&cpu0 {
75da85a3afSAndrew-sh Cheng	proc-supply = <&mt6397_vpca15_reg>;
76da85a3afSAndrew-sh Cheng};
77da85a3afSAndrew-sh Cheng
78da85a3afSAndrew-sh Cheng&cpu1 {
79da85a3afSAndrew-sh Cheng	proc-supply = <&mt6397_vpca15_reg>;
80da85a3afSAndrew-sh Cheng};
81da85a3afSAndrew-sh Cheng
82da85a3afSAndrew-sh Cheng&cpu2 {
83da85a3afSAndrew-sh Cheng	proc-supply = <&da9211_vcpu_reg>;
84da85a3afSAndrew-sh Cheng	sram-supply = <&mt6397_vsramca7_reg>;
85da85a3afSAndrew-sh Cheng};
86da85a3afSAndrew-sh Cheng
87da85a3afSAndrew-sh Cheng&cpu3 {
88da85a3afSAndrew-sh Cheng	proc-supply = <&da9211_vcpu_reg>;
89da85a3afSAndrew-sh Cheng	sram-supply = <&mt6397_vsramca7_reg>;
90da85a3afSAndrew-sh Cheng};
91da85a3afSAndrew-sh Cheng
927475e27bSPhilipp Zabel&dpi0 {
937475e27bSPhilipp Zabel	status = "okay";
947475e27bSPhilipp Zabel};
957475e27bSPhilipp Zabel
967475e27bSPhilipp Zabel&hdmi_phy {
977475e27bSPhilipp Zabel	status = "okay";
987475e27bSPhilipp Zabel};
997475e27bSPhilipp Zabel
1007475e27bSPhilipp Zabel&hdmi0 {
1017475e27bSPhilipp Zabel	status = "okay";
1027475e27bSPhilipp Zabel
1037475e27bSPhilipp Zabel	ports {
1047475e27bSPhilipp Zabel		port@1 {
1057475e27bSPhilipp Zabel			reg = <1>;
1067475e27bSPhilipp Zabel
1077475e27bSPhilipp Zabel			hdmi0_out: endpoint {
1087475e27bSPhilipp Zabel				remote-endpoint = <&hdmi_connector_in>;
1097475e27bSPhilipp Zabel			};
1107475e27bSPhilipp Zabel		};
1117475e27bSPhilipp Zabel	};
112b3a37248SEddie Huang};
113b3a37248SEddie Huang
114720570b1SHenry Chen&i2c1 {
115720570b1SHenry Chen	status = "okay";
116720570b1SHenry Chen
117720570b1SHenry Chen	buck: da9211@68 {
118720570b1SHenry Chen		compatible = "dlg,da9211";
119720570b1SHenry Chen		reg = <0x68>;
120720570b1SHenry Chen
121720570b1SHenry Chen		regulators {
122720570b1SHenry Chen			da9211_vcpu_reg: BUCKA {
123720570b1SHenry Chen				regulator-name = "VBUCKA";
124720570b1SHenry Chen				regulator-min-microvolt = < 700000>;
125720570b1SHenry Chen				regulator-max-microvolt = <1310000>;
126720570b1SHenry Chen				regulator-min-microamp = <2000000>;
127720570b1SHenry Chen				regulator-max-microamp = <4400000>;
128720570b1SHenry Chen				regulator-ramp-delay = <10000>;
129720570b1SHenry Chen				regulator-always-on;
130720570b1SHenry Chen			};
131720570b1SHenry Chen
132720570b1SHenry Chen			da9211_vgpu_reg: BUCKB {
133720570b1SHenry Chen				regulator-name = "VBUCKB";
134720570b1SHenry Chen				regulator-min-microvolt = < 700000>;
135720570b1SHenry Chen				regulator-max-microvolt = <1310000>;
136720570b1SHenry Chen				regulator-min-microamp = <2000000>;
137720570b1SHenry Chen				regulator-max-microamp = <3000000>;
138720570b1SHenry Chen				regulator-ramp-delay = <10000>;
139720570b1SHenry Chen			};
140720570b1SHenry Chen		};
141720570b1SHenry Chen	};
142720570b1SHenry Chen};
143720570b1SHenry Chen
1449719fa5aSEddie Huang&mmc0 {
1459719fa5aSEddie Huang	status = "okay";
1469719fa5aSEddie Huang	pinctrl-names = "default", "state_uhs";
1479719fa5aSEddie Huang	pinctrl-0 = <&mmc0_pins_default>;
1489719fa5aSEddie Huang	pinctrl-1 = <&mmc0_pins_uhs>;
1499719fa5aSEddie Huang	bus-width = <8>;
1509719fa5aSEddie Huang	max-frequency = <50000000>;
1519719fa5aSEddie Huang	cap-mmc-highspeed;
1521c080365Syong mao	mediatek,hs200-cmd-int-delay = <26>;
1531c080365Syong mao	mediatek,hs400-cmd-int-delay = <14>;
1541c080365Syong mao	mediatek,hs400-cmd-resp-sel-rising;
1559719fa5aSEddie Huang	vmmc-supply = <&mt6397_vemc_3v3_reg>;
1569719fa5aSEddie Huang	vqmmc-supply = <&mt6397_vio18_reg>;
1579719fa5aSEddie Huang	non-removable;
1589719fa5aSEddie Huang};
1599719fa5aSEddie Huang
1609719fa5aSEddie Huang&mmc1 {
1619719fa5aSEddie Huang	status = "okay";
1629719fa5aSEddie Huang	pinctrl-names = "default", "state_uhs";
1639719fa5aSEddie Huang	pinctrl-0 = <&mmc1_pins_default>;
1649719fa5aSEddie Huang	pinctrl-1 = <&mmc1_pins_uhs>;
1659719fa5aSEddie Huang	bus-width = <4>;
1669719fa5aSEddie Huang	max-frequency = <50000000>;
1679719fa5aSEddie Huang	cap-sd-highspeed;
1689719fa5aSEddie Huang	sd-uhs-sdr25;
1699719fa5aSEddie Huang	cd-gpios = <&pio 132 0>;
1709719fa5aSEddie Huang	vmmc-supply = <&mt6397_vmch_reg>;
1719719fa5aSEddie Huang	vqmmc-supply = <&mt6397_vmc_reg>;
1729719fa5aSEddie Huang};
1739719fa5aSEddie Huang
1749719fa5aSEddie Huang&pio {
17561aee934SYH Huang	disp_pwm0_pins: disp_pwm0_pins {
17661aee934SYH Huang		pins1 {
17761aee934SYH Huang			pinmux = <MT8173_PIN_87_DISP_PWM0__FUNC_DISP_PWM0>;
17861aee934SYH Huang			output-low;
17961aee934SYH Huang		};
18061aee934SYH Huang	};
18161aee934SYH Huang
1829719fa5aSEddie Huang	mmc0_pins_default: mmc0default {
1839719fa5aSEddie Huang		pins_cmd_dat {
1849719fa5aSEddie Huang			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
1859719fa5aSEddie Huang				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
1869719fa5aSEddie Huang				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
1879719fa5aSEddie Huang				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
1889719fa5aSEddie Huang				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
1899719fa5aSEddie Huang				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
1909719fa5aSEddie Huang				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
1919719fa5aSEddie Huang				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
1929719fa5aSEddie Huang				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
1939719fa5aSEddie Huang			input-enable;
1949719fa5aSEddie Huang			bias-pull-up;
1959719fa5aSEddie Huang		};
1969719fa5aSEddie Huang
1979719fa5aSEddie Huang		pins_clk {
1989719fa5aSEddie Huang			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
1999719fa5aSEddie Huang			bias-pull-down;
2009719fa5aSEddie Huang		};
2019719fa5aSEddie Huang
2029719fa5aSEddie Huang		pins_rst {
2039719fa5aSEddie Huang			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
2049719fa5aSEddie Huang			bias-pull-up;
2059719fa5aSEddie Huang		};
2069719fa5aSEddie Huang	};
2079719fa5aSEddie Huang
2089719fa5aSEddie Huang	mmc1_pins_default: mmc1default {
2099719fa5aSEddie Huang		pins_cmd_dat {
2109719fa5aSEddie Huang			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
2119719fa5aSEddie Huang				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
2129719fa5aSEddie Huang				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
2139719fa5aSEddie Huang				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
2149719fa5aSEddie Huang				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
2159719fa5aSEddie Huang			input-enable;
2169719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2179719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
2189719fa5aSEddie Huang		};
2199719fa5aSEddie Huang
2209719fa5aSEddie Huang		pins_clk {
2219719fa5aSEddie Huang			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
2229719fa5aSEddie Huang			bias-pull-down;
2239719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2249719fa5aSEddie Huang		};
2259719fa5aSEddie Huang
2269719fa5aSEddie Huang		pins_insert {
2279719fa5aSEddie Huang			pinmux = <MT8173_PIN_132_I2S0_DATA1__FUNC_GPIO132>;
2289719fa5aSEddie Huang			bias-pull-up;
2299719fa5aSEddie Huang		};
2309719fa5aSEddie Huang	};
2319719fa5aSEddie Huang
2329719fa5aSEddie Huang	mmc0_pins_uhs: mmc0 {
2339719fa5aSEddie Huang		pins_cmd_dat {
2349719fa5aSEddie Huang			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
2359719fa5aSEddie Huang				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
2369719fa5aSEddie Huang				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
2379719fa5aSEddie Huang				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
2389719fa5aSEddie Huang				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
2399719fa5aSEddie Huang				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
2409719fa5aSEddie Huang				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
2419719fa5aSEddie Huang				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
2429719fa5aSEddie Huang				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
2439719fa5aSEddie Huang			input-enable;
2449719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_2mA>;
2459719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
2469719fa5aSEddie Huang		};
2479719fa5aSEddie Huang
2489719fa5aSEddie Huang		pins_clk {
2499719fa5aSEddie Huang			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
2509719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_2mA>;
2519719fa5aSEddie Huang			bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
2529719fa5aSEddie Huang		};
2539719fa5aSEddie Huang
2549719fa5aSEddie Huang		pins_rst {
2559719fa5aSEddie Huang			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
2569719fa5aSEddie Huang			bias-pull-up;
2579719fa5aSEddie Huang		};
2589719fa5aSEddie Huang	};
2599719fa5aSEddie Huang
2609719fa5aSEddie Huang	mmc1_pins_uhs: mmc1 {
2619719fa5aSEddie Huang		pins_cmd_dat {
2629719fa5aSEddie Huang			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
2639719fa5aSEddie Huang				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
2649719fa5aSEddie Huang				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
2659719fa5aSEddie Huang				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
2669719fa5aSEddie Huang				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
2679719fa5aSEddie Huang			input-enable;
2689719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2699719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
2709719fa5aSEddie Huang		};
2719719fa5aSEddie Huang
2729719fa5aSEddie Huang		pins_clk {
2739719fa5aSEddie Huang			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
2749719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2759719fa5aSEddie Huang			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
2769719fa5aSEddie Huang		};
2779719fa5aSEddie Huang	};
278c0891284SChunfeng Yun
279c0891284SChunfeng Yun	usb_id_pins_float: usb_iddig_pull_up {
280c0891284SChunfeng Yun		pins_iddig {
281c0891284SChunfeng Yun			pinmux = <MT8173_PIN_16_IDDIG__FUNC_IDDIG>;
282c0891284SChunfeng Yun			bias-pull-up;
283c0891284SChunfeng Yun		};
284c0891284SChunfeng Yun	};
285c0891284SChunfeng Yun
286c0891284SChunfeng Yun	usb_id_pins_ground: usb_iddig_pull_down {
287c0891284SChunfeng Yun		pins_iddig {
288c0891284SChunfeng Yun			pinmux = <MT8173_PIN_16_IDDIG__FUNC_IDDIG>;
289c0891284SChunfeng Yun			bias-pull-down;
290c0891284SChunfeng Yun		};
291c0891284SChunfeng Yun	};
2929719fa5aSEddie Huang};
2939719fa5aSEddie Huang
29461aee934SYH Huang&pwm0 {
29561aee934SYH Huang	pinctrl-names = "default";
29661aee934SYH Huang	pinctrl-0 = <&disp_pwm0_pins>;
29761aee934SYH Huang	status = "okay";
29861aee934SYH Huang};
29961aee934SYH Huang
30016ea61fcSEddie Huang&pwrap {
3013ea064b1SEddie Huang	/* Only MT8173 E1 needs USB power domain */
3024db2b9afSChunfeng Yun	power-domains = <&spm MT8173_POWER_DOMAIN_USB>;
3033ea064b1SEddie Huang
3042d812e9eSAlexandre Mergnat	pmic: pmic {
30516ea61fcSEddie Huang		compatible = "mediatek,mt6397";
30616ea61fcSEddie Huang		interrupt-parent = <&pio>;
30716ea61fcSEddie Huang		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
30816ea61fcSEddie Huang		interrupt-controller;
30916ea61fcSEddie Huang		#interrupt-cells = <2>;
31016ea61fcSEddie Huang
31116ea61fcSEddie Huang		mt6397regulator: mt6397regulator {
31216ea61fcSEddie Huang			compatible = "mediatek,mt6397-regulator";
31316ea61fcSEddie Huang
31416ea61fcSEddie Huang			mt6397_vpca15_reg: buck_vpca15 {
31516ea61fcSEddie Huang				regulator-compatible = "buck_vpca15";
31616ea61fcSEddie Huang				regulator-name = "vpca15";
31716ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
31816ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
31916ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
32016ea61fcSEddie Huang				regulator-always-on;
32116ea61fcSEddie Huang			};
32216ea61fcSEddie Huang
32316ea61fcSEddie Huang			mt6397_vpca7_reg: buck_vpca7 {
32416ea61fcSEddie Huang				regulator-compatible = "buck_vpca7";
32516ea61fcSEddie Huang				regulator-name = "vpca7";
32616ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
32716ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
32816ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
32916ea61fcSEddie Huang				regulator-enable-ramp-delay = <115>;
33016ea61fcSEddie Huang			};
33116ea61fcSEddie Huang
33216ea61fcSEddie Huang			mt6397_vsramca15_reg: buck_vsramca15 {
33316ea61fcSEddie Huang				regulator-compatible = "buck_vsramca15";
33416ea61fcSEddie Huang				regulator-name = "vsramca15";
33516ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
33616ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
33716ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
33816ea61fcSEddie Huang				regulator-always-on;
33916ea61fcSEddie Huang			};
34016ea61fcSEddie Huang
34116ea61fcSEddie Huang			mt6397_vsramca7_reg: buck_vsramca7 {
34216ea61fcSEddie Huang				regulator-compatible = "buck_vsramca7";
34316ea61fcSEddie Huang				regulator-name = "vsramca7";
34416ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
34516ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
34616ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
34716ea61fcSEddie Huang				regulator-always-on;
34816ea61fcSEddie Huang			};
34916ea61fcSEddie Huang
35016ea61fcSEddie Huang			mt6397_vcore_reg: buck_vcore {
35116ea61fcSEddie Huang				regulator-compatible = "buck_vcore";
35216ea61fcSEddie Huang				regulator-name = "vcore";
35316ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
35416ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
35516ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
35616ea61fcSEddie Huang				regulator-always-on;
35716ea61fcSEddie Huang			};
35816ea61fcSEddie Huang
35916ea61fcSEddie Huang			mt6397_vgpu_reg: buck_vgpu {
36016ea61fcSEddie Huang				regulator-compatible = "buck_vgpu";
36116ea61fcSEddie Huang				regulator-name = "vgpu";
36216ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
36316ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
36416ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
36516ea61fcSEddie Huang				regulator-enable-ramp-delay = <115>;
36616ea61fcSEddie Huang			};
36716ea61fcSEddie Huang
36816ea61fcSEddie Huang			mt6397_vdrm_reg: buck_vdrm {
36916ea61fcSEddie Huang				regulator-compatible = "buck_vdrm";
37016ea61fcSEddie Huang				regulator-name = "vdrm";
37116ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
37216ea61fcSEddie Huang				regulator-max-microvolt = <1400000>;
37316ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
37416ea61fcSEddie Huang				regulator-always-on;
37516ea61fcSEddie Huang			};
37616ea61fcSEddie Huang
37716ea61fcSEddie Huang			mt6397_vio18_reg: buck_vio18 {
37816ea61fcSEddie Huang				regulator-compatible = "buck_vio18";
37916ea61fcSEddie Huang				regulator-name = "vio18";
38016ea61fcSEddie Huang				regulator-min-microvolt = <1620000>;
38116ea61fcSEddie Huang				regulator-max-microvolt = <1980000>;
38216ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
38316ea61fcSEddie Huang				regulator-always-on;
38416ea61fcSEddie Huang			};
38516ea61fcSEddie Huang
38616ea61fcSEddie Huang			mt6397_vtcxo_reg: ldo_vtcxo {
38716ea61fcSEddie Huang				regulator-compatible = "ldo_vtcxo";
38816ea61fcSEddie Huang				regulator-name = "vtcxo";
38916ea61fcSEddie Huang				regulator-always-on;
39016ea61fcSEddie Huang			};
39116ea61fcSEddie Huang
39216ea61fcSEddie Huang			mt6397_va28_reg: ldo_va28 {
39316ea61fcSEddie Huang				regulator-compatible = "ldo_va28";
39416ea61fcSEddie Huang				regulator-name = "va28";
39516ea61fcSEddie Huang				regulator-always-on;
39616ea61fcSEddie Huang			};
39716ea61fcSEddie Huang
39816ea61fcSEddie Huang			mt6397_vcama_reg: ldo_vcama {
39916ea61fcSEddie Huang				regulator-compatible = "ldo_vcama";
40016ea61fcSEddie Huang				regulator-name = "vcama";
40116ea61fcSEddie Huang				regulator-min-microvolt = <1500000>;
40216ea61fcSEddie Huang				regulator-max-microvolt = <2800000>;
40316ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
40416ea61fcSEddie Huang			};
40516ea61fcSEddie Huang
40616ea61fcSEddie Huang			mt6397_vio28_reg: ldo_vio28 {
40716ea61fcSEddie Huang				regulator-compatible = "ldo_vio28";
40816ea61fcSEddie Huang				regulator-name = "vio28";
40916ea61fcSEddie Huang				regulator-always-on;
41016ea61fcSEddie Huang			};
41116ea61fcSEddie Huang
41216ea61fcSEddie Huang			mt6397_vusb_reg: ldo_vusb {
41316ea61fcSEddie Huang				regulator-compatible = "ldo_vusb";
41416ea61fcSEddie Huang				regulator-name = "vusb";
41516ea61fcSEddie Huang			};
41616ea61fcSEddie Huang
41716ea61fcSEddie Huang			mt6397_vmc_reg: ldo_vmc {
41816ea61fcSEddie Huang				regulator-compatible = "ldo_vmc";
41916ea61fcSEddie Huang				regulator-name = "vmc";
42016ea61fcSEddie Huang				regulator-min-microvolt = <1800000>;
42116ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
42216ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
42316ea61fcSEddie Huang			};
42416ea61fcSEddie Huang
42516ea61fcSEddie Huang			mt6397_vmch_reg: ldo_vmch {
42616ea61fcSEddie Huang				regulator-compatible = "ldo_vmch";
42716ea61fcSEddie Huang				regulator-name = "vmch";
42816ea61fcSEddie Huang				regulator-min-microvolt = <3000000>;
42916ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
43016ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
43116ea61fcSEddie Huang			};
43216ea61fcSEddie Huang
43316ea61fcSEddie Huang			mt6397_vemc_3v3_reg: ldo_vemc3v3 {
43416ea61fcSEddie Huang				regulator-compatible = "ldo_vemc3v3";
43516ea61fcSEddie Huang				regulator-name = "vemc_3v3";
43616ea61fcSEddie Huang				regulator-min-microvolt = <3000000>;
43716ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
43816ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
43916ea61fcSEddie Huang			};
44016ea61fcSEddie Huang
44116ea61fcSEddie Huang			mt6397_vgp1_reg: ldo_vgp1 {
44216ea61fcSEddie Huang				regulator-compatible = "ldo_vgp1";
44316ea61fcSEddie Huang				regulator-name = "vcamd";
44416ea61fcSEddie Huang				regulator-min-microvolt = <1220000>;
44516ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
44616ea61fcSEddie Huang				regulator-enable-ramp-delay = <240>;
44716ea61fcSEddie Huang			};
44816ea61fcSEddie Huang
44916ea61fcSEddie Huang			mt6397_vgp2_reg: ldo_vgp2 {
45016ea61fcSEddie Huang				regulator-compatible = "ldo_vgp2";
45116ea61fcSEddie Huang				regulator-name = "vcamio";
45216ea61fcSEddie Huang				regulator-min-microvolt = <1000000>;
45316ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
45416ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
45516ea61fcSEddie Huang			};
45616ea61fcSEddie Huang
45716ea61fcSEddie Huang			mt6397_vgp3_reg: ldo_vgp3 {
45816ea61fcSEddie Huang				regulator-compatible = "ldo_vgp3";
45916ea61fcSEddie Huang				regulator-name = "vcamaf";
46016ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
46116ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
46216ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
46316ea61fcSEddie Huang			};
46416ea61fcSEddie Huang
46516ea61fcSEddie Huang			mt6397_vgp4_reg: ldo_vgp4 {
46616ea61fcSEddie Huang				regulator-compatible = "ldo_vgp4";
46716ea61fcSEddie Huang				regulator-name = "vgp4";
46816ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
46916ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
47016ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
47116ea61fcSEddie Huang			};
47216ea61fcSEddie Huang
47316ea61fcSEddie Huang			mt6397_vgp5_reg: ldo_vgp5 {
47416ea61fcSEddie Huang				regulator-compatible = "ldo_vgp5";
47516ea61fcSEddie Huang				regulator-name = "vgp5";
47616ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
47716ea61fcSEddie Huang				regulator-max-microvolt = <3000000>;
47816ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
47916ea61fcSEddie Huang			};
48016ea61fcSEddie Huang
48116ea61fcSEddie Huang			mt6397_vgp6_reg: ldo_vgp6 {
48216ea61fcSEddie Huang				regulator-compatible = "ldo_vgp6";
48316ea61fcSEddie Huang				regulator-name = "vgp6";
48416ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
48516ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
48616ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
48716ea61fcSEddie Huang			};
48816ea61fcSEddie Huang
48916ea61fcSEddie Huang			mt6397_vibr_reg: ldo_vibr {
49016ea61fcSEddie Huang				regulator-compatible = "ldo_vibr";
49116ea61fcSEddie Huang				regulator-name = "vibr";
49216ea61fcSEddie Huang				regulator-min-microvolt = <1300000>;
49316ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
49416ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
49516ea61fcSEddie Huang			};
49616ea61fcSEddie Huang		};
49716ea61fcSEddie Huang	};
49816ea61fcSEddie Huang};
49916ea61fcSEddie Huang
500b0c936f5SLeilk Liu&pio {
501b0c936f5SLeilk Liu	spi_pins_a: spi0 {
502b0c936f5SLeilk Liu		pins_spi {
503b0c936f5SLeilk Liu			pinmux = <MT8173_PIN_69_SPI_CK__FUNC_SPI_CK_0_>,
504b0c936f5SLeilk Liu				<MT8173_PIN_70_SPI_MI__FUNC_SPI_MI_0_>,
505b0c936f5SLeilk Liu				<MT8173_PIN_71_SPI_MO__FUNC_SPI_MO_0_>,
506b0c936f5SLeilk Liu				<MT8173_PIN_72_SPI_CS__FUNC_SPI_CS_0_>;
507b0c936f5SLeilk Liu		};
508b0c936f5SLeilk Liu	};
509b0c936f5SLeilk Liu};
510b0c936f5SLeilk Liu
511b0c936f5SLeilk Liu&spi {
512b0c936f5SLeilk Liu	pinctrl-names = "default";
513b0c936f5SLeilk Liu	pinctrl-0 = <&spi_pins_a>;
514b0c936f5SLeilk Liu	mediatek,pad-select = <0>;
515b0c936f5SLeilk Liu	status = "okay";
516b0c936f5SLeilk Liu};
517b0c936f5SLeilk Liu
518c0891284SChunfeng Yun&ssusb {
519c0891284SChunfeng Yun	vusb33-supply = <&mt6397_vusb_reg>;
520c0891284SChunfeng Yun	vbus-supply = <&usb_p0_vbus>;
521c0891284SChunfeng Yun	extcon = <&extcon_usb>;
522c0891284SChunfeng Yun	dr_mode = "otg";
523cf1fcd45SChunfeng Yun	wakeup-source;
524c61872d5SChunfeng Yun	pinctrl-names = "default";
525c0891284SChunfeng Yun	pinctrl-0 = <&usb_id_pins_float>;
526c0891284SChunfeng Yun	status = "okay";
527c0891284SChunfeng Yun};
528c0891284SChunfeng Yun
529b3a37248SEddie Huang&uart0 {
530b3a37248SEddie Huang	status = "okay";
531b3a37248SEddie Huang};
532bfcce47aSChunfeng Yun
533c0891284SChunfeng Yun&usb_host {
534bfcce47aSChunfeng Yun	vusb33-supply = <&mt6397_vusb_reg>;
535bfcce47aSChunfeng Yun	vbus-supply = <&usb_p1_vbus>;
536c0891284SChunfeng Yun	status = "okay";
537bfcce47aSChunfeng Yun};
538