[coreboot-gerrit] New patch to review for coreboot: nb/intel/i945: Fix PEG port on 945gc
Arthur Heymans (arthur@aheymans.xyz)
gerrit at coreboot.org
Thu Mar 2 23:55:58 CET 2017
Arthur Heymans (arthur at aheymans.xyz) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18549
-gerrit
commit 0387e40763288c1d5495b481e73dd8415f949015
Author: Arthur Heymans <arthur at aheymans.xyz>
Date: Thu Mar 2 23:51:09 2017 +0100
nb/intel/i945: Fix PEG port on 945gc
Vendor bios leaves UPMC1 untouched. Not running PCIEx16 init which is
valid for 945gm seems to fix all issues and instabilities related to
the PEG port.
Change-Id: I6da8aa7714073f4b34df5ae3c1eb4c19e27ddc97
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
src/northbridge/intel/i945/early_init.c | 3 ++-
src/northbridge/intel/i945/raminit.c | 20 +++++++++++---------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/northbridge/intel/i945/early_init.c b/src/northbridge/intel/i945/early_init.c
index 81a6c83..e7b460b 100644
--- a/src/northbridge/intel/i945/early_init.c
+++ b/src/northbridge/intel/i945/early_init.c
@@ -935,7 +935,8 @@ void i945_late_initialization(int s3resume)
i945_setup_dmi_rcrb();
- i945_setup_pci_express_x16();
+ if (IS_ENABLED(CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM))
+ i945_setup_pci_express_x16();
i945_setup_root_complex_topology();
diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c
index 8fe5f24..52bb355 100644
--- a/src/northbridge/intel/i945/raminit.c
+++ b/src/northbridge/intel/i945/raminit.c
@@ -2524,17 +2524,19 @@ static void sdram_power_management(struct sys_info *sysinfo)
reg32 |= (1 << 12) | (1 << 11);
MCHBAR32(C1DRC1) = reg32;
- if (i945_silicon_revision()>1) {
- /* FIXME bits 5 and 0 only if PCIe graphics is disabled */
- u16 peg_bits = (1 << 5) | (1 << 0);
+ if (IS_ENABLED(CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM)) {
+ if (i945_silicon_revision()>1) {
+ /* FIXME bits 5 and 0 only if PCIe graphics is disabled */
+ u16 peg_bits = (1 << 5) | (1 << 0);
- MCHBAR16(UPMC1) = 0x1010 | peg_bits;
- } else {
- /* FIXME bits 5 and 0 only if PCIe graphics is disabled */
- u16 peg_bits = (1 << 5) | (1 << 0);
+ MCHBAR16(UPMC1) = 0x1010 | peg_bits;
+ } else {
+ /* FIXME bits 5 and 0 only if PCIe graphics is disabled */
+ u16 peg_bits = (1 << 5) | (1 << 0);
- /* Rev 0 and 1 */
- MCHBAR16(UPMC1) = 0x0010 | peg_bits;
+ /* Rev 0 and 1 */
+ MCHBAR16(UPMC1) = 0x0010 | peg_bits;
+ }
}
reg16 = MCHBAR16(UPMC2);
More information about the coreboot-gerrit
mailing list