1f0c083b8SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2f0c083b8SJagan Teki/*
3f0c083b8SJagan Teki * Copyright (C) 2018 Amarula Solutions
4f0c083b8SJagan Teki * Author: Jagan Teki <jagan@amarulasolutions.com>
5f0c083b8SJagan Teki */
6f0c083b8SJagan Teki
7f0c083b8SJagan Teki/dts-v1/;
8f0c083b8SJagan Teki
9f0c083b8SJagan Teki#include "sun50i-h6.dtsi"
10f0c083b8SJagan Teki
11f0c083b8SJagan Teki#include <dt-bindings/gpio/gpio.h>
12f0c083b8SJagan Teki
13f0c083b8SJagan Teki/ {
14f0c083b8SJagan Teki	model = "OrangePi One Plus";
15f0c083b8SJagan Teki	compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6";
16f0c083b8SJagan Teki
17f0c083b8SJagan Teki	aliases {
18f0c083b8SJagan Teki		serial0 = &uart0;
19f0c083b8SJagan Teki	};
20f0c083b8SJagan Teki
21f0c083b8SJagan Teki	chosen {
22f0c083b8SJagan Teki		stdout-path = "serial0:115200n8";
23f0c083b8SJagan Teki	};
24919d2514SChen-Yu Tsai
251e33e0dbSChen-Yu Tsai	leds {
261e33e0dbSChen-Yu Tsai		compatible = "gpio-leds";
271e33e0dbSChen-Yu Tsai
281e33e0dbSChen-Yu Tsai		power {
291e33e0dbSChen-Yu Tsai			label = "orangepi:red:power";
301e33e0dbSChen-Yu Tsai			gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
311e33e0dbSChen-Yu Tsai			default-state = "on";
321e33e0dbSChen-Yu Tsai		};
331e33e0dbSChen-Yu Tsai
341e33e0dbSChen-Yu Tsai		status {
351e33e0dbSChen-Yu Tsai			label = "orangepi:green:status";
361e33e0dbSChen-Yu Tsai			gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
371e33e0dbSChen-Yu Tsai		};
381e33e0dbSChen-Yu Tsai	};
391e33e0dbSChen-Yu Tsai
40919d2514SChen-Yu Tsai	reg_vcc5v: vcc5v {
41919d2514SChen-Yu Tsai		/* board wide 5V supply directly from the DC jack */
42919d2514SChen-Yu Tsai		compatible = "regulator-fixed";
43919d2514SChen-Yu Tsai		regulator-name = "vcc-5v";
44919d2514SChen-Yu Tsai		regulator-min-microvolt = <5000000>;
45919d2514SChen-Yu Tsai		regulator-max-microvolt = <5000000>;
46919d2514SChen-Yu Tsai		regulator-always-on;
47919d2514SChen-Yu Tsai	};
48f0c083b8SJagan Teki};
49f0c083b8SJagan Teki
509b8d1ccdSChen-Yu Tsai&ehci0 {
519b8d1ccdSChen-Yu Tsai	status = "okay";
529b8d1ccdSChen-Yu Tsai};
539b8d1ccdSChen-Yu Tsai
549b8d1ccdSChen-Yu Tsai&ehci3 {
559b8d1ccdSChen-Yu Tsai	status = "okay";
569b8d1ccdSChen-Yu Tsai};
579b8d1ccdSChen-Yu Tsai
58f0c083b8SJagan Teki&mmc0 {
59f0c083b8SJagan Teki	vmmc-supply = <&reg_cldo1>;
60f0c083b8SJagan Teki	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
61f0c083b8SJagan Teki	bus-width = <4>;
62f0c083b8SJagan Teki	status = "okay";
63f0c083b8SJagan Teki};
64f0c083b8SJagan Teki
659b8d1ccdSChen-Yu Tsai&ohci0 {
669b8d1ccdSChen-Yu Tsai	status = "okay";
679b8d1ccdSChen-Yu Tsai};
689b8d1ccdSChen-Yu Tsai
699b8d1ccdSChen-Yu Tsai&ohci3 {
709b8d1ccdSChen-Yu Tsai	status = "okay";
719b8d1ccdSChen-Yu Tsai};
729b8d1ccdSChen-Yu Tsai
73f0c083b8SJagan Teki&r_i2c {
74f0c083b8SJagan Teki	status = "okay";
75f0c083b8SJagan Teki
76f0c083b8SJagan Teki	axp805: pmic@36 {
77f0c083b8SJagan Teki		compatible = "x-powers,axp805", "x-powers,axp806";
78f0c083b8SJagan Teki		reg = <0x36>;
79f0c083b8SJagan Teki		interrupt-parent = <&r_intc>;
80f0c083b8SJagan Teki		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
81f0c083b8SJagan Teki		interrupt-controller;
82f0c083b8SJagan Teki		#interrupt-cells = <1>;
83f0c083b8SJagan Teki		x-powers,self-working-mode;
84919d2514SChen-Yu Tsai		vina-supply = <&reg_vcc5v>;
85919d2514SChen-Yu Tsai		vinb-supply = <&reg_vcc5v>;
86919d2514SChen-Yu Tsai		vinc-supply = <&reg_vcc5v>;
87919d2514SChen-Yu Tsai		vind-supply = <&reg_vcc5v>;
88919d2514SChen-Yu Tsai		vine-supply = <&reg_vcc5v>;
89919d2514SChen-Yu Tsai		aldoin-supply = <&reg_vcc5v>;
90919d2514SChen-Yu Tsai		bldoin-supply = <&reg_vcc5v>;
91919d2514SChen-Yu Tsai		cldoin-supply = <&reg_vcc5v>;
92f0c083b8SJagan Teki
93f0c083b8SJagan Teki		regulators {
94f0c083b8SJagan Teki			reg_aldo1: aldo1 {
95f0c083b8SJagan Teki				regulator-always-on;
96f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
97f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
98f0c083b8SJagan Teki				regulator-name = "vcc-pl";
99f0c083b8SJagan Teki			};
100f0c083b8SJagan Teki
101f0c083b8SJagan Teki			reg_aldo2: aldo2 {
102f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
103f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
104f0c083b8SJagan Teki				regulator-name = "vcc-ac200";
105f0c083b8SJagan Teki			};
106f0c083b8SJagan Teki
107f0c083b8SJagan Teki			reg_aldo3: aldo3 {
108f0c083b8SJagan Teki				regulator-always-on;
109f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
110f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
111f0c083b8SJagan Teki				regulator-name = "vcc25-dram";
112f0c083b8SJagan Teki			};
113f0c083b8SJagan Teki
114f0c083b8SJagan Teki			reg_bldo1: bldo1 {
115f0c083b8SJagan Teki				regulator-always-on;
116f0c083b8SJagan Teki				regulator-min-microvolt = <1800000>;
117f0c083b8SJagan Teki				regulator-max-microvolt = <1800000>;
118f0c083b8SJagan Teki				regulator-name = "vcc-bias-pll";
119f0c083b8SJagan Teki			};
120f0c083b8SJagan Teki
121f0c083b8SJagan Teki			reg_bldo2: bldo2 {
122f0c083b8SJagan Teki				regulator-always-on;
123f0c083b8SJagan Teki				regulator-min-microvolt = <1800000>;
124f0c083b8SJagan Teki				regulator-max-microvolt = <1800000>;
125f0c083b8SJagan Teki				regulator-name = "vcc-efuse-pcie-hdmi-io";
126f0c083b8SJagan Teki			};
127f0c083b8SJagan Teki
128f0c083b8SJagan Teki			reg_bldo3: bldo3 {
129f0c083b8SJagan Teki				regulator-always-on;
130f0c083b8SJagan Teki				regulator-min-microvolt = <1800000>;
131f0c083b8SJagan Teki				regulator-max-microvolt = <1800000>;
132f0c083b8SJagan Teki				regulator-name = "vcc-dcxoio";
133f0c083b8SJagan Teki			};
134f0c083b8SJagan Teki
135f0c083b8SJagan Teki			bldo4 {
136f0c083b8SJagan Teki				/* unused */
137f0c083b8SJagan Teki			};
138f0c083b8SJagan Teki
139f0c083b8SJagan Teki			reg_cldo1: cldo1 {
140f0c083b8SJagan Teki				regulator-always-on;
141f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
142f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
143f0c083b8SJagan Teki				regulator-name = "vcc-3v3";
144f0c083b8SJagan Teki			};
145f0c083b8SJagan Teki
146f0c083b8SJagan Teki			reg_cldo2: cldo2 {
147f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
148f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
149f0c083b8SJagan Teki				regulator-name = "vcc-wifi-1";
150f0c083b8SJagan Teki			};
151f0c083b8SJagan Teki
152f0c083b8SJagan Teki			reg_cldo3: cldo3 {
153f0c083b8SJagan Teki				regulator-min-microvolt = <3300000>;
154f0c083b8SJagan Teki				regulator-max-microvolt = <3300000>;
155f0c083b8SJagan Teki				regulator-name = "vcc-wifi-2";
156f0c083b8SJagan Teki			};
157f0c083b8SJagan Teki
158f0c083b8SJagan Teki			reg_dcdca: dcdca {
159f0c083b8SJagan Teki				regulator-always-on;
160f0c083b8SJagan Teki				regulator-min-microvolt = <810000>;
161f0c083b8SJagan Teki				regulator-max-microvolt = <1080000>;
162f0c083b8SJagan Teki				regulator-name = "vdd-cpu";
163f0c083b8SJagan Teki			};
164f0c083b8SJagan Teki
165f0c083b8SJagan Teki			reg_dcdcc: dcdcc {
166f0c083b8SJagan Teki				regulator-min-microvolt = <810000>;
167f0c083b8SJagan Teki				regulator-max-microvolt = <1080000>;
168f0c083b8SJagan Teki				regulator-name = "vdd-gpu";
169f0c083b8SJagan Teki			};
170f0c083b8SJagan Teki
171f0c083b8SJagan Teki			reg_dcdcd: dcdcd {
172f0c083b8SJagan Teki				regulator-always-on;
173f0c083b8SJagan Teki				regulator-min-microvolt = <960000>;
174f0c083b8SJagan Teki				regulator-max-microvolt = <960000>;
175f0c083b8SJagan Teki				regulator-name = "vdd-sys";
176f0c083b8SJagan Teki			};
177f0c083b8SJagan Teki
178f0c083b8SJagan Teki			reg_dcdce: dcdce {
179f0c083b8SJagan Teki				regulator-always-on;
180f0c083b8SJagan Teki				regulator-min-microvolt = <1200000>;
181f0c083b8SJagan Teki				regulator-max-microvolt = <1200000>;
182f0c083b8SJagan Teki				regulator-name = "vcc-dram";
183f0c083b8SJagan Teki			};
184f0c083b8SJagan Teki
185f0c083b8SJagan Teki			sw {
186f0c083b8SJagan Teki				/* unused */
187f0c083b8SJagan Teki			};
188f0c083b8SJagan Teki		};
189f0c083b8SJagan Teki	};
190f0c083b8SJagan Teki};
191f0c083b8SJagan Teki
19286be7408SClément Péron&r_ir {
19386be7408SClément Péron	status = "okay";
19486be7408SClément Péron};
19586be7408SClément Péron
196f0c083b8SJagan Teki&uart0 {
197f0c083b8SJagan Teki	pinctrl-names = "default";
198f0c083b8SJagan Teki	pinctrl-0 = <&uart0_ph_pins>;
199f0c083b8SJagan Teki	status = "okay";
200f0c083b8SJagan Teki};
2019b8d1ccdSChen-Yu Tsai
2029b8d1ccdSChen-Yu Tsai&usb2otg {
2039b8d1ccdSChen-Yu Tsai	dr_mode = "otg";
2049b8d1ccdSChen-Yu Tsai	status = "okay";
2059b8d1ccdSChen-Yu Tsai};
2069b8d1ccdSChen-Yu Tsai
2079b8d1ccdSChen-Yu Tsai&usb2phy {
2089b8d1ccdSChen-Yu Tsai	usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */
2099b8d1ccdSChen-Yu Tsai	usb0_vbus-supply = <&reg_vcc5v>;
2109b8d1ccdSChen-Yu Tsai	usb3_vbus-supply = <&reg_vcc5v>;
2119b8d1ccdSChen-Yu Tsai	status = "okay";
2129b8d1ccdSChen-Yu Tsai};
213