1bdecc9cbSJagan Teki/*
2bdecc9cbSJagan Teki * Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
3bdecc9cbSJagan Teki *
4bdecc9cbSJagan Teki * This file is dual-licensed: you can use it either under the terms
5bdecc9cbSJagan Teki * of the GPL or the X11 license, at your option. Note that this dual
6bdecc9cbSJagan Teki * licensing only applies to this file, and not this project as a
7bdecc9cbSJagan Teki * whole.
8bdecc9cbSJagan Teki *
9bdecc9cbSJagan Teki *  a) This library is free software; you can redistribute it and/or
10bdecc9cbSJagan Teki *     modify it under the terms of the GNU General Public License as
11bdecc9cbSJagan Teki *     published by the Free Software Foundation; either version 2 of the
12bdecc9cbSJagan Teki *     License, or (at your option) any later version.
13bdecc9cbSJagan Teki *
14bdecc9cbSJagan Teki *     This library is distributed in the hope that it will be useful,
15bdecc9cbSJagan Teki *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16bdecc9cbSJagan Teki *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17bdecc9cbSJagan Teki *     GNU General Public License for more details.
18bdecc9cbSJagan Teki *
19bdecc9cbSJagan Teki * Or, alternatively,
20bdecc9cbSJagan Teki *
21bdecc9cbSJagan Teki *  b) Permission is hereby granted, free of charge, to any person
22bdecc9cbSJagan Teki *     obtaining a copy of this software and associated documentation
23bdecc9cbSJagan Teki *     files (the "Software"), to deal in the Software without
24bdecc9cbSJagan Teki *     restriction, including without limitation the rights to use,
25bdecc9cbSJagan Teki *     copy, modify, merge, publish, distribute, sublicense, and/or
26bdecc9cbSJagan Teki *     sell copies of the Software, and to permit persons to whom the
27bdecc9cbSJagan Teki *     Software is furnished to do so, subject to the following
28bdecc9cbSJagan Teki *     conditions:
29bdecc9cbSJagan Teki *
30bdecc9cbSJagan Teki *     The above copyright notice and this permission notice shall be
31bdecc9cbSJagan Teki *     included in all copies or substantial portions of the Software.
32bdecc9cbSJagan Teki *
33bdecc9cbSJagan Teki *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34bdecc9cbSJagan Teki *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35bdecc9cbSJagan Teki *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36bdecc9cbSJagan Teki *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37bdecc9cbSJagan Teki *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38bdecc9cbSJagan Teki *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39bdecc9cbSJagan Teki *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40bdecc9cbSJagan Teki *     OTHER DEALINGS IN THE SOFTWARE.
41bdecc9cbSJagan Teki */
42bdecc9cbSJagan Teki
43bdecc9cbSJagan Teki/dts-v1/;
44bdecc9cbSJagan Teki
45bdecc9cbSJagan Teki#include "sun50i-a64.dtsi"
46bdecc9cbSJagan Teki
47bdecc9cbSJagan Teki#include <dt-bindings/gpio/gpio.h>
48bdecc9cbSJagan Teki
49bdecc9cbSJagan Teki/ {
50bdecc9cbSJagan Teki	model = "OrangePi Win/Win Plus";
51bdecc9cbSJagan Teki	compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
52bdecc9cbSJagan Teki
53bdecc9cbSJagan Teki	aliases {
54bdecc9cbSJagan Teki		serial0 = &uart0;
55bdecc9cbSJagan Teki	};
56bdecc9cbSJagan Teki
57bdecc9cbSJagan Teki	chosen {
58bdecc9cbSJagan Teki		stdout-path = "serial0:115200n8";
59bdecc9cbSJagan Teki	};
60bdecc9cbSJagan Teki};
61bdecc9cbSJagan Teki
62bdecc9cbSJagan Teki&ehci1 {
63bdecc9cbSJagan Teki	status = "okay";
64bdecc9cbSJagan Teki};
65bdecc9cbSJagan Teki
66bdecc9cbSJagan Teki&mmc0 {
67bdecc9cbSJagan Teki	pinctrl-names = "default";
68bdecc9cbSJagan Teki	pinctrl-0 = <&mmc0_pins>;
69e5701010SJagan Teki	vmmc-supply = <&reg_dcdc1>;
70b75cb68dSTuomas Tynkkynen	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
71bdecc9cbSJagan Teki	status = "okay";
72bdecc9cbSJagan Teki};
73bdecc9cbSJagan Teki
74bdecc9cbSJagan Teki&ohci1 {
75bdecc9cbSJagan Teki	status = "okay";
76bdecc9cbSJagan Teki};
77bdecc9cbSJagan Teki
78e5701010SJagan Teki&r_rsb {
79e5701010SJagan Teki	status = "okay";
80e5701010SJagan Teki
81e5701010SJagan Teki	axp803: pmic@3a3 {
82e5701010SJagan Teki		compatible = "x-powers,axp803";
83e5701010SJagan Teki		reg = <0x3a3>;
84e5701010SJagan Teki		interrupt-parent = <&r_intc>;
85e5701010SJagan Teki		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
86e5701010SJagan Teki	};
87e5701010SJagan Teki};
88e5701010SJagan Teki
89e5701010SJagan Teki#include "axp803.dtsi"
90e5701010SJagan Teki
91e5701010SJagan Teki&reg_aldo1 {
92e5701010SJagan Teki	regulator-always-on;
93e5701010SJagan Teki	regulator-min-microvolt = <1800000>;
94e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
95e5701010SJagan Teki	regulator-name = "afvcc-csi";
96e5701010SJagan Teki};
97e5701010SJagan Teki
98e5701010SJagan Teki&reg_aldo2 {
99e5701010SJagan Teki	regulator-always-on;
100e5701010SJagan Teki	regulator-min-microvolt = <1800000>;
101e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
102e5701010SJagan Teki	regulator-name = "vcc-pl";
103e5701010SJagan Teki};
104e5701010SJagan Teki
105e5701010SJagan Teki&reg_aldo3 {
106e5701010SJagan Teki	regulator-always-on;
107e5701010SJagan Teki	regulator-min-microvolt = <3000000>;
108e5701010SJagan Teki	regulator-max-microvolt = <3000000>;
109e5701010SJagan Teki	regulator-name = "vcc-pll-avcc";
110e5701010SJagan Teki};
111e5701010SJagan Teki
112e5701010SJagan Teki&reg_dcdc1 {
113e5701010SJagan Teki	regulator-always-on;
114e5701010SJagan Teki	regulator-min-microvolt = <3300000>;
115e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
116e5701010SJagan Teki	regulator-name = "vcc-3v3";
117e5701010SJagan Teki};
118e5701010SJagan Teki
119e5701010SJagan Teki&reg_dcdc2 {
120e5701010SJagan Teki	regulator-always-on;
121e5701010SJagan Teki	regulator-min-microvolt = <1040000>;
122e5701010SJagan Teki	regulator-max-microvolt = <1300000>;
123e5701010SJagan Teki	regulator-name = "vdd-cpux";
124e5701010SJagan Teki};
125e5701010SJagan Teki
126e5701010SJagan Teki/* DCDC3 is polyphased with DCDC2 */
127e5701010SJagan Teki
128e5701010SJagan Teki&reg_dcdc5 {
129e5701010SJagan Teki	regulator-always-on;
130e5701010SJagan Teki	regulator-min-microvolt = <1500000>;
131e5701010SJagan Teki	regulator-max-microvolt = <1500000>;
132e5701010SJagan Teki	regulator-name = "vcc-dram";
133e5701010SJagan Teki};
134e5701010SJagan Teki
135e5701010SJagan Teki&reg_dcdc6 {
136e5701010SJagan Teki	regulator-always-on;
137e5701010SJagan Teki	regulator-min-microvolt = <1100000>;
138e5701010SJagan Teki	regulator-max-microvolt = <1100000>;
139e5701010SJagan Teki	regulator-name = "vdd-sys";
140e5701010SJagan Teki};
141e5701010SJagan Teki
142e5701010SJagan Teki&reg_dldo1 {
143e5701010SJagan Teki	regulator-min-microvolt = <3300000>;
144e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
145e5701010SJagan Teki	regulator-name = "vcc-hdmi-dsi";
146e5701010SJagan Teki};
147e5701010SJagan Teki
148e5701010SJagan Teki&reg_dldo2 {
149e5701010SJagan Teki	regulator-min-microvolt = <3300000>;
150e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
151e5701010SJagan Teki	regulator-name = "vcc-wifi";
152e5701010SJagan Teki};
153e5701010SJagan Teki
154e5701010SJagan Teki&reg_dldo3 {
155e5701010SJagan Teki	regulator-min-microvolt = <3300000>;
156e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
157e5701010SJagan Teki	regulator-name = "avdd-csi";
158e5701010SJagan Teki};
159e5701010SJagan Teki
160e5701010SJagan Teki&reg_dldo4 {
161e5701010SJagan Teki	regulator-min-microvolt = <3300000>;
162e5701010SJagan Teki	regulator-max-microvolt = <3300000>;
163e5701010SJagan Teki	regulator-name = "vcc-wifi-io";
164e5701010SJagan Teki};
165e5701010SJagan Teki
166e5701010SJagan Teki&reg_eldo1 {
167e5701010SJagan Teki	regulator-min-microvolt = <1800000>;
168e5701010SJagan Teki	regulator-max-microvolt = <1800000>;
169e5701010SJagan Teki	regulator-name = "cpvdd";
170e5701010SJagan Teki};
171e5701010SJagan Teki
172e5701010SJagan Teki&reg_fldo1 {
173e5701010SJagan Teki	regulator-min-microvolt = <1200000>;
174e5701010SJagan Teki	regulator-max-microvolt = <1200000>;
175e5701010SJagan Teki	regulator-name = "vcc-1v2-hsic";
176e5701010SJagan Teki};
177e5701010SJagan Teki
178e5701010SJagan Teki/*
179e5701010SJagan Teki * The A64 chip cannot work without this regulator off, although
180e5701010SJagan Teki * it seems to be only driving the AR100 core.
181e5701010SJagan Teki * Maybe we don't still know well about CPUs domain.
182e5701010SJagan Teki */
183e5701010SJagan Teki&reg_fldo2 {
184e5701010SJagan Teki	regulator-always-on;
185e5701010SJagan Teki	regulator-min-microvolt = <1100000>;
186e5701010SJagan Teki	regulator-max-microvolt = <1100000>;
187e5701010SJagan Teki	regulator-name = "vdd-cpus";
188e5701010SJagan Teki};
189e5701010SJagan Teki
190e5701010SJagan Teki&reg_rtc_ldo {
191e5701010SJagan Teki	regulator-name = "vcc-rtc";
192e5701010SJagan Teki};
193e5701010SJagan Teki
1945cbef9f9SIcenowy Zheng&simplefb_hdmi {
1955cbef9f9SIcenowy Zheng	vcc-hdmi-supply = <&reg_dldo1>;
1965cbef9f9SIcenowy Zheng};
1975cbef9f9SIcenowy Zheng
198bdecc9cbSJagan Teki&uart0 {
199bdecc9cbSJagan Teki	pinctrl-names = "default";
200bdecc9cbSJagan Teki	pinctrl-0 = <&uart0_pins_a>;
201bdecc9cbSJagan Teki	status = "okay";
202bdecc9cbSJagan Teki};
203bdecc9cbSJagan Teki
204bdecc9cbSJagan Teki&usbphy {
205bdecc9cbSJagan Teki	status = "okay";
206bdecc9cbSJagan Teki};
207bdecc9cbSJagan Teki
208