1/*
2 * Copyright 2017 Icenowy Zheng <icenowy@aosc.xyz>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 *  a) This file is free software; you can redistribute it and/or
10 *     modify it under the terms of the GNU General Public License as
11 *     published by the Free Software Foundation; either version 2 of the
12 *     License, or (at your option) any later version.
13 *
14 *     This file is distributed in the hope that it will be useful,
15 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *     GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 *  b) Permission is hereby granted, free of charge, to any person
22 *     obtaining a copy of this software and associated documentation
23 *     files (the "Software"), to deal in the Software without
24 *     restriction, including without limitation the rights to use,
25 *     copy, modify, merge, publish, distribute, sublicense, and/or
26 *     sell copies of the Software, and to permit persons to whom the
27 *     Software is furnished to do so, subject to the following
28 *     conditions:
29 *
30 *     The above copyright notice and this permission notice shall be
31 *     included in all copies or substantial portions of the Software.
32 *
33 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 *     OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * AXP803 Integrated Power Management Chip
45 * http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf
46 */
47
48&axp803 {
49	interrupt-controller;
50	#interrupt-cells = <1>;
51
52	ac_power_supply: ac-power-supply {
53		compatible = "x-powers,axp803-ac-power-supply",
54			     "x-powers,axp813-ac-power-supply";
55		status = "disabled";
56	};
57
58	axp_adc: adc {
59		compatible = "x-powers,axp803-adc", "x-powers,axp813-adc";
60		#io-channel-cells = <1>;
61	};
62
63	axp_gpio: gpio {
64		compatible = "x-powers,axp803-gpio", "x-powers,axp813-gpio";
65		gpio-controller;
66		#gpio-cells = <2>;
67
68		gpio0_ldo: gpio0-ldo {
69			pins = "GPIO0";
70			function = "ldo";
71		};
72
73		gpio1_ldo: gpio1-ldo {
74			pins = "GPIO1";
75			function = "ldo";
76		};
77	};
78
79	battery_power_supply: battery-power-supply {
80		compatible = "x-powers,axp803-battery-power-supply",
81			     "x-powers,axp813-battery-power-supply";
82		status = "disabled";
83	};
84
85	regulators {
86		/* Default work frequency for buck regulators */
87		x-powers,dcdc-freq = <3000>;
88
89		reg_aldo1: aldo1 {
90			regulator-name = "aldo1";
91		};
92
93		reg_aldo2: aldo2 {
94			regulator-name = "aldo2";
95		};
96
97		reg_aldo3: aldo3 {
98			regulator-name = "aldo3";
99		};
100
101		reg_dc1sw: dc1sw {
102			regulator-name = "dc1sw";
103		};
104
105		reg_dcdc1: dcdc1 {
106			regulator-name = "dcdc1";
107		};
108
109		reg_dcdc2: dcdc2 {
110			regulator-name = "dcdc2";
111		};
112
113		reg_dcdc3: dcdc3 {
114			regulator-name = "dcdc3";
115		};
116
117		reg_dcdc4: dcdc4 {
118			regulator-name = "dcdc4";
119		};
120
121		reg_dcdc5: dcdc5 {
122			regulator-name = "dcdc5";
123		};
124
125		reg_dcdc6: dcdc6 {
126			regulator-name = "dcdc6";
127		};
128
129		reg_dldo1: dldo1 {
130			regulator-name = "dldo1";
131		};
132
133		reg_dldo2: dldo2 {
134			regulator-name = "dldo2";
135		};
136
137		reg_dldo3: dldo3 {
138			regulator-name = "dldo3";
139		};
140
141		reg_dldo4: dldo4 {
142			regulator-name = "dldo4";
143		};
144
145		reg_eldo1: eldo1 {
146			regulator-name = "eldo1";
147		};
148
149		reg_eldo2: eldo2 {
150			regulator-name = "eldo2";
151		};
152
153		reg_eldo3: eldo3 {
154			regulator-name = "eldo3";
155		};
156
157		reg_fldo1: fldo1 {
158			regulator-name = "fldo1";
159		};
160
161		reg_fldo2: fldo2 {
162			regulator-name = "fldo2";
163		};
164
165		reg_ldo_io0: ldo-io0 {
166			regulator-name = "ldo-io0";
167			status = "disabled";
168		};
169
170		reg_ldo_io1: ldo-io1 {
171			regulator-name = "ldo-io1";
172			status = "disabled";
173		};
174
175		reg_rtc_ldo: rtc-ldo {
176			/* RTC_LDO is a fixed, always-on regulator */
177			regulator-always-on;
178			regulator-min-microvolt = <3000000>;
179			regulator-max-microvolt = <3000000>;
180			regulator-name = "rtc-ldo";
181		};
182
183		reg_drivevbus: drivevbus {
184			regulator-name = "drivevbus";
185			status = "disabled";
186		};
187	};
188};
189