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

Commit 33dadebf authored by Tirupathi Reddy's avatar Tirupathi Reddy Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add speed-bin 3 for sdm660



Add speed-bin 3 support in cpr3 driver and device nodes
for sdm660.

CRs-Fixed: 2099889
Change-Id: Ied0da8ea6f9d787d0021716566080c37881b9558
Signed-off-by: default avatarTirupathi Reddy <tirupath@codeaurora.org>
parent b8159cfb
Loading
Loading
Loading
Loading
+72 −11
Original line number Diff line number Diff line
@@ -700,11 +700,33 @@
				regulator-max-microvolt = <8>;

				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <8 8>;
				qcom,cpr-corners = <8>;
				qcom,cpr-corner-fmax-map = <2 3 4 5 8>;
				qcom,cpr-fuse-combos = <32>;
				qcom,cpr-speed-bins = <4>;
				qcom,cpr-speed-bin-corners = <8 8 0 8>;
				qcom,cpr-corners =
					/* Speed bin 0 */
					<8 8 8 8 8 8 8 8>,

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

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

					/* Speed bin 3 */
					<8 8 8 8 8 8 8 8>;
				qcom,cpr-corner-fmax-map =
					/* Speed bin 0 */
					<2 3 4 5 8>,

					/* Speed bin 1 */
					<2 3 4 5 8>,

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

					/* Speed bin 3 */
					<2 3 4 5 8>;

				qcom,cpr-voltage-ceiling =
					< 724000  724000  724000  788000  868000
@@ -715,9 +737,20 @@
					 744000  784000  844000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
					<300000000  633600000  902400000
					1113600000 1401600000 1536000000
					1747200000 1843200000>,

					/* Speed bin 1 */
					<300000000  633600000  902400000
					1113600000 1401600000 1536000000
					1747200000 1843200000>,

					/* Speed bin 3 */
					<300000000  633600000  902400000
					1113600000 1401600000 1536000000
					1747200000 1843200000>;
					1612800000 1843200000>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
@@ -806,11 +839,34 @@
				regulator-max-microvolt = <7>;

				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <7 7>;
				qcom,cpr-corners = <7>;
				qcom,cpr-corner-fmax-map = <2 3 4 6 7>;
				qcom,cpr-fuse-combos = <32>;
				qcom,cpr-speed-bins = <4>;
				qcom,cpr-speed-bin-corners = <7 7 0 7>;
				qcom,cpr-corners =
					/* Speed-bin 0 */
					<7 7 7 7 7 7 7 7>,

					/* Speed-bin 1 */
					<7 7 7 7 7 7 7 7>,

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

					/* Speed-bin 3 */
					<7 7 7 7 7 7 7 7>;

				qcom,cpr-corner-fmax-map =
					/* Speed-bin 0 */
					<2 3 4 6 7>,

					/* Speed-bin 1 */
					<2 3 4 6 7>,

					/* Speed-bin 2 */
					<0 0 0 0 0>,

					/* Speed-bin 3 */
					<2 3 4 6 7>;

				qcom,cpr-voltage-ceiling =
					<724000  724000  788000  868000
@@ -829,6 +885,11 @@
					/* Speed bin 1 */
					<300000000  1113600000 1401600000
					 1747200000 1958400000 2150400000
					 2208000000>,

					/* Speed bin 3 */
					<300000000  1113600000 1401600000
					 1747200000 1804800000 2150400000
					 2208000000>;

				qcom,allow-voltage-interpolation;
+12 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ struct cprh_kbss_fuses {
 * Fuse combos 24 - 31 map to CPR fusing revision 0 - 7 with speed bin fuse = 3.
 */
#define CPRH_MSM8998_KBSS_FUSE_COMBO_COUNT	32
#define CPRH_SDM660_KBSS_FUSE_COMBO_COUNT	16
#define CPRH_SDM660_KBSS_FUSE_COMBO_COUNT	32
#define CPRH_SDM630_KBSS_FUSE_COMBO_COUNT	24

/*
@@ -1069,6 +1069,12 @@ static int cprh_kbss_calculate_open_loop_voltages(struct cpr3_regulator *vreg)
			CPRH_KBSS_FUSE_STEP_VOLT, fuse->init_voltage[i],
			CPRH_KBSS_VOLTAGE_FUSE_SIZE);

		/* SDM660 speed bin #3 does not support TURBO_L1/L2 */
		if (soc_revision == SDM660_SOC_ID && vreg->speed_bin_fuse == 3
		    && (id == CPRH_KBSS_PERFORMANCE_CLUSTER_ID)
		    && (i == CPRH_SDM660_PERF_KBSS_FUSE_CORNER_TURBO_L2))
			continue;

		/* Log fused open-loop voltage values for debugging purposes. */
		cpr3_info(vreg, "fused %8s: open-loop=%7d uV\n", corner_name[i],
			  fuse_volt[i]);
@@ -1615,6 +1621,11 @@ static int cprh_kbss_calculate_target_quotients(struct cpr3_regulator *vreg)
				CPRH_SDM660_PERF_KBSS_FUSE_CORNER_SVS;
			highest_fuse_corner =
				CPRH_SDM660_PERF_KBSS_FUSE_CORNER_TURBO_L2;

			/* speed-bin 3 does not have Turbo_L2 fuse */
			if (vreg->speed_bin_fuse == 3)
				highest_fuse_corner =
					CPRH_SDM660_PERF_KBSS_FUSE_CORNER_TURBO;
		}
		break;
	case SDM630_SOC_ID: