[coreboot-gerrit] Change in coreboot[master]: nb/intel/sandybridge/earlyinit: Add Kconfig for PCIe Gen3

Patrick Rudolph (Code Review) gerrit at coreboot.org
Wed Aug 9 15:40:02 CEST 2017


Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/20929


Change subject: nb/intel/sandybridge/earlyinit: Add Kconfig for PCIe Gen3
......................................................................

nb/intel/sandybridge/earlyinit: Add Kconfig for PCIe Gen3

Add a Kconfig option to enable PCI Gen3.
At the moment it's only supported by MRC as a special training sequence
is required, that hasn't been implemented yet.

Change-Id: I07b66cb353a3e572183ee00c79e8f240cf79107e
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M src/northbridge/intel/sandybridge/Kconfig
M src/northbridge/intel/sandybridge/early_init.c
M src/northbridge/intel/sandybridge/raminit_mrc.c
3 files changed, 17 insertions(+), 1 deletion(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/29/20929/1

diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
index 2d13f28..f033a5d 100644
--- a/src/northbridge/intel/sandybridge/Kconfig
+++ b/src/northbridge/intel/sandybridge/Kconfig
@@ -86,6 +86,13 @@
 	  We can optimize the native case but the MRC blob requires it
 	  to be at 0xf0000000.
 
+config ENABLE_PEG_GEN3
+	def_bool n
+	depends on !USE_NATIVE_RAMINIT
+	help
+	  PCIe Gen3 needs a special training sequence that increases boot time.
+	  Native ram init doesn't support PCI Gen3 PEG ports.
+
 if USE_NATIVE_RAMINIT
 
 config DCACHE_RAM_BASE
diff --git a/src/northbridge/intel/sandybridge/early_init.c b/src/northbridge/intel/sandybridge/early_init.c
index a5c6ce2..6b89219 100644
--- a/src/northbridge/intel/sandybridge/early_init.c
+++ b/src/northbridge/intel/sandybridge/early_init.c
@@ -285,9 +285,15 @@
 	if (pci_read_config32(PCI_DEV(0, 0, 0), CAPID0_B) & (1 << 20)) {
 		printk(BIOS_DEBUG, "PEG: PCIe Gen3 disabled\n");
 		link_mask = (3 << 1);
-	} else
+	} else {
 		printk(BIOS_DEBUG, "PEG: PCIe Gen3 supported\n");
 
+		if (!IS_ENABLED(CONFIG_ENABLE_PEG_GEN3)) {
+			link_mask = (3 << 1);
+			printk(BIOS_DEBUG, "PEG: Limiting to PCIe Gen2\n");
+		}
+	}
+
 	/* Configure PEG10/PEG11/PEG12 PHY */
 	ivybridge_peg_phy();
 
diff --git a/src/northbridge/intel/sandybridge/raminit_mrc.c b/src/northbridge/intel/sandybridge/raminit_mrc.c
index 7145841..2d53c33 100644
--- a/src/northbridge/intel/sandybridge/raminit_mrc.c
+++ b/src/northbridge/intel/sandybridge/raminit_mrc.c
@@ -272,6 +272,9 @@
 
 	mainboard_fill_pei_data(&pei_data);
 
+	/* Init PCIe Gen3 if requested */
+	pei_data.pcie_init = IS_ENABLED(CONFIG_ENABLE_PEG_GEN3);
+
 	post_code(0x3a);
 	pei_data.boot_mode = s3resume ? 2 : 0;
 	timestamp_add_now(TS_BEFORE_INITRAM);

-- 
To view, visit https://review.coreboot.org/20929
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I07b66cb353a3e572183ee00c79e8f240cf79107e
Gerrit-Change-Number: 20929
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170809/694f7c9f/attachment.html>


More information about the coreboot-gerrit mailing list