/* Copyright (c) 2016, 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/regulator/qcom,rpmh-regulator.h>

/* Stub regulators */
/ {
	pm8998_s1: regulator-pm8998-s1 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s1";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <800000>;
		regulator-max-microvolt = <800000>;
	};

	pm8998_s2: regulator-pm8998-s2 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s2";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <1100000>;
		regulator-max-microvolt = <1100000>;
	};

	pm8998_s3: regulator-pm8998-s3 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s3";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <1352000>;
		regulator-max-microvolt = <1352000>;
	};

	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>;
	};

	pm8998_s5: regulator-pm8998-s5 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s5";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <1904000>;
		regulator-max-microvolt = <2040000>;
	};

	/* PM8998 S6 = VDD_MX supply */
	pm8998_s6_level: regulator-pm8998-s6-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s6_level";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_s6_level_ao: regulator-pm8998-s6-level-ao {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s6_level_ao";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_s7: regulator-pm8998-s7 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s7";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1028000>;
	};

	/* PM8998 S9 + S8 = VDD_CX supply */
	pm8998_s9_level: regulator-pm8998-s9-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s9_level";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_s9_level_ao: regulator-pm8998-s9-level-ao {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_s9_level_ao";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_l1: regulator-pm8998-l1 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l1";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <880000>;
		regulator-max-microvolt = <880000>;
	};

	pm8998_l2: regulator-pm8998-l2 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l2";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	pm8998_l3: regulator-pm8998-l3 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l3";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <1000000>;
	};

	/* PM8998 L4 = VDD_SSC_MX supply */
	pm8998_l4_level: regulator-pm8998-l4-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l4_level";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_l5: regulator-pm8998-l5 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l5";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <800000>;
		regulator-max-microvolt = <800000>;
	};

	pm8998_l6: regulator-pm8998-l6 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l6";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1856000>;
		regulator-max-microvolt = <1856000>;
	};

	pm8998_l7: regulator-pm8998-l7 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l7";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	pm8998_l8: regulator-pm8998-l8 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l8";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	pm8998_l9: regulator-pm8998-l9 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l9";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1808000>;
		regulator-max-microvolt = <2960000>;
	};

	pm8998_l10: regulator-pm8998-l10 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l10";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1808000>;
		regulator-max-microvolt = <2960000>;
	};

	pm8998_l11: regulator-pm8998-l11 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l11";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <1000000>;
	};

	pm8998_l12: regulator-pm8998-l12 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l12";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	pm8998_l13: regulator-pm8998-l13 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l13";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1808000>;
		regulator-max-microvolt = <2960000>;
	};

	pm8998_l14: regulator-pm8998-l14 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l14";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	pm8998_l15: regulator-pm8998-l15 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l15";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	pm8998_l16: regulator-pm8998-l16 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l16";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <2704000>;
		regulator-max-microvolt = <2704000>;
	};

	pm8998_l17: regulator-pm8998-l17 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l17";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1304000>;
		regulator-max-microvolt = <1304000>;
	};

	pm8998_l18: regulator-pm8998-l18 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l18";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <2704000>;
		regulator-max-microvolt = <2704000>;
	};

	pm8998_l19: regulator-pm8998-l19 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l19";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <3008000>;
		regulator-max-microvolt = <3008000>;
	};

	pm8998_l20: regulator-pm8998-l20 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l20";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <2960000>;
		regulator-max-microvolt = <2960000>;
	};

	pm8998_l21: regulator-pm8998-l21 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l21";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <2960000>;
		regulator-max-microvolt = <2960000>;
	};

	pm8998_l22: regulator-pm8998-l22 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l22";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <2864000>;
		regulator-max-microvolt = <2864000>;
	};

	pm8998_l23: regulator-pm8998-l23 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l23";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <3312000>;
		regulator-max-microvolt = <3312000>;
	};

	pm8998_l24: regulator-pm8998-l24 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l24";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <3088000>;
		regulator-max-microvolt = <3088000>;
	};

	pm8998_l25: regulator-pm8998-l25 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l25";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <3104000>;
		regulator-max-microvolt = <3104000>;
	};

	pm8998_l26: regulator-pm8998-l26 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l26";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	/* PM8998 L27 = VDD_SSC_CX supply */
	pm8998_l27_level: regulator-pm8998-l27-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l27_level";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8998_l28: regulator-pm8998-l28 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_l28";
		qcom,hpm-min-load = <10000>;
		regulator-min-microvolt = <3008000>;
		regulator-max-microvolt = <3008000>;
	};

	pm8998_lvs1: regulator-pm8998-lvs1 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_lvs1";
	};

	pm8998_lvs2: regulator-pm8998-lvs2 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8998_lvs2";
	};

	pmi8998_bob: regulator-pmi8998-bob {
		compatible = "qcom,stub-regulator";
		regulator-name = "pmi8998_bob";
		regulator-min-microvolt = <3312000>;
		regulator-max-microvolt = <3600000>;
	};

	/* PM8005 S1 + S4 = 2 phase VDD_GFX supply */
	pm8005_s1_level: regulator-pm8005-s1-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8005_s1_level";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	/* PM8005 S2 = VDD_MODEM supply */
	pm8005_s2_level: regulator-pm8005-s2-level {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8005_s2_level";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_OFF>;
		regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
	};

	pm8005_s3: regulator-pm8005-s3 {
		compatible = "qcom,stub-regulator";
		regulator-name = "pm8005_s3";
		qcom,hpm-min-load = <100000>;
		regulator-min-microvolt = <600000>;
		regulator-max-microvolt = <600000>;
	};

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

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

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