Nico Huber submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Hung-Te Lin: Looks good to me, approved Yu-Ping Wu: Looks good to me, but someone else must approve
soc/mediatek/mt8183: Restore vcore after DRAM calibration

DRAM calibration sets vcore to different voltages at different
frequencies. After DRAM calibration, vcore should be restored to the
default voltage, which is 800mV for both eMCP and discrete DDR devices.

BRANCH=kukui
BUG=b:146618163
TEST=bootup pass

Change-Id: Ia87b4ac78a32dbd4c4ab52e84d307cb46525afa1
Signed-off-by: Huayang Duan <huayang.duan@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37924
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
---
M src/soc/mediatek/mt8183/memory.c
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/soc/mediatek/mt8183/memory.c b/src/soc/mediatek/mt8183/memory.c
index 13c3d9a..78890ea 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 @@
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 @@
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 @@
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);
+}

To view, visit change 37924. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ia87b4ac78a32dbd4c4ab52e84d307cb46525afa1
Gerrit-Change-Number: 37924
Gerrit-PatchSet: 7
Gerrit-Owner: huayang duan <huayangduan@gmail.com>
Gerrit-Reviewer: Hung-Te Lin <hungte@chromium.org>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: You-Cheng Syu <youcheng@google.com>
Gerrit-Reviewer: Yu-Ping Wu <yupingso@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-Reviewer: huayang duan <huayangduan@gmail.com>
Gerrit-CC: SJ Huang <sj.huang@mediatek.corp-partner.google.com>
Gerrit-MessageType: merged