]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/mt7623n-bananapi-bpi-r2.dts
Merge libc++ trunk r338150, and resolve conflicts.
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / mt7623n-bananapi-bpi-r2.dts
1 /*
2  * Copyright 2017 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 241 GPIO_ACTIVE_HIGH>;
95                         default-state = "off";
96                 };
97
98                 green {
99                         label = "bpi-r2:pio:green";
100                         gpios = <&pio 240 GPIO_ACTIVE_HIGH>;
101                         default-state = "off";
102                 };
103
104                 red {
105                         label = "bpi-r2:pio:red";
106                         gpios = <&pio 239 GPIO_ACTIVE_HIGH>;
107                         default-state = "off";
108                 };
109         };
110
111         memory@80000000 {
112                 reg = <0 0x80000000 0 0x40000000>;
113         };
114 };
115
116 &cir {
117         pinctrl-names = "default";
118         pinctrl-0 = <&cir_pins_a>;
119         status = "okay";
120 };
121
122 &crypto {
123         status = "okay";
124 };
125
126 &eth {
127         status = "okay";
128
129         gmac0: mac@0 {
130                 compatible = "mediatek,eth-mac";
131                 reg = <0>;
132                 phy-mode = "trgmii";
133
134                 fixed-link {
135                         speed = <1000>;
136                         full-duplex;
137                         pause;
138                 };
139         };
140
141         mdio: mdio-bus {
142                 #address-cells = <1>;
143                 #size-cells = <0>;
144
145                 switch@0 {
146                         compatible = "mediatek,mt7530";
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149                         reg = <0>;
150                         reset-gpios = <&pio 33 0>;
151                         core-supply = <&mt6323_vpa_reg>;
152                         io-supply = <&mt6323_vemc3v3_reg>;
153
154                         ports {
155                                 #address-cells = <1>;
156                                 #size-cells = <0>;
157                                 reg = <0>;
158
159                                 port@0 {
160                                         reg = <0>;
161                                         label = "wan";
162                                 };
163
164                                 port@1 {
165                                         reg = <1>;
166                                         label = "lan0";
167                                 };
168
169                                 port@2 {
170                                         reg = <2>;
171                                         label = "lan1";
172                                 };
173
174                                 port@3 {
175                                         reg = <3>;
176                                         label = "lan2";
177                                 };
178
179                                 port@4 {
180                                         reg = <4>;
181                                         label = "lan3";
182                                 };
183
184                                 port@6 {
185                                         reg = <6>;
186                                         label = "cpu";
187                                         ethernet = <&gmac0>;
188                                         phy-mode = "trgmii";
189
190                                         fixed-link {
191                                                 speed = <1000>;
192                                                 full-duplex;
193                                         };
194                                 };
195                         };
196                 };
197         };
198 };
199
200 &i2c0 {
201         pinctrl-names = "default";
202         pinctrl-0 = <&i2c0_pins_a>;
203         status = "okay";
204 };
205
206 &i2c1 {
207         pinctrl-names = "default";
208         pinctrl-0 = <&i2c1_pins_a>;
209         status = "okay";
210 };
211
212 &mmc0 {
213         pinctrl-names = "default", "state_uhs";
214         pinctrl-0 = <&mmc0_pins_default>;
215         pinctrl-1 = <&mmc0_pins_uhs>;
216         status = "okay";
217         bus-width = <8>;
218         max-frequency = <50000000>;
219         cap-mmc-highspeed;
220         vmmc-supply = <&reg_3p3v>;
221         vqmmc-supply = <&reg_1p8v>;
222         non-removable;
223 };
224
225 &mmc1 {
226         pinctrl-names = "default", "state_uhs";
227         pinctrl-0 = <&mmc1_pins_default>;
228         pinctrl-1 = <&mmc1_pins_uhs>;
229         status = "okay";
230         bus-width = <4>;
231         max-frequency = <50000000>;
232         cap-sd-highspeed;
233         cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
234         vmmc-supply = <&reg_3p3v>;
235         vqmmc-supply = <&reg_3p3v>;
236 };
237
238 &pcie {
239         pinctrl-names = "default";
240         pinctrl-0 = <&pcie_default>;
241         status = "okay";
242
243         pcie@0,0 {
244                 status = "okay";
245         };
246
247         pcie@1,0 {
248                 status = "okay";
249         };
250 };
251
252 &pcie0_phy {
253         status = "okay";
254 };
255
256 &pcie1_phy {
257         status = "okay";
258 };
259
260 &pio {
261         cir_pins_a:cir@0 {
262                 pins-cir {
263                         pinmux = <MT7623_PIN_46_IR_FUNC_IR>;
264                         bias-disable;
265                 };
266         };
267
268         i2c0_pins_a: i2c@0 {
269                 pins-i2c0 {
270                         pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>,
271                                  <MT7623_PIN_76_SCL0_FUNC_SCL0>;
272                         bias-disable;
273                 };
274         };
275
276         i2c1_pins_a: i2c@1 {
277                 pin-i2c1 {
278                         pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>,
279                                  <MT7623_PIN_58_SCL1_FUNC_SCL1>;
280                         bias-disable;
281                 };
282         };
283
284         i2s0_pins_a: i2s@0 {
285                 pin-i2s0 {
286                         pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
287                                  <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>,
288                                  <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>,
289                                  <MT7623_PIN_74_I2S0_BCK_FUNC_I2S0_BCK>,
290                                  <MT7623_PIN_126_I2S0_MCLK_FUNC_I2S0_MCLK>;
291                         drive-strength = <MTK_DRIVE_12mA>;
292                         bias-pull-down;
293                 };
294         };
295
296         i2s1_pins_a: i2s@1 {
297                 pin-i2s1 {
298                         pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>,
299                                  <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>,
300                                  <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>,
301                                  <MT7623_PIN_36_I2S1_LRCK_FUNC_I2S1_LRCK>,
302                                  <MT7623_PIN_37_I2S1_MCLK_FUNC_I2S1_MCLK>;
303                         drive-strength = <MTK_DRIVE_12mA>;
304                         bias-pull-down;
305                 };
306         };
307
308         key_pins_a: keys@0 {
309                 pins-keys {
310                         pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
311                                  <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ;
312                         input-enable;
313                 };
314         };
315
316         led_pins_a: leds@0 {
317                 pins-leds {
318                         pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>,
319                                  <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>,
320                                  <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>;
321                 };
322         };
323
324         mmc0_pins_default: mmc0default {
325                 pins-cmd-dat {
326                         pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
327                                  <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
328                                  <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
329                                  <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
330                                  <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
331                                  <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
332                                  <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
333                                  <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
334                                  <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
335                         input-enable;
336                         bias-pull-up;
337                 };
338
339                 pins-clk {
340                         pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
341                         bias-pull-down;
342                 };
343
344                 pins-rst {
345                         pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
346                         bias-pull-up;
347                 };
348         };
349
350         mmc0_pins_uhs: mmc0 {
351                 pins-cmd-dat {
352                         pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
353                                  <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
354                                  <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
355                                  <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
356                                  <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
357                                  <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
358                                  <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
359                                  <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
360                                  <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
361                         input-enable;
362                         drive-strength = <MTK_DRIVE_2mA>;
363                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
364                 };
365
366                 pins-clk {
367                         pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
368                         drive-strength = <MTK_DRIVE_2mA>;
369                         bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
370                 };
371
372                 pins-rst {
373                         pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
374                         bias-pull-up;
375                 };
376         };
377
378         mmc1_pins_default: mmc1default {
379                 pins-cmd-dat {
380                         pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
381                                  <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
382                                  <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
383                                  <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
384                                  <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
385                         input-enable;
386                         drive-strength = <MTK_DRIVE_4mA>;
387                         bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
388                 };
389
390                 pins-clk {
391                         pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
392                         bias-pull-down;
393                         drive-strength = <MTK_DRIVE_4mA>;
394                 };
395
396                 pins-wp {
397                         pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>;
398                         input-enable;
399                         bias-pull-up;
400                 };
401
402                 pins-insert {
403                         pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>;
404                         bias-pull-up;
405                 };
406         };
407
408         mmc1_pins_uhs: mmc1 {
409                 pins-cmd-dat {
410                         pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
411                                  <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
412                                  <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
413                                  <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
414                                  <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
415                         input-enable;
416                         drive-strength = <MTK_DRIVE_4mA>;
417                         bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
418                 };
419
420                 pins-clk {
421                         pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
422                         drive-strength = <MTK_DRIVE_4mA>;
423                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
424                 };
425         };
426
427         pcie_default: pcie_pin_default {
428                 pins_cmd_dat {
429                         pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
430                                  <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
431                         bias-disable;
432                 };
433         };
434
435         pwm_pins_a: pwm@0 {
436                 pins-pwm {
437                         pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>,
438                                  <MT7623_PIN_204_PWM1_FUNC_PWM1>,
439                                  <MT7623_PIN_205_PWM2_FUNC_PWM2>,
440                                  <MT7623_PIN_206_PWM3_FUNC_PWM3>,
441                                  <MT7623_PIN_207_PWM4_FUNC_PWM4>;
442                 };
443         };
444
445         spi0_pins_a: spi@0 {
446                 pins-spi {
447                         pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>,
448                                 <MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>,
449                                 <MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>,
450                                 <MT7623_PIN_56_SPI0_MO_FUNC_SPI0_MO>;
451                         bias-disable;
452                 };
453         };
454
455         uart0_pins_a: uart@0 {
456                 pins-dat {
457                         pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>,
458                                  <MT7623_PIN_80_UTXD0_FUNC_UTXD0>;
459                 };
460         };
461
462         uart1_pins_a: uart@1 {
463                 pins-dat {
464                         pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
465                                  <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
466                 };
467         };
468
469         uart2_pins_a: uart@2 {
470                 pins-dat {
471                         pinmux = <MT7623_PIN_14_GPIO14_FUNC_URXD2>,
472                                  <MT7623_PIN_15_GPIO15_FUNC_UTXD2>;
473                 };
474         };
475 };
476
477 &pwm {
478         pinctrl-names = "default";
479         pinctrl-0 = <&pwm_pins_a>;
480         status = "okay";
481 };
482
483 &pwrap {
484         mt6323 {
485                 mt6323led: led {
486                         compatible = "mediatek,mt6323-led";
487                         #address-cells = <1>;
488                         #size-cells = <0>;
489
490                         led@0 {
491                                 reg = <0>;
492                                 label = "bpi-r2:isink:green";
493                                 default-state = "off";
494                         };
495
496                         led@1 {
497                                 reg = <1>;
498                                 label = "bpi-r2:isink:red";
499                                 default-state = "off";
500                         };
501
502                         led@2 {
503                                 reg = <2>;
504                                 label = "bpi-r2:isink:blue";
505                                 default-state = "off";
506                         };
507                 };
508         };
509 };
510
511 &spi0 {
512         pinctrl-names = "default";
513         pinctrl-0 = <&spi0_pins_a>;
514         status = "okay";
515 };
516
517 &uart0 {
518         pinctrl-names = "default";
519         pinctrl-0 = <&uart0_pins_a>;
520         status = "okay";
521 };
522
523 &uart1 {
524         pinctrl-names = "default";
525         pinctrl-0 = <&uart1_pins_a>;
526         status = "okay";
527 };
528
529 &uart2 {
530         pinctrl-names = "default";
531         pinctrl-0 = <&uart2_pins_a>;
532         status = "okay";
533 };
534
535 &usb1 {
536         vusb33-supply = <&reg_3p3v>;
537         vbus-supply = <&reg_5v>;
538         status = "okay";
539 };
540
541 &usb2 {
542         vusb33-supply = <&reg_3p3v>;
543         vbus-supply = <&reg_5v>;
544         status = "okay";
545 };
546
547 &u3phy1 {
548         status = "okay";
549 };
550
551 &u3phy2 {
552         status = "okay";
553 };
554