Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / arch / arm / dts / sun50i-h5-orangepi-pc2.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2016 ARM Ltd.
3
4 /dts-v1/;
5 #include "sun50i-h5.dtsi"
6
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/pinctrl/sun4i-a10.h>
10
11 / {
12         model = "Xunlong Orange Pi PC 2";
13         compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5";
14
15         reg_vcc3v3: vcc3v3 {
16                 compatible = "regulator-fixed";
17                 regulator-name = "vcc3v3";
18                 regulator-min-microvolt = <3300000>;
19                 regulator-max-microvolt = <3300000>;
20         };
21
22         aliases {
23                 ethernet0 = &emac;
24                 serial0 = &uart0;
25         };
26
27         chosen {
28                 stdout-path = "serial0:115200n8";
29         };
30
31         connector {
32                 compatible = "hdmi-connector";
33                 type = "a";
34
35                 port {
36                         hdmi_con_in: endpoint {
37                                 remote-endpoint = <&hdmi_out_con>;
38                         };
39                 };
40         };
41
42         leds {
43                 compatible = "gpio-leds";
44
45                 pwr {
46                         label = "orangepi:green:pwr";
47                         gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
48                         default-state = "on";
49                 };
50
51                 status {
52                         label = "orangepi:red:status";
53                         gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
54                 };
55         };
56
57         r-gpio-keys {
58                 compatible = "gpio-keys";
59
60                 sw4 {
61                         label = "sw4";
62                         linux,code = <BTN_0>;
63                         gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
64                 };
65         };
66
67         reg_gmac_3v3: gmac-3v3 {
68                 compatible = "regulator-fixed";
69                 regulator-name = "gmac-3v3";
70                 regulator-min-microvolt = <3300000>;
71                 regulator-max-microvolt = <3300000>;
72                 startup-delay-us = <100000>;
73                 enable-active-high;
74                 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
75         };
76
77         reg_usb0_vbus: usb0-vbus {
78                 compatible = "regulator-fixed";
79                 regulator-name = "usb0-vbus";
80                 regulator-min-microvolt = <5000000>;
81                 regulator-max-microvolt = <5000000>;
82                 enable-active-high;
83                 gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
84                 status = "okay";
85         };
86 };
87
88 &codec {
89         allwinner,audio-routing =
90                 "Line Out", "LINEOUT",
91                 "MIC1", "Mic",
92                 "Mic",  "MBIAS";
93         status = "okay";
94 };
95
96 &de {
97         status = "okay";
98 };
99
100 &ehci0 {
101         status = "okay";
102 };
103
104 &ehci1 {
105         status = "okay";
106 };
107
108 &ehci2 {
109         status = "okay";
110 };
111
112 &ehci3 {
113         status = "okay";
114 };
115
116 &emac {
117         pinctrl-names = "default";
118         pinctrl-0 = <&emac_rgmii_pins>;
119         phy-supply = <&reg_gmac_3v3>;
120         phy-handle = <&ext_rgmii_phy>;
121         phy-mode = "rgmii";
122         status = "okay";
123 };
124
125 &external_mdio {
126         ext_rgmii_phy: ethernet-phy@1 {
127                 compatible = "ethernet-phy-ieee802.3-c22";
128                 reg = <1>;
129         };
130 };
131
132 &hdmi {
133         status = "okay";
134 };
135
136 &hdmi_out {
137         hdmi_out_con: endpoint {
138                 remote-endpoint = <&hdmi_con_in>;
139         };
140 };
141
142 &ir {
143         pinctrl-names = "default";
144         pinctrl-0 = <&r_ir_rx_pin>;
145         status = "okay";
146 };
147
148 &mmc0 {
149         vmmc-supply = <&reg_vcc3v3>;
150         bus-width = <4>;
151         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
152         status = "okay";
153 };
154
155 &ohci0 {
156         status = "okay";
157 };
158
159 &ohci1 {
160         status = "okay";
161 };
162
163 &ohci2 {
164         status = "okay";
165 };
166
167 &ohci3 {
168         status = "okay";
169 };
170
171 &spi0  {
172         status = "okay";
173
174         flash@0 {
175                 #address-cells = <1>;
176                 #size-cells = <1>;
177                 compatible = "jedec,spi-nor";
178                 reg = <0>;
179                 spi-max-frequency = <40000000>;
180         };
181 };
182
183 &uart0 {
184         pinctrl-names = "default";
185         pinctrl-0 = <&uart0_pa_pins>;
186         status = "okay";
187 };
188
189 &uart1 {
190         pinctrl-names = "default";
191         pinctrl-0 = <&uart1_pins>;
192         status = "disabled";
193 };
194
195 &uart2 {
196         pinctrl-names = "default";
197         pinctrl-0 = <&uart2_pins>;
198         status = "disabled";
199 };
200
201 &usb_otg {
202         dr_mode = "otg";
203         status = "okay";
204 };
205
206 &usbphy {
207         /* USB Type-A ports' VBUS is always on */
208         usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
209         usb0_vbus-supply = <&reg_usb0_vbus>;
210         status = "okay";
211 };