diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
index b23b6d2..147a224 100644
--- a/drivers/cpufreq/mediatek-cpufreq.c
+++ b/drivers/cpufreq/mediatek-cpufreq.c
@@ -15,6 +15,7 @@
 #include <linux/regulator/consumer.h>
 #include <linux/slab.h>
 #include <linux/thermal.h>
+#include <linux/nvmem-consumer.h>
 
 #define MIN_VOLT_SHIFT		(100000)
 #define MAX_VOLT_SHIFT		(200000)
@@ -539,6 +540,11 @@ static int mtk_cpufreq_init(struct cpufreq_policy *policy)
 	struct mtk_cpu_dvfs_info *info;
 	struct cpufreq_frequency_table *freq_table;
 	int ret;
+	int target_vproc;
+	u32 reg_val;
+	struct nvmem_cell *cell;
+	size_t len;
+	u32 *buf;
 
 	info = mtk_cpu_dvfs_info_lookup(policy->cpu);
 	if (!info) {
@@ -547,6 +553,22 @@ static int mtk_cpufreq_init(struct cpufreq_policy *policy)
 		return -EINVAL;
 	}
 
+	cell = nvmem_cell_get(info->cpu_dev, "calibration-data");
+	if (!IS_ERR(cell)) {
+		buf = (u32 *)nvmem_cell_read(cell, &len);
+		nvmem_cell_put(cell);
+		if (!IS_ERR(buf)) {
+			reg_val = buf[0] & 0x1f;
+			pr_debug("%s: read vbinning value: %d\n", __func__, reg_val);
+			if (reg_val > 0) {
+				target_vproc = 850000 + reg_val * 10000;
+				dev_pm_opp_remove(info->cpu_dev, 1800000000);
+				dev_pm_opp_add(info->cpu_dev, 1800000000, target_vproc);
+			}
+			kfree(buf);
+		}
+	}
+
 	ret = dev_pm_opp_init_cpufreq_table(info->cpu_dev, &freq_table);
 	if (ret) {
 		pr_err("failed to init cpufreq table for cpu%d: %d\n",
