aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/apollolake/chip.c
diff options
context:
space:
mode:
authorShamile Khan <shamile.khan@intel.com>2018-03-14 18:09:19 -0700
committerMartin Roth <martinroth@google.com>2018-03-19 14:25:04 +0000
commitc4276a3fdc803213d706491c3f83534ce2870f24 (patch)
treedfe6a5adae8ec09f2a4647ccefee084cc7c4f8c5 /src/soc/intel/apollolake/chip.c
parentcc6953bb346e921fb4ed49931e94da0f82e922e7 (diff)
soc/intel/apollolake: Add PCIe de-emphasis enable configuration.
PCIe de-emphasis is enabled by default. Thunderpeak Wi-Fi requires it to be disabled. Therefore allow it to be configured via a device tree setting. TEST=On GLKRVP, verify Thunderpeak Wi-Fi card shows up in lspci when de-emphasis is disabled in device tree. Change-Id: Iae204768dfe00a638c764644c44c7cda269e73e0 Signed-off-by: Shamile Khan <shamile.khan@intel.com> Reviewed-on: https://review.coreboot.org/25185 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/apollolake/chip.c')
-rw-r--r--src/soc/intel/apollolake/chip.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index af145c0259..cac2f1134b 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -502,6 +502,17 @@ static void glk_fsp_silicon_init_params_cb(
struct soc_intel_apollolake_config *cfg, FSP_S_CONFIG *silconfig)
{
silconfig->Gmm = 0;
+
+ /* On Geminilake, we need to override the default FSP PCIe de-emphasis
+ * settings using the device tree settings. This is because PCIe
+ * de-emphasis is enabled by default and Thunderpeak PCIe WiFi detection
+ * requires de-emphasis disabled. If we make this change common to both
+ * Apollolake and Geminilake, then we need to add mainboard device tree
+ * de-emphasis settings of 1 to Apollolake systems.
+ */
+ memcpy(silconfig->PcieRpSelectableDeemphasis,
+ cfg->pcie_rp_deemphasis_enable,
+ sizeof(silconfig->PcieRpSelectableDeemphasis));
}
void __attribute__((weak)) mainboard_devtree_update(struct device *dev)