blob: da0875bd38d40e2e5419bf5e8b0c577cc45714b2 [file] [log] [blame]
Jernej Skrabec463304d2021-01-06 18:02:56 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2018 Amarula Solutions
3// Author: Jagan Teki <jagan@amarulasolutions.com>
Jagan Teki4c44d502018-11-05 13:20:39 +05304
5/dts-v1/;
6
7#include "sun50i-h6.dtsi"
8
9#include <dt-bindings/gpio/gpio.h>
10
11/ {
12 model = "OrangePi One Plus";
13 compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6";
14
15 aliases {
16 serial0 = &uart0;
17 };
18
19 chosen {
20 stdout-path = "serial0:115200n8";
21 };
Jagan Teki7d412cd2019-04-14 22:22:21 +053022
Jernej Skrabec463304d2021-01-06 18:02:56 +010023 connector {
24 compatible = "hdmi-connector";
25 type = "a";
26 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
27
28 port {
29 hdmi_con_in: endpoint {
30 remote-endpoint = <&hdmi_out_con>;
31 };
32 };
33 };
34
35 ext_osc32k: ext_osc32k_clk {
36 #clock-cells = <0>;
37 compatible = "fixed-clock";
38 clock-frequency = <32768>;
39 clock-output-names = "ext_osc32k";
40 };
41
Jagan Teki7d412cd2019-04-14 22:22:21 +053042 leds {
43 compatible = "gpio-leds";
44
Andre Przywara787f5a02021-05-25 01:20:25 +010045 led-0 {
Jagan Teki7d412cd2019-04-14 22:22:21 +053046 label = "orangepi:red:power";
47 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
48 default-state = "on";
49 };
50
Andre Przywara787f5a02021-05-25 01:20:25 +010051 led-1 {
Jagan Teki7d412cd2019-04-14 22:22:21 +053052 label = "orangepi:green:status";
53 gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
54 };
55 };
56
57 reg_vcc5v: vcc5v {
58 /* board wide 5V supply directly from the DC jack */
59 compatible = "regulator-fixed";
60 regulator-name = "vcc-5v";
61 regulator-min-microvolt = <5000000>;
62 regulator-max-microvolt = <5000000>;
63 regulator-always-on;
64 };
65};
66
Jernej Skrabec463304d2021-01-06 18:02:56 +010067&de {
68 status = "okay";
69};
70
Jagan Teki7d412cd2019-04-14 22:22:21 +053071&ehci0 {
72 status = "okay";
73};
74
75&ehci3 {
76 status = "okay";
Jagan Teki4c44d502018-11-05 13:20:39 +053077};
78
Jernej Skrabec463304d2021-01-06 18:02:56 +010079&gpu {
80 mali-supply = <&reg_dcdcc>;
81 status = "okay";
82};
83
84&hdmi {
85 status = "okay";
86};
87
88&hdmi_out {
89 hdmi_out_con: endpoint {
90 remote-endpoint = <&hdmi_con_in>;
91 };
92};
93
Jagan Teki4c44d502018-11-05 13:20:39 +053094&mmc0 {
Jagan Teki4c44d502018-11-05 13:20:39 +053095 vmmc-supply = <&reg_cldo1>;
96 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
97 bus-width = <4>;
98 status = "okay";
99};
100
Jagan Teki7d412cd2019-04-14 22:22:21 +0530101&ohci0 {
102 status = "okay";
103};
104
105&ohci3 {
106 status = "okay";
107};
108
Jernej Skrabec463304d2021-01-06 18:02:56 +0100109&pio {
110 vcc-pc-supply = <&reg_bldo2>;
111 vcc-pd-supply = <&reg_cldo1>;
112 vcc-pg-supply = <&reg_aldo1>;
113};
114
Jagan Teki4c44d502018-11-05 13:20:39 +0530115&r_i2c {
116 status = "okay";
117
118 axp805: pmic@36 {
119 compatible = "x-powers,axp805", "x-powers,axp806";
120 reg = <0x36>;
121 interrupt-parent = <&r_intc>;
122 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
123 interrupt-controller;
124 #interrupt-cells = <1>;
125 x-powers,self-working-mode;
Jagan Teki7d412cd2019-04-14 22:22:21 +0530126 vina-supply = <&reg_vcc5v>;
127 vinb-supply = <&reg_vcc5v>;
128 vinc-supply = <&reg_vcc5v>;
129 vind-supply = <&reg_vcc5v>;
130 vine-supply = <&reg_vcc5v>;
131 aldoin-supply = <&reg_vcc5v>;
132 bldoin-supply = <&reg_vcc5v>;
133 cldoin-supply = <&reg_vcc5v>;
Jagan Teki4c44d502018-11-05 13:20:39 +0530134
135 regulators {
136 reg_aldo1: aldo1 {
137 regulator-always-on;
138 regulator-min-microvolt = <3300000>;
139 regulator-max-microvolt = <3300000>;
140 regulator-name = "vcc-pl";
141 };
142
143 reg_aldo2: aldo2 {
144 regulator-min-microvolt = <3300000>;
145 regulator-max-microvolt = <3300000>;
146 regulator-name = "vcc-ac200";
147 };
148
149 reg_aldo3: aldo3 {
150 regulator-always-on;
151 regulator-min-microvolt = <3300000>;
152 regulator-max-microvolt = <3300000>;
153 regulator-name = "vcc25-dram";
154 };
155
156 reg_bldo1: bldo1 {
157 regulator-always-on;
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
160 regulator-name = "vcc-bias-pll";
161 };
162
163 reg_bldo2: bldo2 {
164 regulator-always-on;
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1800000>;
167 regulator-name = "vcc-efuse-pcie-hdmi-io";
168 };
169
170 reg_bldo3: bldo3 {
171 regulator-always-on;
172 regulator-min-microvolt = <1800000>;
173 regulator-max-microvolt = <1800000>;
174 regulator-name = "vcc-dcxoio";
175 };
176
177 bldo4 {
178 /* unused */
179 };
180
181 reg_cldo1: cldo1 {
182 regulator-always-on;
183 regulator-min-microvolt = <3300000>;
184 regulator-max-microvolt = <3300000>;
185 regulator-name = "vcc-3v3";
186 };
187
188 reg_cldo2: cldo2 {
189 regulator-min-microvolt = <3300000>;
190 regulator-max-microvolt = <3300000>;
191 regulator-name = "vcc-wifi-1";
192 };
193
194 reg_cldo3: cldo3 {
195 regulator-min-microvolt = <3300000>;
196 regulator-max-microvolt = <3300000>;
197 regulator-name = "vcc-wifi-2";
198 };
199
200 reg_dcdca: dcdca {
201 regulator-always-on;
202 regulator-min-microvolt = <810000>;
203 regulator-max-microvolt = <1080000>;
204 regulator-name = "vdd-cpu";
205 };
206
207 reg_dcdcc: dcdcc {
Jernej Skrabec463304d2021-01-06 18:02:56 +0100208 regulator-enable-ramp-delay = <32000>;
Jagan Teki4c44d502018-11-05 13:20:39 +0530209 regulator-min-microvolt = <810000>;
210 regulator-max-microvolt = <1080000>;
211 regulator-name = "vdd-gpu";
212 };
213
214 reg_dcdcd: dcdcd {
215 regulator-always-on;
216 regulator-min-microvolt = <960000>;
217 regulator-max-microvolt = <960000>;
218 regulator-name = "vdd-sys";
219 };
220
221 reg_dcdce: dcdce {
222 regulator-always-on;
223 regulator-min-microvolt = <1200000>;
224 regulator-max-microvolt = <1200000>;
225 regulator-name = "vcc-dram";
226 };
227
228 sw {
229 /* unused */
230 };
231 };
232 };
233};
234
Jernej Skrabec463304d2021-01-06 18:02:56 +0100235&r_ir {
236 status = "okay";
237};
238
239&r_pio {
240 vcc-pm-supply = <&reg_bldo3>;
241};
242
243&rtc {
244 clocks = <&ext_osc32k>;
245};
246
Jagan Teki4c44d502018-11-05 13:20:39 +0530247&uart0 {
248 pinctrl-names = "default";
249 pinctrl-0 = <&uart0_ph_pins>;
250 status = "okay";
251};
Jagan Teki7d412cd2019-04-14 22:22:21 +0530252
253&usb2otg {
Jernej Skrabec463304d2021-01-06 18:02:56 +0100254 /*
255 * OrangePi Lite 2 and One Plus, where this DT is used, don't
256 * have a controllable VBUS even though they do have an ID pin.
257 * Using it as anything but a USB host is unsafe.
258 */
259 dr_mode = "host";
Jagan Teki7d412cd2019-04-14 22:22:21 +0530260 status = "okay";
261};
262
263&usb2phy {
264 usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */
265 usb0_vbus-supply = <&reg_vcc5v>;
266 usb3_vbus-supply = <&reg_vcc5v>;
267 status = "okay";
268};