• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2017-2018 Sean Wang <sean.wang@mediatek.com>
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */
6
7/dts-v1/;
8#include <dt-bindings/input/input.h>
9#include "mt7623.dtsi"
10#include "mt6323.dtsi"
11
12/ {
13	model = "Bananapi BPI-R2";
14	compatible = "bananapi,bpi-r2", "mediatek,mt7623";
15
16	aliases {
17		serial2 = &uart2;
18	};
19
20	chosen {
21		stdout-path = "serial2:115200n8";
22	};
23
24	cpus {
25		cpu@0 {
26			proc-supply = <&mt6323_vproc_reg>;
27		};
28
29		cpu@1 {
30			proc-supply = <&mt6323_vproc_reg>;
31		};
32
33		cpu@2 {
34			proc-supply = <&mt6323_vproc_reg>;
35		};
36
37		cpu@3 {
38			proc-supply = <&mt6323_vproc_reg>;
39		};
40	};
41
42	reg_1p8v: regulator-1p8v {
43		compatible = "regulator-fixed";
44		regulator-name = "fixed-1.8V";
45		regulator-min-microvolt = <1800000>;
46		regulator-max-microvolt = <1800000>;
47		regulator-boot-on;
48		regulator-always-on;
49	};
50
51	reg_3p3v: regulator-3p3v {
52		compatible = "regulator-fixed";
53		regulator-name = "fixed-3.3V";
54		regulator-min-microvolt = <3300000>;
55		regulator-max-microvolt = <3300000>;
56		regulator-boot-on;
57		regulator-always-on;
58	};
59
60	reg_5v: regulator-5v {
61		compatible = "regulator-fixed";
62		regulator-name = "fixed-5V";
63		regulator-min-microvolt = <5000000>;
64		regulator-max-microvolt = <5000000>;
65		regulator-boot-on;
66		regulator-always-on;
67	};
68
69	gpio-keys {
70		compatible = "gpio-keys";
71		pinctrl-names = "default";
72		pinctrl-0 = <&key_pins_a>;
73
74		factory {
75			label = "factory";
76			linux,code = <BTN_0>;
77			gpios = <&pio 256 GPIO_ACTIVE_LOW>;
78		};
79
80		wps {
81			label = "wps";
82			linux,code = <KEY_WPS_BUTTON>;
83			gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
84		};
85	};
86
87	leds {
88		compatible = "gpio-leds";
89		pinctrl-names = "default";
90		pinctrl-0 = <&led_pins_a>;
91
92		blue {
93			label = "bpi-r2:pio:blue";
94			gpios = <&pio 240 GPIO_ACTIVE_LOW>;
95			default-state = "off";
96		};
97
98		green {
99			label = "bpi-r2:pio:green";
100			gpios = <&pio 241 GPIO_ACTIVE_LOW>;
101			default-state = "off";
102		};
103
104		red {
105			label = "bpi-r2:pio:red";
106			gpios = <&pio 239 GPIO_ACTIVE_LOW>;
107			default-state = "off";
108		};
109	};
110
111	memory@80000000 {
112		device_type = "memory";
113		reg = <0 0x80000000 0 0x80000000>;
114	};
115};
116
117&btif {
118	status = "okay";
119};
120
121&cir {
122	pinctrl-names = "default";
123	pinctrl-0 = <&cir_pins_a>;
124	status = "okay";
125};
126
127&crypto {
128	status = "okay";
129};
130
131&eth {
132	status = "okay";
133
134	gmac0: mac@0 {
135		compatible = "mediatek,eth-mac";
136		reg = <0>;
137		phy-mode = "trgmii";
138
139		fixed-link {
140			speed = <1000>;
141			full-duplex;
142			pause;
143		};
144	};
145
146	mdio: mdio-bus {
147		#address-cells = <1>;
148		#size-cells = <0>;
149
150		switch@0 {
151			compatible = "mediatek,mt7530";
152			reg = <0>;
153			reset-gpios = <&pio 33 0>;
154			core-supply = <&mt6323_vpa_reg>;
155			io-supply = <&mt6323_vemc3v3_reg>;
156
157			ports {
158				#address-cells = <1>;
159				#size-cells = <0>;
160
161				port@0 {
162					reg = <0>;
163					label = "wan";
164				};
165
166				port@1 {
167					reg = <1>;
168					label = "lan0";
169				};
170
171				port@2 {
172					reg = <2>;
173					label = "lan1";
174				};
175
176				port@3 {
177					reg = <3>;
178					label = "lan2";
179				};
180
181				port@4 {
182					reg = <4>;
183					label = "lan3";
184				};
185
186				port@6 {
187					reg = <6>;
188					label = "cpu";
189					ethernet = <&gmac0>;
190					phy-mode = "trgmii";
191
192					fixed-link {
193						speed = <1000>;
194						full-duplex;
195						pause;
196					};
197				};
198			};
199		};
200	};
201};
202
203&i2c0 {
204	pinctrl-names = "default";
205	pinctrl-0 = <&i2c0_pins_a>;
206	status = "okay";
207};
208
209&i2c1 {
210	pinctrl-names = "default";
211	pinctrl-0 = <&i2c1_pins_a>;
212	status = "okay";
213};
214
215&mmc0 {
216	pinctrl-names = "default", "state_uhs";
217	pinctrl-0 = <&mmc0_pins_default>;
218	pinctrl-1 = <&mmc0_pins_uhs>;
219	status = "okay";
220	bus-width = <8>;
221	max-frequency = <50000000>;
222	cap-mmc-highspeed;
223	vmmc-supply = <&reg_3p3v>;
224	vqmmc-supply = <&reg_1p8v>;
225	non-removable;
226};
227
228&mmc1 {
229	pinctrl-names = "default", "state_uhs";
230	pinctrl-0 = <&mmc1_pins_default>;
231	pinctrl-1 = <&mmc1_pins_uhs>;
232	status = "okay";
233	bus-width = <4>;
234	max-frequency = <50000000>;
235	cap-sd-highspeed;
236	cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
237	vmmc-supply = <&reg_3p3v>;
238	vqmmc-supply = <&reg_3p3v>;
239};
240
241&mt6323_leds {
242	status = "okay";
243
244	led@0 {
245		reg = <0>;
246		label = "bpi-r2:isink:green";
247		default-state = "off";
248	};
249
250	led@1 {
251		reg = <1>;
252		label = "bpi-r2:isink:red";
253		default-state = "off";
254	};
255
256	led@2 {
257		reg = <2>;
258		label = "bpi-r2:isink:blue";
259		default-state = "off";
260	};
261};
262
263&pcie {
264	pinctrl-names = "default";
265	pinctrl-0 = <&pcie_default>;
266	status = "okay";
267
268	pcie@0,0 {
269		status = "okay";
270	};
271
272	pcie@1,0 {
273		status = "okay";
274	};
275};
276
277&pcie0_phy {
278	status = "okay";
279};
280
281&pcie1_phy {
282	status = "okay";
283};
284
285&pwm {
286	pinctrl-names = "default";
287	pinctrl-0 = <&pwm_pins_a>;
288	status = "okay";
289};
290
291&spi0 {
292	pinctrl-names = "default";
293	pinctrl-0 = <&spi0_pins_a>;
294	status = "okay";
295};
296
297&uart0 {
298	pinctrl-names = "default";
299	pinctrl-0 = <&uart0_pins_a>;
300	status = "okay";
301};
302
303&uart1 {
304	pinctrl-names = "default";
305	pinctrl-0 = <&uart1_pins_a>;
306	status = "okay";
307};
308
309&uart2 {
310	pinctrl-names = "default";
311	pinctrl-0 = <&uart2_pins_a>;
312	status = "okay";
313};
314
315&usb1 {
316	vusb33-supply = <&reg_3p3v>;
317	vbus-supply = <&reg_5v>;
318	status = "okay";
319};
320
321&usb2 {
322	vusb33-supply = <&reg_3p3v>;
323	vbus-supply = <&reg_5v>;
324	status = "okay";
325};
326
327&u3phy1 {
328	status = "okay";
329};
330
331&u3phy2 {
332	status = "okay";
333};
334
335