xref: /linux/arch/arm64/boot/dts/mediatek/mt8173-evb.dts (revision 7475e27b45554d350f6a28edc8d0bfcf13f801c4)
1b3a37248SEddie Huang/*
2b3a37248SEddie Huang * Copyright (c) 2014 MediaTek Inc.
3b3a37248SEddie Huang * Author: Eddie Huang <eddie.huang@mediatek.com>
4b3a37248SEddie Huang *
5b3a37248SEddie Huang * This program is free software; you can redistribute it and/or modify
6b3a37248SEddie Huang * it under the terms of the GNU General Public License version 2 as
7b3a37248SEddie Huang * published by the Free Software Foundation.
8b3a37248SEddie Huang *
9b3a37248SEddie Huang * This program is distributed in the hope that it will be useful,
10b3a37248SEddie Huang * but WITHOUT ANY WARRANTY; without even the implied warranty of
11b3a37248SEddie Huang * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12b3a37248SEddie Huang * GNU General Public License for more details.
13b3a37248SEddie Huang */
14b3a37248SEddie Huang
15b3a37248SEddie Huang/dts-v1/;
16bfcce47aSChunfeng Yun#include <dt-bindings/gpio/gpio.h>
17b3a37248SEddie Huang#include "mt8173.dtsi"
18b3a37248SEddie Huang
19b3a37248SEddie Huang/ {
20692ef3eeSYingjoe Chen	model = "MediaTek MT8173 evaluation board";
21692ef3eeSYingjoe Chen	compatible = "mediatek,mt8173-evb", "mediatek,mt8173";
22b3a37248SEddie Huang
23b3a37248SEddie Huang	aliases {
24b3a37248SEddie Huang		serial0 = &uart0;
25b3a37248SEddie Huang		serial1 = &uart1;
26b3a37248SEddie Huang		serial2 = &uart2;
27b3a37248SEddie Huang		serial3 = &uart3;
28b3a37248SEddie Huang	};
29b3a37248SEddie Huang
30b3a37248SEddie Huang	memory@40000000 {
31b3a37248SEddie Huang		device_type = "memory";
32b3a37248SEddie Huang		reg = <0 0x40000000 0 0x80000000>;
33b3a37248SEddie Huang	};
34b3a37248SEddie Huang
35b3a37248SEddie Huang	chosen { };
36bfcce47aSChunfeng Yun
37bfcce47aSChunfeng Yun	usb_p1_vbus: regulator@0 {
38bfcce47aSChunfeng Yun		compatible = "regulator-fixed";
39bfcce47aSChunfeng Yun		regulator-name = "usb_vbus";
40bfcce47aSChunfeng Yun		regulator-min-microvolt = <5000000>;
41bfcce47aSChunfeng Yun		regulator-max-microvolt = <5000000>;
42bfcce47aSChunfeng Yun		gpio = <&pio 130 GPIO_ACTIVE_HIGH>;
43bfcce47aSChunfeng Yun		enable-active-high;
44bfcce47aSChunfeng Yun	};
45*7475e27bSPhilipp Zabel
46*7475e27bSPhilipp Zabel	connector {
47*7475e27bSPhilipp Zabel		compatible = "hdmi-connector";
48*7475e27bSPhilipp Zabel		label = "hdmi";
49*7475e27bSPhilipp Zabel		type = "d";
50*7475e27bSPhilipp Zabel
51*7475e27bSPhilipp Zabel		port {
52*7475e27bSPhilipp Zabel			hdmi_connector_in: endpoint {
53*7475e27bSPhilipp Zabel				remote-endpoint = <&hdmi0_out>;
54*7475e27bSPhilipp Zabel			};
55*7475e27bSPhilipp Zabel		};
56*7475e27bSPhilipp Zabel	};
57*7475e27bSPhilipp Zabel};
58*7475e27bSPhilipp Zabel
59*7475e27bSPhilipp Zabel&cec {
60*7475e27bSPhilipp Zabel	status = "okay";
61*7475e27bSPhilipp Zabel};
62*7475e27bSPhilipp Zabel
63*7475e27bSPhilipp Zabel&dpi0 {
64*7475e27bSPhilipp Zabel	status = "okay";
65*7475e27bSPhilipp Zabel};
66*7475e27bSPhilipp Zabel
67*7475e27bSPhilipp Zabel&hdmi_phy {
68*7475e27bSPhilipp Zabel	status = "okay";
69*7475e27bSPhilipp Zabel};
70*7475e27bSPhilipp Zabel
71*7475e27bSPhilipp Zabel&hdmi0 {
72*7475e27bSPhilipp Zabel	status = "okay";
73*7475e27bSPhilipp Zabel
74*7475e27bSPhilipp Zabel	ports {
75*7475e27bSPhilipp Zabel		port@1 {
76*7475e27bSPhilipp Zabel			reg = <1>;
77*7475e27bSPhilipp Zabel
78*7475e27bSPhilipp Zabel			hdmi0_out: endpoint {
79*7475e27bSPhilipp Zabel				remote-endpoint = <&hdmi_connector_in>;
80*7475e27bSPhilipp Zabel			};
81*7475e27bSPhilipp Zabel		};
82*7475e27bSPhilipp Zabel	};
83b3a37248SEddie Huang};
84b3a37248SEddie Huang
85720570b1SHenry Chen&i2c1 {
86720570b1SHenry Chen	status = "okay";
87720570b1SHenry Chen
88720570b1SHenry Chen	buck: da9211@68 {
89720570b1SHenry Chen		compatible = "dlg,da9211";
90720570b1SHenry Chen		reg = <0x68>;
91720570b1SHenry Chen
92720570b1SHenry Chen		regulators {
93720570b1SHenry Chen			da9211_vcpu_reg: BUCKA {
94720570b1SHenry Chen				regulator-name = "VBUCKA";
95720570b1SHenry Chen				regulator-min-microvolt = < 700000>;
96720570b1SHenry Chen				regulator-max-microvolt = <1310000>;
97720570b1SHenry Chen				regulator-min-microamp	= <2000000>;
98720570b1SHenry Chen				regulator-max-microamp	= <4400000>;
99720570b1SHenry Chen				regulator-ramp-delay = <10000>;
100720570b1SHenry Chen				regulator-always-on;
101720570b1SHenry Chen			};
102720570b1SHenry Chen
103720570b1SHenry Chen			da9211_vgpu_reg: BUCKB {
104720570b1SHenry Chen				regulator-name = "VBUCKB";
105720570b1SHenry Chen				regulator-min-microvolt = < 700000>;
106720570b1SHenry Chen				regulator-max-microvolt = <1310000>;
107720570b1SHenry Chen				regulator-min-microamp	= <2000000>;
108720570b1SHenry Chen				regulator-max-microamp	= <3000000>;
109720570b1SHenry Chen				regulator-ramp-delay = <10000>;
110720570b1SHenry Chen			};
111720570b1SHenry Chen		};
112720570b1SHenry Chen	};
113720570b1SHenry Chen};
114720570b1SHenry Chen
1159719fa5aSEddie Huang&mmc0 {
1169719fa5aSEddie Huang	status = "okay";
1179719fa5aSEddie Huang	pinctrl-names = "default", "state_uhs";
1189719fa5aSEddie Huang	pinctrl-0 = <&mmc0_pins_default>;
1199719fa5aSEddie Huang	pinctrl-1 = <&mmc0_pins_uhs>;
1209719fa5aSEddie Huang	bus-width = <8>;
1219719fa5aSEddie Huang	max-frequency = <50000000>;
1229719fa5aSEddie Huang	cap-mmc-highspeed;
1239719fa5aSEddie Huang	vmmc-supply = <&mt6397_vemc_3v3_reg>;
1249719fa5aSEddie Huang	vqmmc-supply = <&mt6397_vio18_reg>;
1259719fa5aSEddie Huang	non-removable;
1269719fa5aSEddie Huang};
1279719fa5aSEddie Huang
1289719fa5aSEddie Huang&mmc1 {
1299719fa5aSEddie Huang	status = "okay";
1309719fa5aSEddie Huang	pinctrl-names = "default", "state_uhs";
1319719fa5aSEddie Huang	pinctrl-0 = <&mmc1_pins_default>;
1329719fa5aSEddie Huang	pinctrl-1 = <&mmc1_pins_uhs>;
1339719fa5aSEddie Huang	bus-width = <4>;
1349719fa5aSEddie Huang	max-frequency = <50000000>;
1359719fa5aSEddie Huang	cap-sd-highspeed;
1369719fa5aSEddie Huang	sd-uhs-sdr25;
1379719fa5aSEddie Huang	cd-gpios = <&pio 132 0>;
1389719fa5aSEddie Huang	vmmc-supply = <&mt6397_vmch_reg>;
1399719fa5aSEddie Huang	vqmmc-supply = <&mt6397_vmc_reg>;
1409719fa5aSEddie Huang};
1419719fa5aSEddie Huang
1429719fa5aSEddie Huang&pio {
14361aee934SYH Huang	disp_pwm0_pins: disp_pwm0_pins {
14461aee934SYH Huang		pins1 {
14561aee934SYH Huang			pinmux = <MT8173_PIN_87_DISP_PWM0__FUNC_DISP_PWM0>;
14661aee934SYH Huang			output-low;
14761aee934SYH Huang		};
14861aee934SYH Huang	};
14961aee934SYH Huang
1509719fa5aSEddie Huang	mmc0_pins_default: mmc0default {
1519719fa5aSEddie Huang		pins_cmd_dat {
1529719fa5aSEddie Huang			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
1539719fa5aSEddie Huang				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
1549719fa5aSEddie Huang				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
1559719fa5aSEddie Huang				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
1569719fa5aSEddie Huang				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
1579719fa5aSEddie Huang				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
1589719fa5aSEddie Huang				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
1599719fa5aSEddie Huang				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
1609719fa5aSEddie Huang				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
1619719fa5aSEddie Huang			input-enable;
1629719fa5aSEddie Huang			bias-pull-up;
1639719fa5aSEddie Huang		};
1649719fa5aSEddie Huang
1659719fa5aSEddie Huang		pins_clk {
1669719fa5aSEddie Huang			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
1679719fa5aSEddie Huang			bias-pull-down;
1689719fa5aSEddie Huang		};
1699719fa5aSEddie Huang
1709719fa5aSEddie Huang		pins_rst {
1719719fa5aSEddie Huang			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
1729719fa5aSEddie Huang			bias-pull-up;
1739719fa5aSEddie Huang		};
1749719fa5aSEddie Huang	};
1759719fa5aSEddie Huang
1769719fa5aSEddie Huang	mmc1_pins_default: mmc1default {
1779719fa5aSEddie Huang		pins_cmd_dat {
1789719fa5aSEddie Huang			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
1799719fa5aSEddie Huang				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
1809719fa5aSEddie Huang				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
1819719fa5aSEddie Huang				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
1829719fa5aSEddie Huang				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
1839719fa5aSEddie Huang			input-enable;
1849719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
1859719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
1869719fa5aSEddie Huang		};
1879719fa5aSEddie Huang
1889719fa5aSEddie Huang		pins_clk {
1899719fa5aSEddie Huang			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
1909719fa5aSEddie Huang			bias-pull-down;
1919719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
1929719fa5aSEddie Huang		};
1939719fa5aSEddie Huang
1949719fa5aSEddie Huang		pins_insert {
1959719fa5aSEddie Huang			pinmux = <MT8173_PIN_132_I2S0_DATA1__FUNC_GPIO132>;
1969719fa5aSEddie Huang			bias-pull-up;
1979719fa5aSEddie Huang		};
1989719fa5aSEddie Huang	};
1999719fa5aSEddie Huang
2009719fa5aSEddie Huang	mmc0_pins_uhs: mmc0 {
2019719fa5aSEddie Huang		pins_cmd_dat {
2029719fa5aSEddie Huang			pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
2039719fa5aSEddie Huang				 <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
2049719fa5aSEddie Huang				 <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
2059719fa5aSEddie Huang				 <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
2069719fa5aSEddie Huang				 <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
2079719fa5aSEddie Huang				 <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
2089719fa5aSEddie Huang				 <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
2099719fa5aSEddie Huang				 <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
2109719fa5aSEddie Huang				 <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>;
2119719fa5aSEddie Huang			input-enable;
2129719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_2mA>;
2139719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
2149719fa5aSEddie Huang		};
2159719fa5aSEddie Huang
2169719fa5aSEddie Huang		pins_clk {
2179719fa5aSEddie Huang			pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>;
2189719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_2mA>;
2199719fa5aSEddie Huang			bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
2209719fa5aSEddie Huang		};
2219719fa5aSEddie Huang
2229719fa5aSEddie Huang		pins_rst {
2239719fa5aSEddie Huang			pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>;
2249719fa5aSEddie Huang			bias-pull-up;
2259719fa5aSEddie Huang		};
2269719fa5aSEddie Huang	};
2279719fa5aSEddie Huang
2289719fa5aSEddie Huang	mmc1_pins_uhs: mmc1 {
2299719fa5aSEddie Huang		pins_cmd_dat {
2309719fa5aSEddie Huang			pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>,
2319719fa5aSEddie Huang				 <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>,
2329719fa5aSEddie Huang				 <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>,
2339719fa5aSEddie Huang				 <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>,
2349719fa5aSEddie Huang				 <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>;
2359719fa5aSEddie Huang			input-enable;
2369719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2379719fa5aSEddie Huang			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
2389719fa5aSEddie Huang		};
2399719fa5aSEddie Huang
2409719fa5aSEddie Huang		pins_clk {
2419719fa5aSEddie Huang			pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>;
2429719fa5aSEddie Huang			drive-strength = <MTK_DRIVE_4mA>;
2439719fa5aSEddie Huang			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
2449719fa5aSEddie Huang		};
2459719fa5aSEddie Huang	};
2469719fa5aSEddie Huang};
2479719fa5aSEddie Huang
24861aee934SYH Huang&pwm0 {
24961aee934SYH Huang	pinctrl-names = "default";
25061aee934SYH Huang	pinctrl-0 = <&disp_pwm0_pins>;
25161aee934SYH Huang	status = "okay";
25261aee934SYH Huang};
25361aee934SYH Huang
25416ea61fcSEddie Huang&pwrap {
2553ea064b1SEddie Huang	/* Only MT8173 E1 needs USB power domain */
2563ea064b1SEddie Huang	power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
2573ea064b1SEddie Huang
25816ea61fcSEddie Huang	pmic: mt6397 {
25916ea61fcSEddie Huang		compatible = "mediatek,mt6397";
26016ea61fcSEddie Huang		interrupt-parent = <&pio>;
26116ea61fcSEddie Huang		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
26216ea61fcSEddie Huang		interrupt-controller;
26316ea61fcSEddie Huang		#interrupt-cells = <2>;
26416ea61fcSEddie Huang
26516ea61fcSEddie Huang		mt6397regulator: mt6397regulator {
26616ea61fcSEddie Huang			compatible = "mediatek,mt6397-regulator";
26716ea61fcSEddie Huang
26816ea61fcSEddie Huang			mt6397_vpca15_reg: buck_vpca15 {
26916ea61fcSEddie Huang				regulator-compatible = "buck_vpca15";
27016ea61fcSEddie Huang				regulator-name = "vpca15";
27116ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
27216ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
27316ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
27416ea61fcSEddie Huang				regulator-always-on;
27516ea61fcSEddie Huang			};
27616ea61fcSEddie Huang
27716ea61fcSEddie Huang			mt6397_vpca7_reg: buck_vpca7 {
27816ea61fcSEddie Huang				regulator-compatible = "buck_vpca7";
27916ea61fcSEddie Huang				regulator-name = "vpca7";
28016ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
28116ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
28216ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
28316ea61fcSEddie Huang				regulator-enable-ramp-delay = <115>;
28416ea61fcSEddie Huang			};
28516ea61fcSEddie Huang
28616ea61fcSEddie Huang			mt6397_vsramca15_reg: buck_vsramca15 {
28716ea61fcSEddie Huang				regulator-compatible = "buck_vsramca15";
28816ea61fcSEddie Huang				regulator-name = "vsramca15";
28916ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
29016ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
29116ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
29216ea61fcSEddie Huang				regulator-always-on;
29316ea61fcSEddie Huang			};
29416ea61fcSEddie Huang
29516ea61fcSEddie Huang			mt6397_vsramca7_reg: buck_vsramca7 {
29616ea61fcSEddie Huang				regulator-compatible = "buck_vsramca7";
29716ea61fcSEddie Huang				regulator-name = "vsramca7";
29816ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
29916ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
30016ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
30116ea61fcSEddie Huang				regulator-always-on;
30216ea61fcSEddie Huang			};
30316ea61fcSEddie Huang
30416ea61fcSEddie Huang			mt6397_vcore_reg: buck_vcore {
30516ea61fcSEddie Huang				regulator-compatible = "buck_vcore";
30616ea61fcSEddie Huang				regulator-name = "vcore";
30716ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
30816ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
30916ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
31016ea61fcSEddie Huang				regulator-always-on;
31116ea61fcSEddie Huang			};
31216ea61fcSEddie Huang
31316ea61fcSEddie Huang			mt6397_vgpu_reg: buck_vgpu {
31416ea61fcSEddie Huang				regulator-compatible = "buck_vgpu";
31516ea61fcSEddie Huang				regulator-name = "vgpu";
31616ea61fcSEddie Huang				regulator-min-microvolt = < 700000>;
31716ea61fcSEddie Huang				regulator-max-microvolt = <1350000>;
31816ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
31916ea61fcSEddie Huang				regulator-enable-ramp-delay = <115>;
32016ea61fcSEddie Huang			};
32116ea61fcSEddie Huang
32216ea61fcSEddie Huang			mt6397_vdrm_reg: buck_vdrm {
32316ea61fcSEddie Huang				regulator-compatible = "buck_vdrm";
32416ea61fcSEddie Huang				regulator-name = "vdrm";
32516ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
32616ea61fcSEddie Huang				regulator-max-microvolt = <1400000>;
32716ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
32816ea61fcSEddie Huang				regulator-always-on;
32916ea61fcSEddie Huang			};
33016ea61fcSEddie Huang
33116ea61fcSEddie Huang			mt6397_vio18_reg: buck_vio18 {
33216ea61fcSEddie Huang				regulator-compatible = "buck_vio18";
33316ea61fcSEddie Huang				regulator-name = "vio18";
33416ea61fcSEddie Huang				regulator-min-microvolt = <1620000>;
33516ea61fcSEddie Huang				regulator-max-microvolt = <1980000>;
33616ea61fcSEddie Huang				regulator-ramp-delay = <12500>;
33716ea61fcSEddie Huang				regulator-always-on;
33816ea61fcSEddie Huang			};
33916ea61fcSEddie Huang
34016ea61fcSEddie Huang			mt6397_vtcxo_reg: ldo_vtcxo {
34116ea61fcSEddie Huang				regulator-compatible = "ldo_vtcxo";
34216ea61fcSEddie Huang				regulator-name = "vtcxo";
34316ea61fcSEddie Huang				regulator-always-on;
34416ea61fcSEddie Huang			};
34516ea61fcSEddie Huang
34616ea61fcSEddie Huang			mt6397_va28_reg: ldo_va28 {
34716ea61fcSEddie Huang				regulator-compatible = "ldo_va28";
34816ea61fcSEddie Huang				regulator-name = "va28";
34916ea61fcSEddie Huang				regulator-always-on;
35016ea61fcSEddie Huang			};
35116ea61fcSEddie Huang
35216ea61fcSEddie Huang			mt6397_vcama_reg: ldo_vcama {
35316ea61fcSEddie Huang				regulator-compatible = "ldo_vcama";
35416ea61fcSEddie Huang				regulator-name = "vcama";
35516ea61fcSEddie Huang				regulator-min-microvolt = <1500000>;
35616ea61fcSEddie Huang				regulator-max-microvolt = <2800000>;
35716ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
35816ea61fcSEddie Huang			};
35916ea61fcSEddie Huang
36016ea61fcSEddie Huang			mt6397_vio28_reg: ldo_vio28 {
36116ea61fcSEddie Huang				regulator-compatible = "ldo_vio28";
36216ea61fcSEddie Huang				regulator-name = "vio28";
36316ea61fcSEddie Huang				regulator-always-on;
36416ea61fcSEddie Huang			};
36516ea61fcSEddie Huang
36616ea61fcSEddie Huang			mt6397_vusb_reg: ldo_vusb {
36716ea61fcSEddie Huang				regulator-compatible = "ldo_vusb";
36816ea61fcSEddie Huang				regulator-name = "vusb";
36916ea61fcSEddie Huang			};
37016ea61fcSEddie Huang
37116ea61fcSEddie Huang			mt6397_vmc_reg: ldo_vmc {
37216ea61fcSEddie Huang				regulator-compatible = "ldo_vmc";
37316ea61fcSEddie Huang				regulator-name = "vmc";
37416ea61fcSEddie Huang				regulator-min-microvolt = <1800000>;
37516ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
37616ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
37716ea61fcSEddie Huang			};
37816ea61fcSEddie Huang
37916ea61fcSEddie Huang			mt6397_vmch_reg: ldo_vmch {
38016ea61fcSEddie Huang				regulator-compatible = "ldo_vmch";
38116ea61fcSEddie Huang				regulator-name = "vmch";
38216ea61fcSEddie Huang				regulator-min-microvolt = <3000000>;
38316ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
38416ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
38516ea61fcSEddie Huang			};
38616ea61fcSEddie Huang
38716ea61fcSEddie Huang			mt6397_vemc_3v3_reg: ldo_vemc3v3 {
38816ea61fcSEddie Huang				regulator-compatible = "ldo_vemc3v3";
38916ea61fcSEddie Huang				regulator-name = "vemc_3v3";
39016ea61fcSEddie Huang				regulator-min-microvolt = <3000000>;
39116ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
39216ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
39316ea61fcSEddie Huang			};
39416ea61fcSEddie Huang
39516ea61fcSEddie Huang			mt6397_vgp1_reg: ldo_vgp1 {
39616ea61fcSEddie Huang				regulator-compatible = "ldo_vgp1";
39716ea61fcSEddie Huang				regulator-name = "vcamd";
39816ea61fcSEddie Huang				regulator-min-microvolt = <1220000>;
39916ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
40016ea61fcSEddie Huang				regulator-enable-ramp-delay = <240>;
40116ea61fcSEddie Huang			};
40216ea61fcSEddie Huang
40316ea61fcSEddie Huang			mt6397_vgp2_reg: ldo_vgp2 {
40416ea61fcSEddie Huang				regulator-compatible = "ldo_vgp2";
40516ea61fcSEddie Huang				regulator-name = "vcamio";
40616ea61fcSEddie Huang				regulator-min-microvolt = <1000000>;
40716ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
40816ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
40916ea61fcSEddie Huang			};
41016ea61fcSEddie Huang
41116ea61fcSEddie Huang			mt6397_vgp3_reg: ldo_vgp3 {
41216ea61fcSEddie Huang				regulator-compatible = "ldo_vgp3";
41316ea61fcSEddie Huang				regulator-name = "vcamaf";
41416ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
41516ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
41616ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
41716ea61fcSEddie Huang			};
41816ea61fcSEddie Huang
41916ea61fcSEddie Huang			mt6397_vgp4_reg: ldo_vgp4 {
42016ea61fcSEddie Huang				regulator-compatible = "ldo_vgp4";
42116ea61fcSEddie Huang				regulator-name = "vgp4";
42216ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
42316ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
42416ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
42516ea61fcSEddie Huang			};
42616ea61fcSEddie Huang
42716ea61fcSEddie Huang			mt6397_vgp5_reg: ldo_vgp5 {
42816ea61fcSEddie Huang				regulator-compatible = "ldo_vgp5";
42916ea61fcSEddie Huang				regulator-name = "vgp5";
43016ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
43116ea61fcSEddie Huang				regulator-max-microvolt = <3000000>;
43216ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
43316ea61fcSEddie Huang			};
43416ea61fcSEddie Huang
43516ea61fcSEddie Huang			mt6397_vgp6_reg: ldo_vgp6 {
43616ea61fcSEddie Huang				regulator-compatible = "ldo_vgp6";
43716ea61fcSEddie Huang				regulator-name = "vgp6";
43816ea61fcSEddie Huang				regulator-min-microvolt = <1200000>;
43916ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
44016ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
44116ea61fcSEddie Huang			};
44216ea61fcSEddie Huang
44316ea61fcSEddie Huang			mt6397_vibr_reg: ldo_vibr {
44416ea61fcSEddie Huang				regulator-compatible = "ldo_vibr";
44516ea61fcSEddie Huang				regulator-name = "vibr";
44616ea61fcSEddie Huang				regulator-min-microvolt = <1300000>;
44716ea61fcSEddie Huang				regulator-max-microvolt = <3300000>;
44816ea61fcSEddie Huang				regulator-enable-ramp-delay = <218>;
44916ea61fcSEddie Huang			};
45016ea61fcSEddie Huang		};
45116ea61fcSEddie Huang	};
45216ea61fcSEddie Huang};
45316ea61fcSEddie Huang
454b0c936f5SLeilk Liu&pio {
455b0c936f5SLeilk Liu	spi_pins_a: spi0 {
456b0c936f5SLeilk Liu		pins_spi {
457b0c936f5SLeilk Liu			pinmux = <MT8173_PIN_69_SPI_CK__FUNC_SPI_CK_0_>,
458b0c936f5SLeilk Liu				<MT8173_PIN_70_SPI_MI__FUNC_SPI_MI_0_>,
459b0c936f5SLeilk Liu				<MT8173_PIN_71_SPI_MO__FUNC_SPI_MO_0_>,
460b0c936f5SLeilk Liu				<MT8173_PIN_72_SPI_CS__FUNC_SPI_CS_0_>;
461b0c936f5SLeilk Liu		};
462b0c936f5SLeilk Liu	};
463b0c936f5SLeilk Liu};
464b0c936f5SLeilk Liu
465b0c936f5SLeilk Liu&spi {
466b0c936f5SLeilk Liu	pinctrl-names = "default";
467b0c936f5SLeilk Liu	pinctrl-0 = <&spi_pins_a>;
468b0c936f5SLeilk Liu	mediatek,pad-select = <0>;
469b0c936f5SLeilk Liu	status = "okay";
470b0c936f5SLeilk Liu};
471b0c936f5SLeilk Liu
472b3a37248SEddie Huang&uart0 {
473b3a37248SEddie Huang	status = "okay";
474b3a37248SEddie Huang};
475bfcce47aSChunfeng Yun
476bfcce47aSChunfeng Yun&usb30 {
477bfcce47aSChunfeng Yun	vusb33-supply = <&mt6397_vusb_reg>;
478bfcce47aSChunfeng Yun	vbus-supply = <&usb_p1_vbus>;
479bfcce47aSChunfeng Yun	mediatek,wakeup-src = <1>;
480bfcce47aSChunfeng Yun};
481