blob: 5375c6699843f6ee3f2ce79a5b6c3edfab70b997 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/*
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