Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / allwinner / sun50i-h5-nanopi-neo2.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
3
4 /dts-v1/;
5 #include "sun50i-h5.dtsi"
6
7 #include <dt-bindings/gpio/gpio.h>
8
9 / {
10         model = "FriendlyARM NanoPi NEO 2";
11         compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5";
12
13         aliases {
14                 ethernet0 = &emac;
15                 serial0 = &uart0;
16         };
17
18         chosen {
19                 stdout-path = "serial0:115200n8";
20         };
21
22         leds {
23                 compatible = "gpio-leds";
24
25                 led-0 {
26                         label = "nanopi:green:pwr";
27                         gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
28                         default-state = "on";
29                 };
30
31                 led-1 {
32                         label = "nanopi:blue:status";
33                         gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
34                 };
35         };
36
37         reg_gmac_3v3: gmac-3v3 {
38                 compatible = "regulator-fixed";
39                 regulator-name = "gmac-3v3";
40                 regulator-min-microvolt = <3300000>;
41                 regulator-max-microvolt = <3300000>;
42                 startup-delay-us = <100000>;
43                 enable-active-high;
44                 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
45         };
46
47         reg_vcc3v3: vcc3v3 {
48                 compatible = "regulator-fixed";
49                 regulator-name = "vcc3v3";
50                 regulator-min-microvolt = <3300000>;
51                 regulator-max-microvolt = <3300000>;
52         };
53
54         reg_usb0_vbus: usb0-vbus {
55                 compatible = "regulator-fixed";
56                 regulator-name = "usb0-vbus";
57                 regulator-min-microvolt = <5000000>;
58                 regulator-max-microvolt = <5000000>;
59                 enable-active-high;
60                 gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
61                 status = "okay";
62         };
63 };
64
65 &ehci0 {
66         status = "okay";
67 };
68
69 &ehci3 {
70         status = "okay";
71 };
72
73 &emac {
74         pinctrl-names = "default";
75         pinctrl-0 = <&emac_rgmii_pins>;
76         phy-supply = <&reg_gmac_3v3>;
77         phy-handle = <&ext_rgmii_phy>;
78         phy-mode = "rgmii";
79         status = "okay";
80 };
81
82 &external_mdio {
83         ext_rgmii_phy: ethernet-phy@7 {
84                 compatible = "ethernet-phy-ieee802.3-c22";
85                 reg = <7>;
86         };
87 };
88
89 &mmc0 {
90         vmmc-supply = <&reg_vcc3v3>;
91         bus-width = <4>;
92         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
93         status = "okay";
94 };
95
96 &ohci0 {
97         status = "okay";
98 };
99
100 &ohci3 {
101         status = "okay";
102 };
103
104 &uart0 {
105         pinctrl-names = "default";
106         pinctrl-0 = <&uart0_pa_pins>;
107         status = "okay";
108 };
109
110 &usb_otg {
111         dr_mode = "otg";
112         status = "okay";
113 };
114
115 &usbphy {
116         /* USB Type-A port's VBUS is always on */
117         usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
118         usb0_vbus-supply = <&reg_usb0_vbus>;
119         status = "okay";
120 };