/* Copyright (c) 2012-2014, 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.
 */

/* SPM controlled regulators: */

&spmi_bus {
	qcom,pm8226@1 {
		pm8226_s2: spm-regulator@1700 {
			compatible = "qcom,spm-regulator";
			regulator-name = "8226_s2";
			reg = <0x1700 0x100>;
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <1350000>;
			qcom,mode = "auto";
		};
	};
};

/* CPR controlled regulator */

&soc {
	apc_vreg_corner: regulator@f9018000 {
		status = "okay";
		compatible = "qcom,cpr-regulator";
		reg = <0xf9018000 0x1000>, <0xf9011064 4>, <0xfc4b8000 0x1000>;
		reg-names = "rbcpr", "rbcpr_clk", "efuse_addr";
		interrupts = <0 15 0>;
		regulator-name = "apc_corner";

		qcom,pvs-fuse-redun-sel = <22 24 3 2 0>;
		qcom,pvs-fuse = <22 6 5 0>;
		qcom,pvs-fuse-redun = <22 27 5 0>;

		qcom,pvs-voltage-table =
			<1050000 1150000 1350000>,
			<1050000 1150000 1340000>,
			<1050000 1150000 1330000>,
			<1050000 1150000 1320000>,
			<1050000 1150000 1310000>,
			<1050000 1150000 1300000>,
			<1050000 1150000 1290000>,
			<1050000 1150000 1280000>,
			<1050000 1150000 1270000>,
			<1050000 1140000 1260000>,
			<1050000 1130000 1250000>,
			<1050000 1120000 1240000>,
			<1050000 1110000 1230000>,
			<1050000 1100000 1220000>,
			<1050000 1090000 1210000>,
			<1050000 1080000 1200000>,
			<1050000 1070000 1190000>,
			<1050000 1060000 1180000>,
			<1050000 1050000 1170000>,
			<1050000 1050000 1160000>,
			<1050000 1050000 1150000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>,
			<1050000 1050000 1140000>;
		qcom,cpr-voltage-ceiling = <1050000 1150000 1280000>;
		qcom,cpr-voltage-floor = <1050000 1050000 1100000>;
		vdd-apc-supply = <&pm8226_s2>;

		vdd-mx-supply = <&pm8226_l3_ao>;
		qcom,vdd-mx-vmax = <1350000>;
		qcom,vdd-mx-vmin-method = <1>;

		qcom,cpr-ref-clk = <19200>;
		qcom,cpr-timer-delay = <5000>;
		qcom,cpr-timer-cons-up = <0>;
		qcom,cpr-timer-cons-down = <2>;
		qcom,cpr-irq-line = <0>;
		qcom,cpr-step-quotient = <30>;
		qcom,cpr-idle-clocks = <0>;
		qcom,cpr-gcnt-time = <1>;
		qcom,vdd-apc-step-up-limit = <1>;
		qcom,vdd-apc-step-down-limit = <1>;
		qcom,cpr-apc-volt-step = <10000>;

		qcom,cpr-fuse-redun-sel = <138 57 1 1 0>;
		qcom,cpr-fuse-row = <138 0>;
		qcom,cpr-fuse-bp-cpr-disable = <36>;
		qcom,cpr-fuse-bp-scheme = <37>;
		qcom,cpr-fuse-target-quot = <24 12 0>;
		qcom,cpr-fuse-ro-sel = <54 38 41>;
		qcom,cpr-fuse-redun-row = <139 0>;
		qcom,cpr-fuse-redun-target-quot = <24 12 0>;
		qcom,cpr-fuse-redun-ro-sel = <46 36 39>;

		qcom,cpr-enable;
		qcom,cpr-fuse-cond-min-volt-sel = <54 42 6 7 1>;
		qcom,cpr-cond-min-voltage = <1140000>;
		qcom,cpr-fuse-uplift-sel = <22 53 1 0 0>;
		qcom,cpr-uplift-voltage = <50000>;
		qcom,cpr-uplift-quotient = <0 0 120>;
		qcom,cpr-uplift-max-volt = <1350000>;
		qcom,cpr-uplift-speed-bin = <1>;
		qcom,speed-bin-fuse-sel = <22 0 3 0>;
	};
};

