/* Copyright (c) 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  PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

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

/* Stub regulators */

/ {
	apc0_pwrcl_vreg: regulator-pwrcl {
		compatible = "qcom,stub-regulator";
		regulator-name = "apc0_pwrcl_corner";
		regulator-min-microvolt = <1>;
		regulator-max-microvolt = <7>;
	};

	apc0_l3_vreg: regulator-l3 {
		compatible = "qcom,stub-regulator";
		regulator-name = "apc0_l3_corner";
		regulator-min-microvolt = <1>;
		regulator-max-microvolt = <7>;
	};

	apc1_perfcl_vreg: regulator-perfcl {
		compatible = "qcom,stub-regulator";
		regulator-name = "apc1_perfcl_corner";
		regulator-min-microvolt = <1>;
		regulator-max-microvolt = <7>;
	};
};

&soc {
	/* RPMh regulators: */
	rpmh-regulator-smpa4 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa4";
		pm660_s4: regulator-pm660-s4 {
			regulator-name = "pm660_s4";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1808000>;
			regulator-max-microvolt = <2040000>;
			qcom,init-voltage = <1808000>;
		};
	};

	/* pm660 S5 - VDD_MODEM supply */
	rpmh-regulator-modemlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "mss.lvl";
		pm660_s5_level: regulator-pm660-s5 {
			regulator-name = "pm660_s5_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	rpmh-regulator-smpa6 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "smpa6";
		pm660_s6: regulator-pm660-s6 {
			regulator-name = "pm660_s6";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1224000>;
			regulator-max-microvolt = <1352000>;
			qcom,init-voltage = <1224000>;
		};
	};

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

		pm660l_s1_level_ao: regulator-pm660l-s1-level-ao {
			regulator-name = "pm660l_s1_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 = <&pm660l_s1_level>;
			regulator-levels = <RPMH_REGULATOR_LEVEL_NOM
					RPMH_REGULATOR_LEVEL_OFF>;
			#cooling-cells = <2>;
		};
	};

	/* pm660l S2 - VDD_GFX supply */
	rpmh-regulator-gfxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "gfx.lvl";
		pm660l_s2_level: regulator-pm660l-s2 {
			regulator-name = "pm660l_s2_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>;
		};
	};

	/* pm660l S3 + S4 - VDD_CX supply */
	rpmh-regulator-cxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "cx.lvl";
		pm660l_s3_level-parent-supply = <&pm660l_s1_level>;
		pm660l_s3_level_ao-parent-supply = <&pm660l_s1_level_ao>;
		pm660l_s3_level: regulator-pm660l-s3-level {
			regulator-name = "pm660l_s3_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)>;
		};

		pm660l_s3_level_ao: regulator-pm660l-s3-level-ao {
			regulator-name = "pm660l_s3_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 = <&pm660_l1>;
		pm660_l1: regulator-pm660-l1 {
			regulator-name = "pm660_l1";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1250000>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <43600>;
			qcom,init-voltage = <1200000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	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 1>;
		pm660_l2: regulator-pm660-l2 {
			regulator-name = "pm660_l2";
			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>;
		};
	};

	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>;
		pm660_l3: regulator-pm660-l3 {
			regulator-name = "pm660_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>;
		};
	};

	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>;
		pm660_l5: regulator-pm660-l5 {
			regulator-name = "pm660_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>;
		pm660_l6: regulator-pm660-l6 {
			regulator-name = "pm660_l6";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1248000>;
			regulator-max-microvolt = <1304000>;
			qcom,init-voltage = <1248000>;
			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>;
		pm660_l7: regulator-pm660-l7 {
			regulator-name = "pm660_l7";
			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>;
		};
	};

	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>;
		pm660_l8: regulator-pm660-l8 {
			regulator-name = "pm660_l8";
			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-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>;
		pm660_l9: regulator-pm660-l9 {
			regulator-name = "pm660_l9";
			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-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>;
		pm660_l10: regulator-pm660-l10 {
			regulator-name = "pm660_l10";
			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-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>;
		proxy-supply = <&pm660_l11>;
		pm660_l11: regulator-pm660-l11 {
			regulator-name = "pm660_l11";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <115000>;
			qcom,init-voltage = <1800000>;
			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>;
		pm660_l12: regulator-pm660-l12 {
			regulator-name = "pm660_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 1>;
		pm660_l13: regulator-pm660-l13 {
			regulator-name = "pm660_l13";
			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-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 1>;
		pm660_l14: regulator-pm660-l14 {
			regulator-name = "pm660_l14";
			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-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>;
		pm660_l15: regulator-pm660-l15 {
			regulator-name = "pm660_l15";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			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>;
		pm660_l16: regulator-pm660-l16 {
		regulator-name = "pm660_l16";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
			qcom,init-voltage = <2700000>;
			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>;
		pm660_l17: regulator-pm660-l17 {
			regulator-name = "pm660_l17";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <1800000>;
			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>;
		pm660_l19: regulator-pm660-l19 {
			regulator-name = "pm660_l19";
			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-ldob1 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldob1";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		proxy-supply = <&pm660l_l1>;
		pm660l_l1: regulator-pm660l-l1 {
			regulator-name = "pm660l_l1";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <900000>;
			qcom,proxy-consumer-enable;
			qcom,proxy-consumer-current = <72000>;
			qcom,init-voltage = <880000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

	rpmh-regulator-ldob2 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldob2";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm660l_l2: regulator-pm660l-l2 {
			regulator-name = "pm660l_l2";
			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-ldob3 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "ldob3";
		qcom,supported-modes =
			<RPMH_REGULATOR_MODE_LDO_LPM
			 RPMH_REGULATOR_MODE_LDO_HPM>;
		qcom,mode-threshold-currents = <0 1>;
		pm660l_l3: regulator-pm660l-l3 {
			regulator-name = "pm660l_l3";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <3008000>;
			qcom,init-voltage = <2850000>;
			qcom,init-mode = <RPMH_REGULATOR_MODE_LDO_LPM>;
		};
	};

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

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

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

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

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

	/* pm660l L9 = VDD_LPI_CX supply */
	rpmh-regulator-lcxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "lcx.lvl";
		pm660l_l9_level: regulator-pm660l-l9-level {
			regulator-name = "pm660l_l9_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	/* pm660l L10 = VDD_LPI_MX supply */
	rpmh-regulator-lmxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "lmx.lvl";
		pm660l_l10_level: regulator-pm660l-l10-level {
			regulator-name = "pm660l_l10_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
			regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
		};
	};

	rpmh-regulator-bobb1 {
		compatible = "qcom,rpmh-vrm-regulator";
		mboxes = <&apps_rsc 0>;
		qcom,resource-name = "bobb1";
		pm660l_bob: regulator-pm660l-bob {
			regulator-name = "pm660l_bob";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt = <3312000>;
			regulator-max-microvolt = <3312000>;
			qcom,init-voltage = <3312000>;
		};
	};

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