1/*
2 * Copyright (c) 2017 MediaTek Inc.
3 * Author: YT Shen <[email protected]>
4 *
5 * SPDX-License-Identifier: (GPL-2.0 OR MIT)
6 */
7
8/dts-v1/;
9#include <dt-bindings/gpio/gpio.h>
10#include "mt2712e.dtsi"
11
12/ {
13	model = "MediaTek MT2712 evaluation board";
14	chassis-type = "embedded";
15	compatible = "mediatek,mt2712-evb", "mediatek,mt2712";
16
17	aliases {
18		serial0 = &uart0;
19	};
20
21	memory@40000000 {
22		device_type = "memory";
23		reg = <0 0x40000000 0 0x80000000>;
24	};
25
26	chosen {
27		stdout-path = "serial0:921600n8";
28	};
29
30	cpus_fixed_vproc0: regulator-vproc-buck0 {
31		compatible = "regulator-fixed";
32		regulator-name = "vproc_buck0";
33		regulator-min-microvolt = <1000000>;
34		regulator-max-microvolt = <1000000>;
35	};
36
37	cpus_fixed_vproc1: regulator-vproc-buck1 {
38		compatible = "regulator-fixed";
39		regulator-name = "vproc_buck1";
40		regulator-min-microvolt = <1000000>;
41		regulator-max-microvolt = <1000000>;
42	};
43
44	extcon_usb: extcon_iddig {
45		compatible = "linux,extcon-usb-gpio";
46		id-gpios = <&pio 12 GPIO_ACTIVE_HIGH>;
47	};
48
49	extcon_usb1: extcon_iddig1 {
50		compatible = "linux,extcon-usb-gpio";
51		id-gpios = <&pio 14 GPIO_ACTIVE_HIGH>;
52	};
53
54	usb_p0_vbus: regulator-usb-p0-vbus {
55		compatible = "regulator-fixed";
56		regulator-name = "p0_vbus";
57		regulator-min-microvolt = <5000000>;
58		regulator-max-microvolt = <5000000>;
59		gpio = <&pio 13 GPIO_ACTIVE_HIGH>;
60		enable-active-high;
61	};
62
63	usb_p1_vbus: regulator-usb-p1-vbus {
64		compatible = "regulator-fixed";
65		regulator-name = "p1_vbus";
66		regulator-min-microvolt = <5000000>;
67		regulator-max-microvolt = <5000000>;
68		gpio = <&pio 15 GPIO_ACTIVE_HIGH>;
69		enable-active-high;
70	};
71
72	usb_p2_vbus: regulator-usb-p2-vbus {
73		compatible = "regulator-fixed";
74		regulator-name = "p2_vbus";
75		regulator-min-microvolt = <5000000>;
76		regulator-max-microvolt = <5000000>;
77		gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
78		enable-active-high;
79	};
80
81	usb_p3_vbus: regulator-usb-p3-vbus {
82		compatible = "regulator-fixed";
83		regulator-name = "p3_vbus";
84		regulator-min-microvolt = <5000000>;
85		regulator-max-microvolt = <5000000>;
86		gpio = <&pio 17 GPIO_ACTIVE_HIGH>;
87		enable-active-high;
88		regulator-always-on;
89	};
90
91};
92
93&auxadc {
94	status = "okay";
95};
96
97&cpu0 {
98	proc-supply = <&cpus_fixed_vproc0>;
99};
100
101&cpu1 {
102	proc-supply = <&cpus_fixed_vproc0>;
103};
104
105&cpu2 {
106	proc-supply = <&cpus_fixed_vproc1>;
107};
108
109&eth {
110	phy-mode = "rgmii-rxid";
111	phy-handle = <&ethernet_phy0>;
112	mediatek,tx-delay-ps = <1530>;
113	snps,reset-gpio = <&pio 87 GPIO_ACTIVE_LOW>;
114	snps,reset-delays-us = <0 10000 10000>;
115	pinctrl-names = "default", "sleep";
116	pinctrl-0 = <&eth_default>;
117	pinctrl-1 = <&eth_sleep>;
118	mediatek,mac-wol;
119	status = "okay";
120
121	mdio {
122		compatible = "snps,dwmac-mdio";
123		#address-cells = <1>;
124		#size-cells = <0>;
125		ethernet_phy0: ethernet-phy@5 {
126			compatible = "ethernet-phy-id0243.0d90";
127			reg = <0x5>;
128		};
129	};
130};
131
132&pio {
133	eth_default: eth-default-pins {
134		tx_pins {
135			pinmux = <MT2712_PIN_71_GBE_TXD3__FUNC_GBE_TXD3>,
136				 <MT2712_PIN_72_GBE_TXD2__FUNC_GBE_TXD2>,
137				 <MT2712_PIN_73_GBE_TXD1__FUNC_GBE_TXD1>,
138				 <MT2712_PIN_74_GBE_TXD0__FUNC_GBE_TXD0>,
139				 <MT2712_PIN_75_GBE_TXC__FUNC_GBE_TXC>,
140				 <MT2712_PIN_76_GBE_TXEN__FUNC_GBE_TXEN>;
141			drive-strength = <8>;
142		};
143		rx_pins {
144			pinmux = <MT2712_PIN_78_GBE_RXD3__FUNC_GBE_RXD3>,
145				 <MT2712_PIN_79_GBE_RXD2__FUNC_GBE_RXD2>,
146				 <MT2712_PIN_80_GBE_RXD1__FUNC_GBE_RXD1>,
147				 <MT2712_PIN_81_GBE_RXD0__FUNC_GBE_RXD0>,
148				 <MT2712_PIN_82_GBE_RXDV__FUNC_GBE_RXDV>,
149				 <MT2712_PIN_84_GBE_RXC__FUNC_GBE_RXC>;
150			input-enable;
151		};
152		mdio_pins {
153			pinmux = <MT2712_PIN_85_GBE_MDC__FUNC_GBE_MDC>,
154				 <MT2712_PIN_86_GBE_MDIO__FUNC_GBE_MDIO>;
155			drive-strength = <8>;
156			input-enable;
157		};
158	};
159
160	eth_sleep: eth-sleep-pins {
161		tx_pins {
162			pinmux = <MT2712_PIN_71_GBE_TXD3__FUNC_GPIO71>,
163				 <MT2712_PIN_72_GBE_TXD2__FUNC_GPIO72>,
164				 <MT2712_PIN_73_GBE_TXD1__FUNC_GPIO73>,
165				 <MT2712_PIN_74_GBE_TXD0__FUNC_GPIO74>,
166				 <MT2712_PIN_75_GBE_TXC__FUNC_GPIO75>,
167				 <MT2712_PIN_76_GBE_TXEN__FUNC_GPIO76>;
168		};
169		rx_pins {
170			pinmux = <MT2712_PIN_78_GBE_RXD3__FUNC_GPIO78>,
171				 <MT2712_PIN_79_GBE_RXD2__FUNC_GPIO79>,
172				 <MT2712_PIN_80_GBE_RXD1__FUNC_GPIO80>,
173				 <MT2712_PIN_81_GBE_RXD0__FUNC_GPIO81>,
174				 <MT2712_PIN_82_GBE_RXDV__FUNC_GPIO82>,
175				 <MT2712_PIN_84_GBE_RXC__FUNC_GPIO84>;
176			input-disable;
177		};
178		mdio_pins {
179			pinmux = <MT2712_PIN_85_GBE_MDC__FUNC_GPIO85>,
180				 <MT2712_PIN_86_GBE_MDIO__FUNC_GPIO86>;
181			input-disable;
182			bias-disable;
183		};
184	};
185
186	usb0_id_pins_float: usb0-iddig-pins {
187		pins_iddig {
188			pinmux = <MT2712_PIN_12_IDDIG_P0__FUNC_IDDIG_A>;
189			bias-pull-up;
190		};
191	};
192
193	usb1_id_pins_float: usb1-iddig-pins {
194		pins_iddig {
195			pinmux = <MT2712_PIN_14_IDDIG_P1__FUNC_IDDIG_B>;
196			bias-pull-up;
197		};
198	};
199};
200
201&ssusb {
202	vbus-supply = <&usb_p0_vbus>;
203	extcon = <&extcon_usb>;
204	dr_mode = "otg";
205	wakeup-source;
206	mediatek,u3p-dis-msk = <0x1>;
207	//enable-manual-drd;
208	//maximum-speed = "full-speed";
209	pinctrl-names = "default";
210	pinctrl-0 = <&usb0_id_pins_float>;
211	status = "okay";
212};
213
214&ssusb1 {
215	vbus-supply = <&usb_p1_vbus>;
216	extcon = <&extcon_usb1>;
217	dr_mode = "otg";
218	//mediatek,u3p-dis-msk = <0x1>;
219	enable-manual-drd;
220	wakeup-source;
221	//maximum-speed = "full-speed";
222	pinctrl-names = "default";
223	pinctrl-0 = <&usb1_id_pins_float>;
224	status = "okay";
225};
226
227&uart0 {
228	status = "okay";
229};
230
231&usb_host0 {
232	vbus-supply = <&usb_p2_vbus>;
233	status = "okay";
234};
235
236&usb_host1 {
237	status = "okay";
238};
239