1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 Amarula Solutions
4 * Author: Jagan Teki <jagan@amarulasolutions.com>
5 */
6
7/dts-v1/;
8
9#include "sun50i-h6.dtsi"
10
11#include <dt-bindings/gpio/gpio.h>
12
13/ {
14	model = "OrangePi One Plus";
15	compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6";
16
17	aliases {
18		serial0 = &uart0;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	leds {
26		compatible = "gpio-leds";
27
28		power {
29			label = "orangepi:red:power";
30			gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
31			default-state = "on";
32		};
33
34		status {
35			label = "orangepi:green:status";
36			gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
37		};
38	};
39
40	reg_vcc5v: vcc5v {
41		/* board wide 5V supply directly from the DC jack */
42		compatible = "regulator-fixed";
43		regulator-name = "vcc-5v";
44		regulator-min-microvolt = <5000000>;
45		regulator-max-microvolt = <5000000>;
46		regulator-always-on;
47	};
48};
49
50&ehci0 {
51	status = "okay";
52};
53
54&ehci3 {
55	status = "okay";
56};
57
58&gpu {
59	mali-supply = <&reg_dcdcc>;
60	status = "okay";
61};
62
63&mmc0 {
64	vmmc-supply = <&reg_cldo1>;
65	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
66	bus-width = <4>;
67	status = "okay";
68};
69
70&ohci0 {
71	status = "okay";
72};
73
74&ohci3 {
75	status = "okay";
76};
77
78&r_i2c {
79	status = "okay";
80
81	axp805: pmic@36 {
82		compatible = "x-powers,axp805", "x-powers,axp806";
83		reg = <0x36>;
84		interrupt-parent = <&r_intc>;
85		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
86		interrupt-controller;
87		#interrupt-cells = <1>;
88		x-powers,self-working-mode;
89		vina-supply = <&reg_vcc5v>;
90		vinb-supply = <&reg_vcc5v>;
91		vinc-supply = <&reg_vcc5v>;
92		vind-supply = <&reg_vcc5v>;
93		vine-supply = <&reg_vcc5v>;
94		aldoin-supply = <&reg_vcc5v>;
95		bldoin-supply = <&reg_vcc5v>;
96		cldoin-supply = <&reg_vcc5v>;
97
98		regulators {
99			reg_aldo1: aldo1 {
100				regulator-always-on;
101				regulator-min-microvolt = <3300000>;
102				regulator-max-microvolt = <3300000>;
103				regulator-name = "vcc-pl";
104			};
105
106			reg_aldo2: aldo2 {
107				regulator-min-microvolt = <3300000>;
108				regulator-max-microvolt = <3300000>;
109				regulator-name = "vcc-ac200";
110			};
111
112			reg_aldo3: aldo3 {
113				regulator-always-on;
114				regulator-min-microvolt = <3300000>;
115				regulator-max-microvolt = <3300000>;
116				regulator-name = "vcc25-dram";
117			};
118
119			reg_bldo1: bldo1 {
120				regulator-always-on;
121				regulator-min-microvolt = <1800000>;
122				regulator-max-microvolt = <1800000>;
123				regulator-name = "vcc-bias-pll";
124			};
125
126			reg_bldo2: bldo2 {
127				regulator-always-on;
128				regulator-min-microvolt = <1800000>;
129				regulator-max-microvolt = <1800000>;
130				regulator-name = "vcc-efuse-pcie-hdmi-io";
131			};
132
133			reg_bldo3: bldo3 {
134				regulator-always-on;
135				regulator-min-microvolt = <1800000>;
136				regulator-max-microvolt = <1800000>;
137				regulator-name = "vcc-dcxoio";
138			};
139
140			bldo4 {
141				/* unused */
142			};
143
144			reg_cldo1: cldo1 {
145				regulator-always-on;
146				regulator-min-microvolt = <3300000>;
147				regulator-max-microvolt = <3300000>;
148				regulator-name = "vcc-3v3";
149			};
150
151			reg_cldo2: cldo2 {
152				regulator-min-microvolt = <3300000>;
153				regulator-max-microvolt = <3300000>;
154				regulator-name = "vcc-wifi-1";
155			};
156
157			reg_cldo3: cldo3 {
158				regulator-min-microvolt = <3300000>;
159				regulator-max-microvolt = <3300000>;
160				regulator-name = "vcc-wifi-2";
161			};
162
163			reg_dcdca: dcdca {
164				regulator-always-on;
165				regulator-min-microvolt = <810000>;
166				regulator-max-microvolt = <1080000>;
167				regulator-name = "vdd-cpu";
168			};
169
170			reg_dcdcc: dcdcc {
171				regulator-enable-ramp-delay = <32000>;
172				regulator-min-microvolt = <810000>;
173				regulator-max-microvolt = <1080000>;
174				regulator-name = "vdd-gpu";
175			};
176
177			reg_dcdcd: dcdcd {
178				regulator-always-on;
179				regulator-min-microvolt = <960000>;
180				regulator-max-microvolt = <960000>;
181				regulator-name = "vdd-sys";
182			};
183
184			reg_dcdce: dcdce {
185				regulator-always-on;
186				regulator-min-microvolt = <1200000>;
187				regulator-max-microvolt = <1200000>;
188				regulator-name = "vcc-dram";
189			};
190
191			sw {
192				/* unused */
193			};
194		};
195	};
196};
197
198&r_ir {
199	status = "okay";
200};
201
202&uart0 {
203	pinctrl-names = "default";
204	pinctrl-0 = <&uart0_ph_pins>;
205	status = "okay";
206};
207
208&usb2otg {
209	dr_mode = "otg";
210	status = "okay";
211};
212
213&usb2phy {
214	usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */
215	usb0_vbus-supply = <&reg_vcc5v>;
216	usb3_vbus-supply = <&reg_vcc5v>;
217	status = "okay";
218};
219