summaryrefslogtreecommitdiffstats
path: root/src/soc/mediatek/mt8183/include
diff options
context:
space:
mode:
authorHuayang Duan <huayang.duan@mediatek.com>2019-08-27 13:36:14 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-10-09 22:22:41 +0000
commit078332e4d82a9a2edfa4e3fbcdc8b0b78356f989 (patch)
treef5f576fa261890f34eae1648d9224ef6fe1f3be8 /src/soc/mediatek/mt8183/include
parent846be446d3099544c2d1029ca2b7884c1641441d (diff)
downloadcoreboot-078332e4d82a9a2edfa4e3fbcdc8b0b78356f989.tar.gz
coreboot-078332e4d82a9a2edfa4e3fbcdc8b0b78356f989.tar.bz2
coreboot-078332e4d82a9a2edfa4e3fbcdc8b0b78356f989.zip
soc/mediatek/mt8183: Run DRAM full calibration
Load the calibration params from flash first and check the correctness of the params. If the params have correct format, perform DRAM fast calibration with these params to reduce bootup time. Otherwise, load the DRAM blob and perform DRAM full calibration. Bootup time of DRAM partial calibration: - 1,349,385 usecs with low frequency - 924,698 usecs with middle frequency - 1,270,089 usecs with high frequency 3,544,172 usecs in total. Bootup time of DRAM fast calibration: - 216,663 usecs with low frequency - 328,220 usecs with middle frequency - 322,612 usecs with high frequency 867,495 usecs in total. BUG=b:139099592 BRANCH=none TEST=emerge-kukui coreboot Change-Id: I8de29b14b1fb24b3b4f351c855c5c4d8f350cc34 Signed-off-by: Huayang Duan <huayang.duan@mediatek.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35110 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Diffstat (limited to 'src/soc/mediatek/mt8183/include')
-rw-r--r--src/soc/mediatek/mt8183/include/soc/emi.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/soc/mediatek/mt8183/include/soc/emi.h b/src/soc/mediatek/mt8183/include/soc/emi.h
index ab21bc7e1216..624c0a4ac314 100644
--- a/src/soc/mediatek/mt8183/include/soc/emi.h
+++ b/src/soc/mediatek/mt8183/include/soc/emi.h
@@ -71,6 +71,8 @@ struct sdram_params {
u16 delay_cell_unit;
};
+struct dramc_param_ops;
+
enum {
LP4X_DDR1600,
LP4X_DDR2400,
@@ -86,6 +88,6 @@ size_t sdram_size(void);
const struct sdram_params *get_sdram_config(void);
void enable_emi_dcm(void);
void mt_set_emi(const struct sdram_params *freq_params);
-void mt_mem_init(const struct sdram_params *freq_params);
+void mt_mem_init(struct dramc_param_ops *dparam_ops);
#endif /* SOC_MEDIATEK_MT8183_EMI_H */