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: Tirupathi Reddy <tirupath@codeaurora.org>
This commit is contained in:
parent
232b0f15cc
commit
1f4af949b0
2 changed files with 84 additions and 12 deletions
|
@ -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>;
|
||||
1747200000 1843200000>,
|
||||
|
||||
/* Speed bin 1 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
1747200000 1843200000>,
|
||||
|
||||
/* Speed bin 3 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
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;
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue