From 93fde11aefe108fd8f619239fb17f056bea3a778 Mon Sep 17 00:00:00 2001 From: Lijian Zhao Date: Mon, 5 Feb 2018 18:14:11 -0800 Subject: soc/intel/cannonlake: Add support for EMMC DLL update Add option to have customized DLL setting for EMMC interface to make EMMC able to run at HS400 speed. BUG=None Change-Id: I38bc022d8c05dd1fbd03dc26aa6f33cd249e8248 Signed-off-by: Lijian Zhao Reviewed-on: https://review.coreboot.org/23600 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/soc/intel/cannonlake/chip.c | 6 ++++++ src/soc/intel/cannonlake/chip.h | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/soc/intel') diff --git a/src/soc/intel/cannonlake/chip.c b/src/soc/intel/cannonlake/chip.c index f05b55abf5..68f95d3df3 100644 --- a/src/soc/intel/cannonlake/chip.c +++ b/src/soc/intel/cannonlake/chip.c @@ -262,6 +262,12 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) /* eMMC and SD */ params->ScsEmmcEnabled = config->ScsEmmcEnabled; params->ScsEmmcHs400Enabled = config->ScsEmmcHs400Enabled; + params->PchScsEmmcHs400DllDataValid = config->EmmcHs400DllNeed; + if (config->EmmcHs400DllNeed == 1) { + params->PchScsEmmcHs400RxStrobeDll1 = + config->EmmcHs400RxStrobeDll1; + params->PchScsEmmcHs400TxDataDll = config->EmmcHs400TxDataDll; + } params->ScsSdCardEnabled = config->ScsSdCardEnabled; params->ScsUfsEnabled = config->ScsUfsEnabled; diff --git a/src/soc/intel/cannonlake/chip.h b/src/soc/intel/cannonlake/chip.h index a42494c71d..5d1b714de9 100644 --- a/src/soc/intel/cannonlake/chip.h +++ b/src/soc/intel/cannonlake/chip.h @@ -155,7 +155,12 @@ struct soc_intel_cannonlake_config { /* eMMC and SD */ uint8_t ScsEmmcEnabled; uint8_t ScsEmmcHs400Enabled; - uint8_t PchScsEmmcHs400TuningRequired; + /* Need to update DLL setting to get Emmc running at HS400 speed */ + uint8_t EmmcHs400DllNeed; + /* 0-39: number of active delay for RX strobe, unit is 125 psec */ + uint8_t EmmcHs400RxStrobeDll1; + /* 0-78: number of active delay for TX data, unit is 125 psec */ + uint8_t EmmcHs400TxDataDll; uint8_t ScsSdCardEnabled; uint8_t ScsUfsEnabled; -- cgit v1.2.3