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

Commit 97e3761a authored by David Collins's avatar David Collins
Browse files

ARM: dts: msm: add support for speed bin 1 parts for msm8996v3



Add support for MSM8996v3 parts which have their speed bin fuse
configured as 1 instead of 0.  These parts operate with lower
maximum frequencies.

Max frequency in MHz for each VDD_APCC clock domain:

      Domain           Speed Bin 0     Speed Bin 1
--------------------------------------------------
   Power Cluster         1593.6          1363.2
Performance Cluster      2150.4          1804.8
     CBF Clock           1593.6          1305.6

Remap the Turbo fuse corner of each VDD_APCC regulator subnode
to these new frequencies and keep the mapping for lower fuse
corners to frequencies the same.

Change-Id: Ie0c29458a8a21914d201a19c18b883ee6bb09dbd
Signed-off-by: default avatarDavid Collins <collinsd@codeaurora.org>
parent 29e2b8a6
Loading
Loading
Loading
Loading
+281 −30
Original line number Diff line number Diff line
@@ -601,37 +601,77 @@

				qcom,cpr-pd-bypass-mask = <0x07>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <8>;
				qcom,cpr-corners = <16>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <16 13>;
				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>;

				qcom,ldo-headroom-voltage = <150000>;
				qcom,ldo-max-voltage = <890000>;

				qcom,cpr-corner-fmax-map = <1 2 7 12 16>;
				qcom,cpr-corner-fmax-map =
					/* Speed bin 0 */
					<1 2 7 12 16>,

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

				qcom,cpr-voltage-ceiling =
					/* Speed bin 0 */
					<670000  670000  745000  745000  745000
					 745000  745000  905000  905000  905000
					 905000  905000 1140000 1140000 1140000
					1140000>;
					1140000>,

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

				qcom,cpr-voltage-floor =
					/* Speed bin 0 */
					<470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000>;
					 470000>,

					/* Speed bin 1 */
					<470000  470000  470000  470000  470000
					 470000  470000  470000  470000  470000
					 470000  470000  470000>;

				qcom,cpr-floor-to-ceiling-max-range =
					/* Speed bin 0 */
					 <80000   80000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000>;
					  80000>,

					/* Speed bin 1 */
					 <80000   80000   80000   80000   80000
					  80000   80000   80000   80000   80000
					  80000   80000   80000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
					<307200000  422400000  480000000
					 556800000  652800000  729600000
					 844800000  960000000 1036800000
					1113600000 1190400000 1228800000
					1324800000 1401600000 1478400000
					1593600000>;
					1593600000>,

					/* Speed bin 1 */
					<307200000  422400000  480000000
					 556800000  652800000  729600000
					 844800000  960000000 1036800000
					1113600000 1190400000 1228800000
					1363200000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -646,6 +686,17 @@
				       2519 2257 2668 2372    0    0    0    0>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,

					/* Speed bin 1 */
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
@@ -654,7 +705,19 @@
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>,
					<45000     0 50000  20000   15000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<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)>,

					/* Speed bin 1 */
					<35000 35000 40000  40000   40000>,
					<20000 10000  5000 (-5000) (-5000)>,
					<20000 10000  5000 (-5000) (-5000)>,
@@ -665,27 +728,50 @@
					<20000 10000  5000 (-5000) (-5000)>;

				qcom,cpr-open-loop-voltage-adjustment =
					/* Speed bin 0 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000) (-27000) (-28000) (-30000)>,

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

				qcom,cpr-open-loop-voltage-min-diff =
				       <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0>;
					/* 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>;

				qcom,cpr-closed-loop-voltage-adjustment =
					/* Speed bin 0 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-13000) (-14000) (-15000) (-18000)
					 (-20000) (-22000) (-24000) (-25000)
					 (-26000) (-27000) (-28000) (-30000)>,

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

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

				qcom,cpr-aging-max-voltage-adjustment = <25000>;
				qcom,cpr-aging-ref-corner = <12>;
				qcom,cpr-aging-ref-corner = <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>;
			};

@@ -696,35 +782,75 @@

				qcom,cpr-pd-bypass-mask = <0x18>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <8>;
				qcom,cpr-corners = <19>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <19 15>;
				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>;

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

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

				qcom,cpr-voltage-ceiling =
				       /* Speed bin 0 */
				       <670000  670000  745000  745000  745000
					905000  905000  905000  905000  905000
					905000  905000  905000 1140000 1140000
				       1140000 1140000 1140000 1140000>;
				       1140000 1140000 1140000 1140000>,

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

				qcom,cpr-voltage-floor =
				       /* Speed bin 0 */
				       <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 1 */
				       <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 */
					<80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000>;
					 80000   80000   80000   80000>,

					/* Speed bin 1 */
					<80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
					<307200000  384000000  460800000
					 537600000  595200000  672000000
					 748800000  825600000  902400000
					 979200000 1056000000 1132800000
					1190400000 1228800000 1305600000
					1382400000 1459200000 1536000000
					1593600000>;
					1593600000>,

					/* Speed bin 1 */
					<307200000  384000000  460800000
					 537600000  595200000  672000000
					 748800000  825600000  902400000
					 979200000 1056000000 1132800000
					1190400000 1228800000 1305600000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -739,6 +865,17 @@
				       2519 2257 2668 2372    0    0    0    0>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,

					/* Speed bin 1 */
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
@@ -747,7 +884,19 @@
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>,
					<55000    0   15000    15000  (-15000)>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<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)>,

					/* Speed bin 1 */
					<10000 5000        0        0        0>,
					<10000 5000 (-20000)        0 (-35000)>,
					<10000 5000 (-20000)        0 (-35000)>,
