From e072247e6e54ec76157b21dc3109e8cb5f99158c Mon Sep 17 00:00:00 2001 From: Pratik Prajapati Date: Wed, 22 Aug 2018 18:58:38 -0700 Subject: skylake,kabylake: Add support to set eMMC tuning param from dev tree Add support to set eMMC tuning params from the device tree so that it can be configured per board. BUG=b:112718426,b:112690628 BRANCH=none TEST=Build nocturne image and checked values passed in dev tree is set by FSP. Change-Id: Ic71934dce9a1c380a057e579ca3fda41983b9385 Signed-off-by: Pratik Prajapati Reviewed-on: https://review.coreboot.org/28274 Tested-by: build bot (Jenkins) Reviewed-by: Lijian Zhao Reviewed-by: Philipp Deppenwiese Reviewed-by: Nick Vaccaro --- src/soc/intel/skylake/chip.h | 3 +++ src/soc/intel/skylake/chip_fsp20.c | 9 +++++++++ 2 files changed, 12 insertions(+) (limited to 'src/soc') diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h index 5bf39318bb..b1ffcb2fe8 100644 --- a/src/soc/intel/skylake/chip.h +++ b/src/soc/intel/skylake/chip.h @@ -291,6 +291,9 @@ struct soc_intel_skylake_config { u8 ScsEmmcEnabled; u8 ScsEmmcHs400Enabled; u8 ScsSdCardEnabled; + u8 EmmcHs400DllNeed; + u8 ScsEmmcHs400RxStrobeDll1; + u8 ScsEmmcHs400TxDataDll; u8 PttSwitch; u8 HeciTimeouts; diff --git a/src/soc/intel/skylake/chip_fsp20.c b/src/soc/intel/skylake/chip_fsp20.c index d5f543302f..c2c0745565 100644 --- a/src/soc/intel/skylake/chip_fsp20.c +++ b/src/soc/intel/skylake/chip_fsp20.c @@ -336,6 +336,15 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) params->ScsEmmcHs400Enabled = config->ScsEmmcHs400Enabled; params->ScsSdCardEnabled = config->ScsSdCardEnabled; + if (!!params->ScsEmmcHs400Enabled && !!config->EmmcHs400DllNeed) { + params->PchScsEmmcHs400DllDataValid = + !!config->EmmcHs400DllNeed; + params->PchScsEmmcHs400RxStrobeDll1 = + config->ScsEmmcHs400RxStrobeDll1; + params->PchScsEmmcHs400TxDataDll = + config->ScsEmmcHs400TxDataDll; + } + /* If ISH is enabled, enable ISH elements */ dev = dev_find_slot(0, PCH_DEVFN_ISH); if (dev) -- cgit v1.2.3