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

Commit 2570b046 authored by Anirudh Ghayal's avatar Anirudh Ghayal Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add APC CPR configuration for MSM8996 speed-bin 2



Speed-bin 2 supports same CPR fusing scheme as speed-bin 0,
add CPR configuration for all APC cpr regulators.

Change-Id: I3a7c826b0dd6d73f877b4cd23288a820d85ba24d
Signed-off-by: default avatarAnirudh Ghayal <aghayal@codeaurora.org>
parent 1446cd5f
Loading
Loading
Loading
Loading
+338 −36
Original line number Diff line number Diff line
@@ -623,15 +623,18 @@

				qcom,cpr-pd-bypass-mask = <0x07>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <16 13>;
				qcom,cpr-fuse-combos = <24>;
				qcom,cpr-speed-bins = <3>;
				qcom,cpr-speed-bin-corners = <16 13 16>;
				qcom,cpr-corners =
					/* Speed bin 0 */
					<16 16 16 16 16 16 16 16>,

					/* Speed bin 1 */
					<13 13 13 13 13 13 13 13>;
					<13 13 13 13 13 13 13 13>,

					/* Speed bin 2 */
					<16 16 16 16 16 16 16 16>;

				qcom,ldo-min-headroom-voltage = <150000>;
				qcom,ldo-max-headroom-voltage = <470000>;
@@ -643,7 +646,10 @@
					<1 2 7 12 16>,

					/* Speed bin 1 */
					<1 2 7 12 13>;
					<1 2 7 12 13>,

					/* Speed bin 2 */
					<1 2 7 12 16>;

				qcom,cpr-voltage-ceiling =
					/* Speed bin 0 */
@@ -655,7 +661,13 @@
					/* Speed bin 1 */
					<670000  670000  745000  745000  745000
					 745000  745000  905000  905000  905000
					 905000  905000 1140000>;
					 905000  905000 1140000>,

					/* Speed bin 2 */
					<670000  670000  745000  745000  745000
					 745000  745000  905000  905000  905000
					 905000  905000 1140000 1140000 1140000
					1140000>;

				qcom,cpr-voltage-floor =
					/* Speed bin 0 */
@@ -716,7 +728,41 @@
					 470000  470000  470000>,
					<470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000  470000  470000>;
					 470000  470000  470000>,

					/* Speed bin 2 */
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000  625000  625000  625000  625000
					 625000>,
					<470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000>,
					<470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000>;

				qcom,cpr-floor-to-ceiling-max-range =
					/* Speed bin 0 */
@@ -728,7 +774,13 @@
					/* Speed bin 1 */
					 <50000   50000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000   80000   80000>;
					  80000   80000   80000>,

					/* Speed bin 2 */
					 <50000   50000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
@@ -744,7 +796,15 @@
					 556800000  652800000  729600000
					 844800000  960000000 1036800000
					1113600000 1190400000 1228800000
					1363200000>;
					1363200000>,

					/* Speed bin 2 */
					<307200000  422400000  480000000
					 556800000  652800000  729600000
					 844800000  960000000 1036800000
					1113600000 1190400000 1228800000
					1324800000 1401600000 1478400000
					1593600000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -777,6 +837,16 @@
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,

					/* Speed bin 2 */
					<20000     0 25000 (-5000) (-10000)>,
					<20000     0 25000 (-5000) (-10000)>,
					<20000     0 25000 (-5000) (-10000)>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>,
					<35000     0 40000  10000     5000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -798,6 +868,16 @@
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,

					/* Speed bin 2 */
					<35000 35000 40000  40000   40000>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>;

				qcom,cpr-open-loop-voltage-adjustment =
@@ -811,14 +891,23 @@
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000)>;
					 (-26000)>,

					/* Speed bin 2 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000) (-27000) (-28000) (-30000)>;

				qcom,cpr-open-loop-voltage-min-diff =
					/* Speed bin 0 */
				       <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0>,

					/* Speed bin 1 */
				       <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0>;
				       <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0>,

					/* Speed bin 2 */
				       <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0>;

				qcom,cpr-closed-loop-voltage-adjustment =
					/* Speed bin 0 */
@@ -831,20 +920,29 @@
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000)>;
					 (-26000)>,

					/* Speed bin 2 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000) (-27000) (-28000) (-30000)>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <12 12>;
				qcom,cpr-aging-ref-corner = <12 12 12>;
				qcom,cpr-aging-ro-scaling-factor = <3200>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 1 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 2 */
					<0 0 0 1 1 1 1 1>;
			};

