summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/mediatek/mt8183/memory.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/soc/mediatek/mt8183/memory.c b/src/soc/mediatek/mt8183/memory.c
index 13c3d9ad36..78890ea3d2 100644
--- a/src/soc/mediatek/mt8183/memory.c
+++ b/src/soc/mediatek/mt8183/memory.c
@@ -21,6 +21,7 @@
#include <soc/dramc_param.h>
#include <soc/dramc_pi_api.h>
#include <soc/emi.h>
+#include <soc/mt6358.h>
#include <symbols.h>
static int mt_mem_test(void)
@@ -156,7 +157,7 @@ static void init_sdram_params(struct sdram_params *dst,
memcpy(&dst[shuffle], src, sizeof(*dst));
}
-void mt_mem_init(struct dramc_param_ops *dparam_ops)
+static void mt_mem_init_run(struct dramc_param_ops *dparam_ops)
{
struct dramc_param *dparam = dparam_ops->param;
@@ -202,6 +203,7 @@ void mt_mem_init(struct dramc_param_ops *dparam_ops)
if (err == 0) {
printk(BIOS_INFO, "Successfully loaded DRAM blobs and "
"ran DRAM calibration\n");
+
/*
* In recovery mode the system boots in RO but the flash params
* should be calibrated for RW so we can't mix them up.
@@ -228,3 +230,11 @@ void mt_mem_init(struct dramc_param_ops *dparam_ops)
if (mt_mem_test() != 0)
die("Memory test failed with params from sdram config\n");
}
+
+void mt_mem_init(struct dramc_param_ops *dparam_ops)
+{
+ mt_mem_init_run(dparam_ops);
+
+ /* After DRAM calibration, restore vcore voltage to default setting */
+ pmic_set_vcore_vol(800000);
+}