14c0a8475SIcenowy Zheng/*
24c0a8475SIcenowy Zheng * Copyright 2017 Icenowy Zheng <icenowy@aosc.xyz>
34c0a8475SIcenowy Zheng *
44c0a8475SIcenowy Zheng * This file is dual-licensed: you can use it either under the terms
54c0a8475SIcenowy Zheng * of the GPL or the X11 license, at your option. Note that this dual
64c0a8475SIcenowy Zheng * licensing only applies to this file, and not this project as a
74c0a8475SIcenowy Zheng * whole.
84c0a8475SIcenowy Zheng *
94c0a8475SIcenowy Zheng *  a) This file is free software; you can redistribute it and/or
104c0a8475SIcenowy Zheng *     modify it under the terms of the GNU General Public License as
114c0a8475SIcenowy Zheng *     published by the Free Software Foundation; either version 2 of the
124c0a8475SIcenowy Zheng *     License, or (at your option) any later version.
134c0a8475SIcenowy Zheng *
144c0a8475SIcenowy Zheng *     This file is distributed in the hope that it will be useful,
154c0a8475SIcenowy Zheng *     but WITHOUT ANY WARRANTY; without even the implied warranty of
164c0a8475SIcenowy Zheng *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
174c0a8475SIcenowy Zheng *     GNU General Public License for more details.
184c0a8475SIcenowy Zheng *
194c0a8475SIcenowy Zheng * Or, alternatively,
204c0a8475SIcenowy Zheng *
214c0a8475SIcenowy Zheng *  b) Permission is hereby granted, free of charge, to any person
224c0a8475SIcenowy Zheng *     obtaining a copy of this software and associated documentation
234c0a8475SIcenowy Zheng *     files (the "Software"), to deal in the Software without
244c0a8475SIcenowy Zheng *     restriction, including without limitation the rights to use,
254c0a8475SIcenowy Zheng *     copy, modify, merge, publish, distribute, sublicense, and/or
264c0a8475SIcenowy Zheng *     sell copies of the Software, and to permit persons to whom the
274c0a8475SIcenowy Zheng *     Software is furnished to do so, subject to the following
284c0a8475SIcenowy Zheng *     conditions:
294c0a8475SIcenowy Zheng *
304c0a8475SIcenowy Zheng *     The above copyright notice and this permission notice shall be
314c0a8475SIcenowy Zheng *     included in all copies or substantial portions of the Software.
324c0a8475SIcenowy Zheng *
334c0a8475SIcenowy Zheng *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
344c0a8475SIcenowy Zheng *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
354c0a8475SIcenowy Zheng *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
364c0a8475SIcenowy Zheng *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
374c0a8475SIcenowy Zheng *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
384c0a8475SIcenowy Zheng *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
394c0a8475SIcenowy Zheng *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
404c0a8475SIcenowy Zheng *     OTHER DEALINGS IN THE SOFTWARE.
414c0a8475SIcenowy Zheng */
424c0a8475SIcenowy Zheng
434c0a8475SIcenowy Zheng/*
444c0a8475SIcenowy Zheng * AXP803 Integrated Power Management Chip
454c0a8475SIcenowy Zheng * http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf
464c0a8475SIcenowy Zheng */
474c0a8475SIcenowy Zheng
484c0a8475SIcenowy Zheng&axp803 {
494c0a8475SIcenowy Zheng	interrupt-controller;
504c0a8475SIcenowy Zheng	#interrupt-cells = <1>;
514c0a8475SIcenowy Zheng
5274221150SOskari Lemmela	ac_power_supply: ac-power-supply {
5374221150SOskari Lemmela		compatible = "x-powers,axp803-ac-power-supply",
5474221150SOskari Lemmela			     "x-powers,axp813-ac-power-supply";
5574221150SOskari Lemmela		status = "disabled";
5674221150SOskari Lemmela	};
5774221150SOskari Lemmela
5874221150SOskari Lemmela	axp_adc: adc {
5974221150SOskari Lemmela		compatible = "x-powers,axp803-adc", "x-powers,axp813-adc";
6074221150SOskari Lemmela		#io-channel-cells = <1>;
6174221150SOskari Lemmela	};
6274221150SOskari Lemmela
6374221150SOskari Lemmela	axp_gpio: gpio {
6474221150SOskari Lemmela		compatible = "x-powers,axp803-gpio", "x-powers,axp813-gpio";
6574221150SOskari Lemmela		gpio-controller;
6674221150SOskari Lemmela		#gpio-cells = <2>;
6774221150SOskari Lemmela
6874221150SOskari Lemmela		gpio0_ldo: gpio0-ldo {
6974221150SOskari Lemmela			pins = "GPIO0";
7074221150SOskari Lemmela			function = "ldo";
7174221150SOskari Lemmela		};
7274221150SOskari Lemmela
7374221150SOskari Lemmela		gpio1_ldo: gpio1-ldo {
7474221150SOskari Lemmela			pins = "GPIO1";
7574221150SOskari Lemmela			function = "ldo";
7674221150SOskari Lemmela		};
7774221150SOskari Lemmela	};
7874221150SOskari Lemmela
7974221150SOskari Lemmela	battery_power_supply: battery-power-supply {
8074221150SOskari Lemmela		compatible = "x-powers,axp803-battery-power-supply",
8174221150SOskari Lemmela			     "x-powers,axp813-battery-power-supply";
8274221150SOskari Lemmela		status = "disabled";
8374221150SOskari Lemmela	};
8474221150SOskari Lemmela
854c0a8475SIcenowy Zheng	regulators {
864c0a8475SIcenowy Zheng		/* Default work frequency for buck regulators */
874c0a8475SIcenowy Zheng		x-powers,dcdc-freq = <3000>;
884c0a8475SIcenowy Zheng
894c0a8475SIcenowy Zheng		reg_aldo1: aldo1 {
904c0a8475SIcenowy Zheng			regulator-name = "aldo1";
914c0a8475SIcenowy Zheng		};
924c0a8475SIcenowy Zheng
934c0a8475SIcenowy Zheng		reg_aldo2: aldo2 {
944c0a8475SIcenowy Zheng			regulator-name = "aldo2";
954c0a8475SIcenowy Zheng		};
964c0a8475SIcenowy Zheng
974c0a8475SIcenowy Zheng		reg_aldo3: aldo3 {
984c0a8475SIcenowy Zheng			regulator-name = "aldo3";
994c0a8475SIcenowy Zheng		};
1004c0a8475SIcenowy Zheng
1014c0a8475SIcenowy Zheng		reg_dc1sw: dc1sw {
1024c0a8475SIcenowy Zheng			regulator-name = "dc1sw";
1034c0a8475SIcenowy Zheng		};
1044c0a8475SIcenowy Zheng
1054c0a8475SIcenowy Zheng		reg_dcdc1: dcdc1 {
1064c0a8475SIcenowy Zheng			regulator-name = "dcdc1";
1074c0a8475SIcenowy Zheng		};
1084c0a8475SIcenowy Zheng
1094c0a8475SIcenowy Zheng		reg_dcdc2: dcdc2 {
1104c0a8475SIcenowy Zheng			regulator-name = "dcdc2";
1114c0a8475SIcenowy Zheng		};
1124c0a8475SIcenowy Zheng
1134c0a8475SIcenowy Zheng		reg_dcdc3: dcdc3 {
1144c0a8475SIcenowy Zheng			regulator-name = "dcdc3";
1154c0a8475SIcenowy Zheng		};
1164c0a8475SIcenowy Zheng
1174c0a8475SIcenowy Zheng		reg_dcdc4: dcdc4 {
1184c0a8475SIcenowy Zheng			regulator-name = "dcdc4";
1194c0a8475SIcenowy Zheng		};
1204c0a8475SIcenowy Zheng
1214c0a8475SIcenowy Zheng		reg_dcdc5: dcdc5 {
1224c0a8475SIcenowy Zheng			regulator-name = "dcdc5";
1234c0a8475SIcenowy Zheng		};
1244c0a8475SIcenowy Zheng
1254c0a8475SIcenowy Zheng		reg_dcdc6: dcdc6 {
1264c0a8475SIcenowy Zheng			regulator-name = "dcdc6";
1274c0a8475SIcenowy Zheng		};
1284c0a8475SIcenowy Zheng
1294c0a8475SIcenowy Zheng		reg_dldo1: dldo1 {
1304c0a8475SIcenowy Zheng			regulator-name = "dldo1";
1314c0a8475SIcenowy Zheng		};
1324c0a8475SIcenowy Zheng
1334c0a8475SIcenowy Zheng		reg_dldo2: dldo2 {
1344c0a8475SIcenowy Zheng			regulator-name = "dldo2";
1354c0a8475SIcenowy Zheng		};
1364c0a8475SIcenowy Zheng
1374c0a8475SIcenowy Zheng		reg_dldo3: dldo3 {
1384c0a8475SIcenowy Zheng			regulator-name = "dldo3";
1394c0a8475SIcenowy Zheng		};
1404c0a8475SIcenowy Zheng
1414c0a8475SIcenowy Zheng		reg_dldo4: dldo4 {
1424c0a8475SIcenowy Zheng			regulator-name = "dldo4";
1434c0a8475SIcenowy Zheng		};
1444c0a8475SIcenowy Zheng
1454c0a8475SIcenowy Zheng		reg_eldo1: eldo1 {
1464c0a8475SIcenowy Zheng			regulator-name = "eldo1";
1474c0a8475SIcenowy Zheng		};
1484c0a8475SIcenowy Zheng
1494c0a8475SIcenowy Zheng		reg_eldo2: eldo2 {
1504c0a8475SIcenowy Zheng			regulator-name = "eldo2";
1514c0a8475SIcenowy Zheng		};
1524c0a8475SIcenowy Zheng
1534c0a8475SIcenowy Zheng		reg_eldo3: eldo3 {
1544c0a8475SIcenowy Zheng			regulator-name = "eldo3";
1554c0a8475SIcenowy Zheng		};
1564c0a8475SIcenowy Zheng
1574c0a8475SIcenowy Zheng		reg_fldo1: fldo1 {
1584c0a8475SIcenowy Zheng			regulator-name = "fldo1";
1594c0a8475SIcenowy Zheng		};
1604c0a8475SIcenowy Zheng
1614c0a8475SIcenowy Zheng		reg_fldo2: fldo2 {
1624c0a8475SIcenowy Zheng			regulator-name = "fldo2";
1634c0a8475SIcenowy Zheng		};
1644c0a8475SIcenowy Zheng
1654c0a8475SIcenowy Zheng		reg_ldo_io0: ldo-io0 {
1664c0a8475SIcenowy Zheng			regulator-name = "ldo-io0";
1674c0a8475SIcenowy Zheng			status = "disabled";
1684c0a8475SIcenowy Zheng		};
1694c0a8475SIcenowy Zheng
1704c0a8475SIcenowy Zheng		reg_ldo_io1: ldo-io1 {
1714c0a8475SIcenowy Zheng			regulator-name = "ldo-io1";
1724c0a8475SIcenowy Zheng			status = "disabled";
1734c0a8475SIcenowy Zheng		};
1744c0a8475SIcenowy Zheng
1754c0a8475SIcenowy Zheng		reg_rtc_ldo: rtc-ldo {
1764c0a8475SIcenowy Zheng			/* RTC_LDO is a fixed, always-on regulator */
1774c0a8475SIcenowy Zheng			regulator-always-on;
1784c0a8475SIcenowy Zheng			regulator-min-microvolt = <3000000>;
1794c0a8475SIcenowy Zheng			regulator-max-microvolt = <3000000>;
1804c0a8475SIcenowy Zheng			regulator-name = "rtc-ldo";
1814c0a8475SIcenowy Zheng		};
18261e9e15fSJagan Teki
18361e9e15fSJagan Teki		reg_drivevbus: drivevbus {
18461e9e15fSJagan Teki			regulator-name = "drivevbus";
18561e9e15fSJagan Teki			status = "disabled";
18661e9e15fSJagan Teki		};
1874c0a8475SIcenowy Zheng	};
1884c0a8475SIcenowy Zheng};
189