Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1eb349e authored by Ke Liu's avatar Ke Liu
Browse files

msm: cpr-regulator: add support for high turbo ceiling voltage



Current design to use fixed ceiling voltage for the chip is not
flexible when the chip could support higher speed/voltage bin.
Add a property to pass initial turbo voltages so that
the driver could see and support higher ceiling voltage.

Change-Id: I3d87b5ea28cf3008a7df23c690fa90b17d6ea1d0
Signed-off-by: default avatarKe Liu <keliu@codeaurora.org>
parent 54938e72
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -22,16 +22,12 @@ Required properties:
				should be 1 for SVS corner
- regulator-max-microvolt:	Maximum corner value as max constraint, which
				should be 4 for SUPER_TURBO or 3 for TURBO
- qcom,pvs-bin-process:		A list of integers whose length is equal to 2 to
				the power of qcom,pvs-fuse[num-of-bits]. The location or
				0-based index of an element in the list corresponds
				to the bin number. The value of each integer
				corresponds to the PVS process speed of the APC
				silicon for a chip with one of these cases:
					1 = APC_PVS_SLOW
					2 = APC_PVS_NOM
					3 = APC_PVS_FAST
					0 or other values = No PVS
- qcom,pvs-init-voltage:  	A list of integers whose length is equal to 2
				to the power of qcom,pvs-fuse[num-of-bits]. The
				location or 0-based index of an element in the
				list corresponds to the bin number. The value of
				each integer corresponds to the initial voltage
				of the PVS bin in turbo mode in microvolts.
- qcom,pvs-corner-ceiling-slow:	Ceiling voltages of all corners for APC_PVS_SLOW
- qcom,pvs-corner-ceiling-nom:	Ceiling voltages of all corners for APC_PVS_NOM
- qcom,pvs-corner-ceiling-fast:	Ceiling voltages of all corners for APC_PVS_FAST
@@ -155,8 +151,14 @@ Example:
		qcom,pvs-fuse-redun-sel = <22 24 3 2>;
		qcom,pvs-fuse-redun = <22 27 5>;

		qcom,pvs-bin-process = <0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2
					2 2 2 2 3 3 3 3 3 3 3 3 0 0 0 0>;
		qcom,pvs-init-voltage = <1330000 1330000 1330000 1320000
						1310000 1300000 1290000 1280000
						1270000 1260000 1250000 1240000
						1230000 1220000 1210000 1200000
						1190000 1180000 1170000 1160000
						1150000 1140000 1140000 1140000
						1140000 1140000 1140000 1140000
						1140000 1140000 1140000 1140000>;
		qcom,pvs-corner-ceiling-slow = <1050000 1160000 1275000>;
		qcom,pvs-corner-ceiling-nom  =  <975000 1075000 1200000>;
		qcom,pvs-corner-ceiling-fast =  <900000 1000000 1140000>;
+7 −2
Original line number Diff line number Diff line
@@ -41,8 +41,13 @@
		qcom,pvs-fuse = <22 6 5>;
		qcom,pvs-fuse-redun = <22 27 5>;

		qcom,pvs-bin-process = <0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 2
					2 2 2 2 3 3 3 3 3 3 3 3 0 0 0 0>;
		qcom,pvs-init-voltage = <1275000 1275000 1275000 1275000 1275000
					1275000 1260000 1245000 1230000 1215000
					1200000 1185000 1170000 1155000 1140000
					1140000 1140000 1140000 1140000 1140000
					1150000 1140000 1140000 1140000 1140000
					1140000 1140000 1140000 1275000 1275000
					1275000 1275000>;
		qcom,pvs-corner-ceiling-slow = <1050000 1150000 1275000>;
		qcom,pvs-corner-ceiling-nom  = <1050000 1075000 1200000>;
		qcom,pvs-corner-ceiling-fast = <1050000 1050000 1140000>;
+11 −6
Original line number Diff line number Diff line
@@ -33,27 +33,32 @@

&pm8226_l3 {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1337500>;
};

&pm8226_l3_ao {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1337500>;
};

&pm8226_l3_so {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1337500>;
};

&pm8226_s2 {
	regulator-min-microvolt = <900000>;
	regulator-max-microvolt = <1280000>;
	regulator-max-microvolt = <1330000>;
};

&apc_vreg_corner {
	qcom,pvs-bin-process = <1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
				2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3>;
	qcom,pvs-init-voltage = <1330000 1330000 1330000 1320000 1310000
					1300000 1290000 1280000 1270000 1260000
					1250000 1240000 1230000 1220000 1210000
					1200000 1190000 1180000 1170000 1160000
					1150000 1140000 1140000 1140000 1140000
					1140000 1140000 1140000 1140000 1140000
					1140000 1140000>;
	qcom,pvs-corner-ceiling-slow = <1050000 1150000 1280000>;
	qcom,pvs-corner-ceiling-nom  = <1050000 1080000 1200000>;
	qcom,pvs-corner-ceiling-fast = <1050000 1050000 1140000>;
+7 −2
Original line number Diff line number Diff line
@@ -42,8 +42,13 @@
		qcom,pvs-fuse = <23 6 5>;
		qcom,pvs-fuse-redun = <61 47 5>;

		qcom,pvs-bin-process = <1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
					1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>;
		qcom,pvs-init-voltage = <1275000 1275000 1275000 1275000 1275000
					1275000 1275000 1275000 1275000 1275000
					1275000 1275000 1275000 1275000 1275000
					1275000 1275000 1275000 1275000 1275000
					1275000 1275000 1275000 1275000 1275000
					1275000 1275000 1275000 1275000 1275000
					1275000 1275000>;
		qcom,pvs-corner-ceiling-slow = <1150000 1150000 1275000>;
		qcom,pvs-corner-ceiling-nom  = <1075000 1075000 1200000>;
		qcom,pvs-corner-ceiling-fast = <1050000 1050000 1140000>;
+11 −6
Original line number Diff line number Diff line
@@ -48,22 +48,22 @@

&pm8226_l3 {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1350000>;
};

&pm8226_l3_ao {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1350000>;
};

&pm8226_l3_so {
	regulator-min-microvolt = <750000>;
	regulator-max-microvolt = <1287500>;
	regulator-max-microvolt = <1350000>;
};

&pm8226_s2 {
	regulator-min-microvolt = <900000>;
	regulator-max-microvolt = <1280000>;
	regulator-max-microvolt = <1350000>;
};

&tlmm_pinmux {
@@ -73,8 +73,13 @@
};

&apc_vreg_corner {
	qcom,pvs-bin-process = <1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
				2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3>;
	qcom,pvs-init-voltage = <1350000 1340000 1330000 1320000 1310000
					1300000 1290000 1280000 1270000 1260000
					1250000 1240000 1230000 1220000 1210000
					1200000 1190000 1180000 1170000 1160000
					1150000 1140000 1140000 1140000 1140000
					1140000 1140000 1140000 1140000 1140000
					1140000 1140000>;
	qcom,pvs-corner-ceiling-slow = <1050000 1160000 1280000>;
	qcom,pvs-corner-ceiling-nom  = <1050000 1080000 1200000>;
	qcom,pvs-corner-ceiling-fast = <1050000 1050000 1140000>;
Loading