@@ -858,22 +956,28 @@

				qcom,cpr-pd-bypass-mask = <0x18>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <19 15>;
				qcom,cpr-fuse-combos = <24>;
				qcom,cpr-speed-bins = <3>;
				qcom,cpr-speed-bin-corners = <19 15 19>;
				qcom,cpr-corners =
					/* Speed bin 0 */
					<19 19 19 19 19 19 19 19>,

					/* Speed bin 1 */
					<15 15 15 15 15 15 15 15>;
					<15 15 15 15 15 15 15 15>,

					/* Speed bin 2 */
					<19 19 19 19 19 19 19 19>;

				qcom,cpr-corner-fmax-map =
					/* Speed bin 0 */
					<1 2 5 13 19>,

					/* Speed bin 1 */
					<1 2 5 13 15>;
					<1 2 5 13 15>,

					/* Speed bin 2 */
					<1 2 5 13 19>;

				qcom,cpr-voltage-ceiling =
				       /* Speed bin 0 */
@@ -885,7 +989,13 @@
				       /* Speed bin 1 */
				       <670000  670000  745000  745000  745000
					905000  905000  905000  905000  905000
					905000  905000  905000 1140000 1140000>;
					905000  905000  905000 1140000 1140000>,

				       /* Speed bin 2 */
				       <670000  670000  745000  745000  745000
					905000  905000  905000  905000  905000
					905000  905000  905000 1140000 1140000
				       1140000 1140000 1140000 1140000>;

				qcom,cpr-voltage-floor =
				       /* Speed bin 0 */
@@ -946,7 +1056,41 @@
					470000  470000  470000  470000  470000>,
				       <470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000>;
					470000  470000  470000  470000  470000>,

				       /* Speed bin 2 */
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000>,
				       <470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000>,
				       <470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000>;

				qcom,cpr-floor-to-ceiling-max-range =
					/* Speed bin 0 */
@@ -958,7 +1102,13 @@
					/* Speed bin 1 */
					<50000   50000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000>;
					 80000   80000   80000   80000   80000>,

					/* Speed bin 2 */
					<50000   50000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
@@ -975,7 +1125,16 @@
					 537600000  595200000  672000000
					 748800000  825600000  902400000
					 979200000 1056000000 1132800000
					1190400000 1228800000 1305600000>;
					1190400000 1228800000 1305600000>,

					/* Speed bin 2 */
					<307200000  384000000  460800000
					 537600000  595200000  672000000
					 748800000  825600000  902400000
					 979200000 1056000000 1132800000
					1190400000 1228800000 1305600000
					1382400000 1459200000 1536000000
					1593600000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -1008,6 +1167,16 @@
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,

					/* Speed bin 2 */
					<30000    0 (-10000) (-10000) (-40000)>,
					<30000    0 (-10000) (-10000) (-40000)>,
					<30000    0 (-10000) (-10000) (-40000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>,
					<45000    0    5000     5000  (-25000)>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -1029,6 +1198,16 @@
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,

					/* Speed bin 2 */
					<10000 5000        0        0        0>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>;

				qcom,allow-voltage-interpolation;
@@ -1036,13 +1215,16 @@
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <13 13>;
				qcom,cpr-aging-ref-corner = <13 13 13>;
				qcom,cpr-aging-ro-scaling-factor = <3200>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 1 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 2 */
					<0 0 0 1 1 1 1 1>;
			};
		};
@@ -1061,15 +1243,18 @@

				qcom,cpr-pd-bypass-mask = <0xe0>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <25 21>;
				qcom,cpr-fuse-combos = <24>;
				qcom,cpr-speed-bins = <3>;
				qcom,cpr-speed-bin-corners = <25 21 25>;
				qcom,cpr-corners =
					/* Speed bin 0 */
					<25 25 25 25 25 25 25 25>,

					/* Speed bin 1 */
					<21 21 21 21 21 21 21 21>;
					<21 21 21 21 21 21 21 21>,

					/* Speed bin 0 */
					<25 25 25 25 25 25 25 25>;

				qcom,ldo-min-headroom-voltage = <150000>;
				qcom,ldo-max-headroom-voltage = <470000>;
@@ -1081,7 +1266,10 @@
					<1 4 9 13 25>,

					/* Speed bin 1 */
					<1 4 9 13 21>;
					<1 4 9 13 21>,

					/* Speed bin 2 */
					<1 4 9 13 25>;

				qcom,cpr-voltage-ceiling =
				       /* Speed bin 0 */