/* RPM controlled regulators: */

&rpm_bus {
	rpm-regulator-smpa1 {
		status = "okay";
		pm8226_s1: regulator-s1 {
			regulator-min-microvolt = <500000>;
			regulator-max-microvolt = <1275000>;
			status = "okay";
		};
		pm8226_s1_corner: regulator-s1-corner {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_s1_corner";
			qcom,set = <3>;
			regulator-min-microvolt = <1>;
			regulator-max-microvolt = <7>;
			qcom,use-voltage-corner;
			qcom,consumer-supplies = "vdd_dig", "";
		};
		pm8226_s1_corner_ao: regulator-s1-corner-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_s1_corner_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <1>;
			regulator-max-microvolt = <7>;
			qcom,use-voltage-corner;
			qcom,consumer-supplies = "vdd_sr2_dig", "";
		};
		pm8226_s1_floor_corner: regulator-s1-floor-corner {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_s1_floor_corner";
			qcom,set = <3>;
			regulator-min-microvolt = <1>;
			regulator-max-microvolt = <7>;
			qcom,use-voltage-floor-corner;
			qcom,always-send-voltage;
		};
	};

	rpm-regulator-smpa3 {
		status = "okay";
		pm8226_s3: regulator-s3 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1300000>;
			qcom,init-voltage = <1200000>;
			status = "okay";
		};
	};

	rpm-regulator-smpa4 {
		status = "okay";
		pm8226_s4: regulator-s4 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2200000>;
			qcom,init-voltage = <1800000>;
			status = "okay";
		};
	};

	rpm-regulator-smpa5 {
		status = "okay";
		pm8226_s5: regulator-s5 {
			regulator-min-microvolt = <1150000>;
			regulator-max-microvolt = <1150000>;
			qcom,init-voltage = <1150000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa1 {
		status = "okay";
		pm8226_l1: regulator-l1 {
			regulator-name = "8226_l1";
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
			qcom,init-voltage = <1225000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa2 {
		status = "okay";
		pm8226_l2: regulator-l2 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,init-voltage = <1200000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa3 {
		status = "okay";
		pm8226_l3: regulator-l3 {
			regulator-name = "8226_l3";
			regulator-min-microvolt = <750000>;
			regulator-max-microvolt = <1337500>;
			status = "okay";
		};
		pm8226_l3_ao: regulator-3-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_l3_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <750000>;
			regulator-max-microvolt = <1337500>;
			status = "okay";
		};
		pm8226_l3_so: regulator-l3-so {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_l3_so";
			qcom,set = <2>;
			regulator-min-microvolt = <750000>;
			regulator-max-microvolt = <1337500>;
			qcom,init-voltage = <750000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa4 {
		status = "okay";
		pm8226_l4: regulator-l4 {
			regulator-name = "8226_l4";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,init-voltage = <1200000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa5 {
		status = "okay";
		pm8226_l5: regulator-l5 {
			regulator-name = "8226_l5";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,init-voltage = <1200000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa6 {
		status = "okay";
		pm8226_l6: regulator-l6 {
			regulator-name = "8226_l6";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa7 {
		status = "okay";
		pm8226_l7: regulator-l7 {
			regulator-name = "8226_l7";
			regulator-min-microvolt = <1850000>;
			regulator-max-microvolt = <1850000>;
			qcom,init-voltage = <1850000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa8 {
		status = "okay";
		pm8226_l8: regulator-l8 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			status = "okay";
		};

		pm8226_l8_ao: regulator-l8-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_l8_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			qcom,consumer-supplies = "vdd_sr2_pll", "";
		};

		pm8226_l8_so: regulator-l8-so {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8226_l8_so";
			qcom,set = <2>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			qcom,init-enable = <0>;
		};
	};

	rpm-regulator-ldoa9 {
		status = "okay";
		pm8226_l9: regulator-l9 {
			regulator-name = "8226_l9";
			regulator-min-microvolt = <2050000>;
			regulator-max-microvolt = <2050000>;
			qcom,init-voltage = <2050000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa10 {
		status = "okay";
		pm8226_l10: regulator-l10 {
			regulator-name = "8226_l10";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa12 {
		status = "okay";
		pm8226_l12: regulator-l12 {
			regulator-name = "8226_l12";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,init-voltage = <1800000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa14 {
		status = "okay";
		pm8226_l14: regulator-l14 {
			regulator-name = "8226_l14";
			regulator-min-microvolt = <2750000>;
			regulator-max-microvolt = <2750000>;
			qcom,init-voltage = <2750000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa15 {
		status = "okay";
		pm8226_l15: regulator-l15 {
			regulator-name = "8226_l15";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			qcom,init-voltage = <2800000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa16 {
		status = "okay";
		pm8226_l16: regulator-l16 {
			regulator-name = "8226_l16";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3350000>;
			qcom,init-voltage = <3300000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa17 {
		status = "okay";
		pm8226_l17: regulator-l17 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa18 {
		status = "okay";
		pm8226_l18: regulator-l18 {
			regulator-name = "8226_l18";
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa19 {
		status = "okay";
		pm8226_l19: regulator-l19 {
			regulator-name = "8226_l19";
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <2850000>;
			qcom,init-voltage = <2850000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa20 {
		status = "okay";
		pm8226_l20: regulator-l20 {
			regulator-name = "8226_l20";
			regulator-min-microvolt = <3075000>;
			regulator-max-microvolt = <3075000>;
			qcom,init-voltage = <3075000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa21 {
		status = "okay";
		pm8226_l21: regulator-l21 {
			regulator-name = "8226_l21";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa22 {
		status = "okay";
		pm8226_l22: regulator-l22 {
			regulator-name = "8226_l22";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa23 {
		status = "okay";
		pm8226_l23: regulator-l23 {
			regulator-name = "8226_l23";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa24 {
		status = "okay";
		pm8226_l24: regulator-l24 {
			regulator-name = "8226_l24";
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1350000>;
			qcom,init-voltage = <1300000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa25 {
		status = "okay";
		pm8226_l25: regulator-l25 {
			regulator-name = "8226_l25";
			regulator-min-microvolt = <1775000>;
			regulator-max-microvolt = <2125000>;
			qcom,init-voltage = <1775000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa26 {
		status = "okay";
		pm8226_l26: regulator-l26 {
			regulator-name = "8226_l26";
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
			qcom,init-voltage = <1225000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa27 {
		status = "okay";
		pm8226_l27: regulator-l27 {
			regulator-name = "8226_l27";
			regulator-min-microvolt = <2050000>;
			regulator-max-microvolt = <2050000>;
			qcom,init-voltage = <2050000>;
			status = "okay";
		};
	};

	rpm-regulator-ldoa28 {
		status = "okay";
		pm8226_l28: regulator-l28 {
			regulator-name = "8226_l28";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,init-voltage = <2950000>;
			status = "okay";
		};
	};

	rpm-regulator-vsa1 {
		status = "okay";
		pm8226_lvs1: regulator-lvs1 {
			status = "okay";
		};
	};
};

&pm8226_chg_boost {
	regulator-min-microvolt = <5000000>;
	regulator-max-microvolt = <5000000>;
	regulator-name = "8226_smbbp_boost";
};

&pm8226_chg {
	otg-parent-supply = <&pm8226_chg_boost>;
};

&pm8226_chg_batif {
	regulator-name = "batfet";
};

&pm8226_chg_otg {
	regulator-name = "8226_smbbp_otg";
};
