From f7fd9b145e52d83fa2da16644e11538da17bd430 Mon Sep 17 00:00:00 2001 From: Seunghwan Kim Date: Thu, 24 Jan 2019 16:17:44 +0900 Subject: soc/intel/apollolake: Add GLK usb2eye configuration override Now we have usb2eye configuration register in FSPUPD, so we need to add an interface to override usb2eye setting. BRANCH=octopus BUG=NONE TEST=Verified usb2eye custom setting works Change-Id: I5c500964658072eaaf59364242aa928df25d99d1 Signed-off-by: Seunghwan Kim Reviewed-on: https://review.coreboot.org/c/31060 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh Reviewed-by: Paul Menzel --- src/soc/intel/apollolake/chip.c | 16 ++++++++++++++++ src/soc/intel/apollolake/include/soc/usb.h | 1 + 2 files changed, 17 insertions(+) (limited to 'src/soc') diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index afbb45cd04..a3ce48383d 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -593,6 +593,22 @@ static void glk_fsp_silicon_init_params_cb( struct soc_intel_apollolake_config *cfg, FSP_S_CONFIG *silconfig) { #if IS_ENABLED(CONFIG_SOC_INTEL_GLK) + uint8_t port; + + for (port = 0; port < APOLLOLAKE_USB2_PORT_MAX; port++) { + if (!cfg->usb2eye[port].Usb20OverrideEn) + continue; + + silconfig->Usb2AfePehalfbit[port] = + cfg->usb2eye[port].Usb20PerPortTxPeHalf; + silconfig->Usb2AfePetxiset[port] = + cfg->usb2eye[port].Usb20PerPortPeTxiSet; + silconfig->Usb2AfeTxiset[port] = + cfg->usb2eye[port].Usb20PerPortTxiSet; + silconfig->Usb2AfePredeemp[port] = + cfg->usb2eye[port].Usb20IUsbTxEmphasisEn; + } + silconfig->Gmm = 0; /* On Geminilake, we need to override the default FSP PCIe de-emphasis diff --git a/src/soc/intel/apollolake/include/soc/usb.h b/src/soc/intel/apollolake/include/soc/usb.h index 7dd9ec089a..28cad37f58 100644 --- a/src/soc/intel/apollolake/include/soc/usb.h +++ b/src/soc/intel/apollolake/include/soc/usb.h @@ -30,6 +30,7 @@ struct usb2_eye_per_port { uint8_t Usb20IUsbTxEmphasisEn; uint8_t Usb20PerPortRXISet; uint8_t Usb20HsNpreDrvSel; + uint8_t Usb20OverrideEn; }; #endif /* _SOC_APOLLOLAKE_USB_H_ */ -- cgit v1.2.3