@@ -1096,7 +1284,15 @@
					745000  745000  745000  745000  905000
					905000  905000  905000 1140000 1140000
				       1140000 1140000 1140000 1140000 1140000
				       1140000>;
				       1140000>,

				       /* Speed bin 2 */
				       <670000  670000  670000  670000  745000
					745000  745000  745000  745000  905000
					905000  905000  905000 1140000 1140000
				       1140000 1140000 1140000 1140000 1140000
				       1140000 1140000 1140000 1140000 1140000>;


				qcom,cpr-voltage-floor =
				       /* Speed bin 0 */
@@ -1181,7 +1377,49 @@
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000>;
					470000>,

				       /* Speed bin 2 */
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000
					625000  625000  625000  625000  625000>,
				       <470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000>,
				       <470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000
					470000  470000  470000  470000  470000>;

				qcom,cpr-floor-to-ceiling-max-range =
					/* Speed bin 0 */
@@ -1196,7 +1434,14 @@
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000>;
					 80000>,

					/* Speed bin 2 */
					<50000   50000   50000   50000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
@@ -1217,7 +1462,18 @@
					1036800000 1113600000 1190400000
					1248000000 1324800000 1401600000
					1478400000 1555200000 1632000000
					1708800000 1785600000 1804800000>;
					1708800000 1785600000 1804800000>,

					/* Speed bin 2 */
					<307200000  403200000  480000000
					 556800000  652800000  729600000
					 806400000  883200000  940800000
					1036800000 1113600000 1190400000
					1248000000 1324800000 1401600000
					1478400000 1555200000 1632000000
					1708800000 1785600000 1824000000
					1920000000 1996800000 2073600000
					2150400000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -1250,6 +1506,16 @@
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,

					/* Speed bin 2 */
					<20000     0 15000 (-55000)     0>,
					<20000     0 15000 (-55000)     0>,
					<20000     0 15000       0      0>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>,
					<35000     0 30000   15000  15000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -1271,6 +1537,16 @@
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,

					/* Speed bin 2 */
					<35000 35000 40000 (-30000) 40000>,
					<    0     0     0 (-70000)     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>,
					<    0     0     0        0     0>;

				qcom,cpr-open-loop-voltage-adjustment =
@@ -1289,7 +1565,17 @@
					 (-15000) (-18000) (-21000) (-23000)
					 (-25000) (-25000) (-26000) (-26000)
					 (-27000) (-27000) (-28000) (-28000)
					 (-28000)>;
					 (-28000)>,

					/* Speed bin 2 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-11000) (-12000) (-13000) (-14000)
					 (-15000) (-18000) (-21000) (-23000)
					 (-25000) (-25000) (-26000) (-26000)
					 (-27000) (-27000) (-28000) (-28000)
					 (-28000) (-29000) (-29000) (-30000)
					 (-30000)>;

				qcom,cpr-open-loop-voltage-min-diff =
					/* Speed bin 0 */
					<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0
@@ -1297,7 +1583,11 @@

					/* Speed bin 1 */
					<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0
					 0 0 0 0 0>;
					 0 0 0 0 0>,

					/* Speed bin 2 */
					<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0
					 0 0 0 0 0 0 0 0 0>;

				qcom,cpr-closed-loop-voltage-adjustment =
					/* Speed bin 0 */
@@ -1315,20 +1605,32 @@
					 (-15000) (-18000) (-21000) (-23000)
					 (-25000) (-25000) (-26000) (-26000)
					 (-27000) (-27000) (-28000) (-28000)
					 (-28000)>;
					 (-28000)>,

					/* Speed bin 2 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-11000) (-12000) (-13000) (-14000)
					 (-15000) (-18000) (-21000) (-23000)
					 (-25000) (-25000) (-26000) (-26000)
					 (-27000) (-27000) (-28000) (-28000)
					 (-28000) (-29000) (-29000) (-30000)
					 (-30000)>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <13 13>;
				qcom,cpr-aging-ref-corner = <13 13 13>;
				qcom,cpr-aging-ro-scaling-factor = <3200>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 1 */
					<0 0 0 1 1 1 1 1>,

					/* Speed bin 2 */
					<0 0 0 1 1 1 1 1>;

				qcom,cpr-dynamic-floor-corner = <1>;