/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

/* Stub regulators */
/ {

	/*
	 * RPMh does not provide support for PM8998 S4 because it is always-on
	 * at 1.8 V in auto mode.  Therefore, use a stub regulator for S4.
	 */
	pm8998_s4: regulator-pm8998-s4 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s4";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};
};

&soc {
	/* RPMh regulators: */

	/* PM8998 S1 = VDD_EBI supply */
	rpmh-regulator-ebilvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ebi.lvl";
		pm8998_s1_level: regulator-s1 {
			regulator-name = "pm8998_s1_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};

		ebi_cdev: regulator-cdev {
			compatible = "qcom,rpmh-reg-cdev";
			mboxes = <&qmp_aop 0>;
			qcom,reg-resource-name = "ebi";
			#cooling-cells = <2>;
		};
	};

	rpmh-regulator-smpa2 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa2";
		pm8998_s2: regulator-s2 {
			regulator-name = "pm8998_s2";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1100000>;
			qcom,init-voltage = <1100000>;
		};
	};

	rpmh-regulator-smpa3 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa3";
		pm8998_s3: regulator-s3 {
			regulator-name = "pm8998_s3";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1352000>;
			regulator-max-microvolt = <1352000>;
			qcom,init-voltage = <1352000>;
		};
	};

	rpmh-regulator-smpa5 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa5";
		pm8998_s5: regulator-s5 {
			regulator-name = "pm8998_s5";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1904000>;
			regulator-max-microvolt = <2040000>;
			qcom,init-voltage = <1904000>;
		};
	};

	/* PM8998 S6 = VDD_MX supply */
	rpmh-regulator-mxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "mx.lvl";
		pm8998_s6_level: regulator-s6-level {
			regulator-name = "pm8998_s6_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};

		pm8998_s6_level_ao: regulator-s6-level-ao {
			regulator-name = "pm8998_s6_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};

		mx_cdev: mx-cdev-lvl {
			compatible = "qcom,regulator-cooling-device";
			regulator-cdev-supply = <&pm8998_s6_level>;
			regulator-levels = <RPMH_REGULATOR_LEVEL_NOM
					RPMH_REGULATOR_LEVEL_OFF>;
			#cooling-cells = <2>;
		};
	};

	rpmh-regulator-smpa7 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa7";
		pm8998_s7: regulator-s7 {
			regulator-name = "pm8998_s7";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <1028000>;
			qcom,init-voltage = <900000>;
		};
	};

	/* PM8998 S9 + S8 = VDD_CX supply */
	rpmh-regulator-cxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "cx.lvl";
		pm8998_s9_level-parent-supply = <&pm8998_s6_level>;
		pm8998_s9_level_ao-parent-supply = <&pm8998_s6_level_ao>;
		pm8998_s9_level: regulator-s9-level {
			regulator-name = "pm8998_s9_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};

		pm8998_s9_level_ao: regulator-s9-level-ao {
			regulator-name = "pm8998_s9_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};

		cx_cdev: regulator-cdev {
			compatible = "qcom,rpmh-reg-cdev";
			mboxes = <&qmp_aop 0>;
			qcom,reg-resource-name = "cx";
			#cooling-cells = <2>;
		};
	};

	rpmh-regulator-ldoa1 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa1";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		proxy-supply = <&pm8998_l1>;
		pm8998_l1: regulator-l1 {
			regulator-name = "pm8998_l1";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <72000>;
			qcom,init-voltage = <880000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};

		pm8998_l1_ao: regulator-l1-ao {
			regulator-name = "pm8998_l1_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
			qcom,init-voltage = <880000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};

		regulator-l1-so {
			regulator-name = "pm8998_l1_so";
			qcom,set = <RPMH_REGULATOR_SET_SLEEP>;
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
			qcom,init-voltage = <880000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
			qcom,init-enable = <0>;
		};
	};

	rpmh-regulator-ldoa2 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa2";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 30000>;
		pm8998_l2: regulator-l2 {
			regulator-name = "pm8998_l2";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,init-voltage = <1200000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
			regulator-always-on;
		};
	};

	rpmh-regulator-ldoa3 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa3";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l3: regulator-l3 {
			regulator-name = "pm8998_l3";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
			qcom,init-voltage = <1000000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	/* PM8998 L4 = VDD_SSC_MX supply */
	rpmh-regulator-lmxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "lmx.lvl";
		pm8998_l4_level: regulator-l4-level {
			regulator-name = "pm8998_l4_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	rpmh-regulator-ldoa5 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa5";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l5: regulator-l5 {
			regulator-name = "pm8998_l5";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			qcom,init-voltage = <800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa6 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa6";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l6: regulator-l6 {
			regulator-name = "pm8998_l6";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1856000>;
			regulator-max-microvolt = <1856000>;
			qcom,init-voltage = <1856000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa7 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa7";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l7: regulator-l7 {
			regulator-name = "pm8998_l7";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa8 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa8";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l8: regulator-l8 {
			regulator-name = "pm8998_l8";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1248000>;
			qcom,init-voltage = <1200000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa9 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa9";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l9: regulator-l9 {
			regulator-name = "pm8998_l9";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			qcom,init-voltage = <1704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa10 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa10";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l10: regulator-l10 {
			regulator-name = "pm8998_l10";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			qcom,init-voltage = <1704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa11 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa11";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l11: regulator-l11 {
			regulator-name = "pm8998_l11";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1048000>;
			qcom,init-voltage = <1000000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa12 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa12";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l12: regulator-l12 {
			regulator-name = "pm8998_l12";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa13 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa13";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		pm8998_l13: regulator-l13 {
			regulator-name = "pm8998_l13";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			qcom,init-voltage = <1800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa14 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa14";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		proxy-supply = <&pm8998_l14>;
		pm8998_l14: regulator-l14 {
			regulator-name = "pm8998_l14";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <115000>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1880000>;
			qcom,init-voltage = <1800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa15 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa15";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l15: regulator-l15 {
			regulator-name = "pm8998_l15";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa16 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa16";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l16: regulator-l16 {
			regulator-name = "pm8998_l16";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2704000>;
			qcom,init-voltage = <2704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa17 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa17";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l17: regulator-l17 {
			regulator-name = "pm8998_l17";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1304000>;
			regulator-max-microvolt = <1304000>;
			qcom,init-voltage = <1304000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa18 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa18";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l18: regulator-l18 {
			regulator-name = "pm8998_l18";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			qcom,init-voltage = <2704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa19 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa19";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l19: regulator-l19 {
			regulator-name = "pm8998_l19";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3104000>;
			qcom,init-voltage = <2856000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa20 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa20";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		pm8998_l20: regulator-l20 {
			regulator-name = "pm8998_l20";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			qcom,init-voltage = <2704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa21 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa21";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		pm8998_l21: regulator-l21 {
			regulator-name = "pm8998_l21";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			qcom,init-voltage = <2704000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa22 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa22";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		pm8998_l22: regulator-l22 {
			regulator-name = "pm8998_l22";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2864000>;
			regulator-max-microvolt = <3312000>;
			qcom,init-voltage = <2864000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa23 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa23";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l23: regulator-l23 {
			regulator-name = "pm8998_l23";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			qcom,init-voltage = <3000000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa24 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa24";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 10000>;
		pm8998_l24-parent-supply = <&pm8998_l12>;
		pm8998_l24: regulator-l24 {
			regulator-name = "pm8998_l24";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <3088000>;
			regulator-max-microvolt = <3088000>;
			qcom,init-voltage = <3088000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa25 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa25";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l25: regulator-l25 {
			regulator-name = "pm8998_l25";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			qcom,init-voltage = <3000000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldoa26 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa26";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		proxy-supply = <&pm8998_l26>;
		pm8998_l26: regulator-l26 {
			regulator-name = "pm8998_l26";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <43600>;
			qcom,init-voltage = <1200000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	/* PM8998 L27 = VDD_SSC_CX supply */
	rpmh-regulator-lcxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "lcx.lvl";
		pm8998_l27_level: regulator-l27-level {
			regulator-name = "pm8998_l27_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	rpmh-regulator-ldoa28 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldoa28";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm8998_l28: regulator-l28 {
			regulator-name = "pm8998_l28";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3008000>;
			qcom,init-voltage = <2856000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-vsa1 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "vsa1";
		pm8998_lvs1: regulator-lvs1 {
			regulator-name = "pm8998_lvs1";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
	};

	rpmh-regulator-vsa2 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "vsa2";
		pm8998_lvs2: regulator-lvs2 {
			regulator-name = "pm8998_lvs2";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
	};

	rpmh-regulator-bobb1 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "bobb1";
		qcom,send-defaults;

		pmi8998_bob: regulator-bob {
			regulator-name = "pmi8998_bob";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <3312000>;
			regulator-max-microvolt = <3600000>;
			qcom,init-voltage = <3312000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_BOB_PASS>;
		};

		pmi8998_bob_ao: regulator-bob-ao {
			regulator-name = "pmi8998_bob_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt = <3312000>;
			regulator-max-microvolt = <3600000>;
			qcom,init-voltage = <3312000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_BOB_AUTO>;
		};
	};

	/* PM8005 S1 + S4 = 2 phase VDD_GFX supply */
	rpmh-regulator-gfxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "gfx.lvl";
		pm8005_s1_level: regulator-s1-level {
			regulator-name = "pm8005_s1_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_MIN_SVS>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_MIN_SVS>;
		};
	};

	/* PM8005 S2 = VDD_MODEM supply */
	rpmh-regulator-msslvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "mss.lvl";
		pm8005_s2_level: regulator-s2-level {
			regulator-name = "pm8005_s2_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	rpmh-regulator-smpc3 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpc3";
		pm8005_s3: regulator-s3 {
			regulator-name = "pm8005_s3";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <600000>;
			qcom,init-voltage = <600000>;
		};
	};

	refgen: refgen-regulator@ff1000 {
		compatible = "qcom,refgen-regulator";
		reg = <0xff1000 0x60>;
		regulator-name = "refgen";
		regulator-enable-ramp-delay = <5>;
		status = "disabled";
		proxy-supply = <&refgen>;
		qcom,proxy-consumer-enable;
	};
};
