blob: 70b5f09984218e9b0e3fb9f6df8d2d66df5dd2d5 [file] [log] [blame]
Chen-Yu Tsaib5fe5232020-01-12 23:36:13 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2016 ARM Ltd.
Andre Przywarae7bd15e2017-02-16 01:20:29 +00003
4/dts-v1/;
Jagan Teki702a3e52017-05-25 18:15:36 +00005#include "sun50i-h5.dtsi"
Andre Przywarae7bd15e2017-02-16 01:20:29 +00006
Jagan Tekif3339732017-05-25 18:26:41 +00007#include <dt-bindings/gpio/gpio.h>
Andre Przywara1caeae32018-07-04 14:16:37 +01008#include <dt-bindings/input/input.h>
9#include <dt-bindings/pinctrl/sun4i-a10.h>
Jagan Tekif3339732017-05-25 18:26:41 +000010
Andre Przywarae7bd15e2017-02-16 01:20:29 +000011/ {
Andre Przywara1caeae32018-07-04 14:16:37 +010012 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 };
Andre Przywarae7bd15e2017-02-16 01:20:29 +000021
Jagan Teki0107cd42018-05-07 13:03:47 +053022 aliases {
Jagan Teki0107cd42018-05-07 13:03:47 +053023 ethernet0 = &emac;
Andre Przywara1caeae32018-07-04 14:16:37 +010024 serial0 = &uart0;
Jagan Teki0107cd42018-05-07 13:03:47 +053025 };
26
Andre Przywarae7bd15e2017-02-16 01:20:29 +000027 chosen {
28 stdout-path = "serial0:115200n8";
29 };
30
Andre Przywara1caeae32018-07-04 14:16:37 +010031 connector {
32 compatible = "hdmi-connector";
33 type = "a";
Andre Przywarae7bd15e2017-02-16 01:20:29 +000034
Andre Przywara1caeae32018-07-04 14:16:37 +010035 port {
36 hdmi_con_in: endpoint {
37 remote-endpoint = <&hdmi_out_con>;
38 };
Andre Przywarae7bd15e2017-02-16 01:20:29 +000039 };
40 };
Andre Przywara1caeae32018-07-04 14:16:37 +010041
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";
Andre Przywarae7bd15e2017-02-16 01:20:29 +000098};
99
Jagan Teki84c569c2018-05-07 13:03:48 +0530100&ehci0 {
101 status = "okay";
102};
103
Andre Przywarae7bd15e2017-02-16 01:20:29 +0000104&ehci1 {
105 status = "okay";
106};
107
Andre Przywara1caeae32018-07-04 14:16:37 +0100108&ehci2 {
109 status = "okay";
110};
111
112&ehci3 {
113 status = "okay";
114};
115
Andre Przywarae7bd15e2017-02-16 01:20:29 +0000116&emac {
117 pinctrl-names = "default";
118 pinctrl-0 = <&emac_rgmii_pins>;
Andre Przywara1caeae32018-07-04 14:16:37 +0100119 phy-supply = <&reg_gmac_3v3>;
Andre Przywara0bb48ef2018-04-04 01:31:19 +0100120 phy-handle = <&ext_rgmii_phy>;
Andre Przywara1caeae32018-07-04 14:16:37 +0100121 phy-mode = "rgmii";
Andre Przywarae7bd15e2017-02-16 01:20:29 +0000122 status = "okay";
Andre Przywara0bb48ef2018-04-04 01:31:19 +0100123};
Andre Przywarae7bd15e2017-02-16 01:20:29 +0000124
Andre Przywara0bb48ef2018-04-04 01:31:19 +0100125&external_mdio {
126 ext_rgmii_phy: ethernet-phy@1 {
127 compatible = "ethernet-phy-ieee802.3-c22";
Andre Przywarae7bd15e2017-02-16 01:20:29 +0000128 reg = <1>;
129 };
130};
Jagan Teki0107cd42018-05-07 13:03:47 +0530131
Andre Przywara1caeae32018-07-04 14:16:37 +0100132&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";
Chen-Yu Tsaib5fe5232020-01-12 23:36:13 +0800144 pinctrl-0 = <&r_ir_rx_pin>;
Andre Przywara1caeae32018-07-04 14:16:37 +0100145 status = "okay";
146};
147
Jagan Teki0107cd42018-05-07 13:03:47 +0530148&mmc0 {
Jagan Teki0107cd42018-05-07 13:03:47 +0530149 vmmc-supply = <&reg_vcc3v3>;
150 bus-width = <4>;
Andre Przywara1caeae32018-07-04 14:16:37 +0100151 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
Jagan Teki0107cd42018-05-07 13:03:47 +0530152 status = "okay";
153};
154
Jagan Teki84c569c2018-05-07 13:03:48 +0530155&ohci0 {
156 status = "okay";
157};
158
Jagan Teki0107cd42018-05-07 13:03:47 +0530159&ohci1 {
160 status = "okay";
161};
162
Andre Przywara1caeae32018-07-04 14:16:37 +0100163&ohci2 {
164 status = "okay";
165};
166
167&ohci3 {
168 status = "okay";
169};
170
Andre Przywara4c974ee2018-10-29 00:56:49 +0000171&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
Jagan Teki0107cd42018-05-07 13:03:47 +0530183&uart0 {
184 pinctrl-names = "default";
Chen-Yu Tsaib5fe5232020-01-12 23:36:13 +0800185 pinctrl-0 = <&uart0_pa_pins>;
Jagan Teki0107cd42018-05-07 13:03:47 +0530186 status = "okay";
187};
188
Andre Przywara1caeae32018-07-04 14:16:37 +0100189&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
Jagan Teki84c569c2018-05-07 13:03:48 +0530201&usb_otg {
202 dr_mode = "otg";
203 status = "okay";
204};
205
Jagan Teki0107cd42018-05-07 13:03:47 +0530206&usbphy {
Andre Przywara1caeae32018-07-04 14:16:37 +0100207 /* 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>;
Jagan Teki0107cd42018-05-07 13:03:47 +0530210 status = "okay";
211};