@@ -762,9 +911,13 @@
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <25000>;
				qcom,cpr-aging-ref-corner = <13>;
				qcom,cpr-aging-ref-corner = <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>;
			};
		};
@@ -783,34 +936,73 @@

				qcom,cpr-pd-bypass-mask = <0xe0>;
				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <8>;
				qcom,cpr-corners = <25>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <25 21>;
				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>;

				qcom,ldo-headroom-voltage = <150000>;
				qcom,ldo-max-voltage = <890000>;

				qcom,cpr-corner-fmax-map = <1 4 9 13 25>;
				qcom,cpr-corner-fmax-map =
					/* Speed bin 0 */
					<1 4 9 13 25>,

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

				qcom,cpr-voltage-ceiling =
				       /* Speed bin 0 */
				       <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>,

				       /* Speed bin 1 */
				       <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>;
				       1140000>;

				qcom,cpr-voltage-floor =
				       /* Speed bin 0 */
				       <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>,

				       /* Speed bin 1 */
				       <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 */
					<    0   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000
					 80000   80000   80000   80000   80000>;
					 80000   80000   80000   80000   80000>,

					/* Speed bin 1 */
					<    0   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 */
					<307200000  403200000  480000000
					 556800000  652800000  729600000
					 806400000  883200000  940800000
@@ -819,7 +1011,16 @@
					1478400000 1555200000 1632000000
					1708800000 1785600000 1824000000
					1920000000 1996800000 2073600000
					2150400000>;
					2150400000>,

					/* Speed bin 1 */
					<307200000  403200000  480000000
					 556800000  652800000  729600000
					 806400000  883200000  940800000
					1036800000 1113600000 1190400000
					1248000000 1324800000 1401600000
					1478400000 1555200000 1632000000
					1708800000 1785600000 1804800000>;

				qcom,cpr-ro-scaling-factor =
				      <   0    0 3112 2666 2947 2543 2271 1979
@@ -834,6 +1035,17 @@
				       2519 2257 2668 2372    0    0    0    0>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<35000     0 40000 (-30000) 25000>,
					<35000     0 40000 (-30000) 25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,

					/* Speed bin 1 */
					<35000     0 40000 (-30000) 25000>,
					<35000     0 40000 (-30000) 25000>,
					<35000     0 40000   25000  25000>,
@@ -842,7 +1054,19 @@
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>,
					<35000     0 40000   25000  25000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					/* Speed bin 0 */
					<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>,

					/* Speed bin 1 */
					<35000 35000 40000 (-30000) 40000>,
					<    0     0     0 (-70000)     0>,
					<    0     0     0        0     0>,
@@ -853,34 +1077,61 @@
					<    0     0     0        0     0>;

				qcom,cpr-open-loop-voltage-adjustment =
					/* Speed bin 0 */
					<(-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)>;
					 (-30000)>,

					/* Speed bin 1 */
					<(-15000) (-15000) (-15000) (-15000)
					 (-11000) (-12000) (-13000) (-14000)
					 (-15000) (-18000) (-21000) (-23000)
					 (-25000) (-25000) (-26000) (-26000)
					 (-27000) (-27000) (-28000) (-28000)
					 (-28000)>;
				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
					 0 0 0 0 0 0 0 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 0 0 0 0>;

				qcom,cpr-closed-loop-voltage-adjustment =
					/* Speed bin 0 */
					<(-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)>;
					 (-30000)>,

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

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

				qcom,cpr-aging-max-voltage-adjustment = <25000>;
				qcom,cpr-aging-ref-corner = <13>;
				qcom,cpr-aging-ref-corner = <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>;
			};
		};