[coreboot-gerrit] New patch to review for coreboot: lynxpoint/broadwell: fix PCH power optimizer
Matt DeVillier (matt.devillier@gmail.com)
gerrit at coreboot.org
Thu Feb 16 18:48:30 CET 2017
Matt DeVillier (matt.devillier at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18385
-gerrit
commit 81f9f477cb9ef38712b41d7c214ccd320c66675e
Author: Matt DeVillier <matt.devillier at gmail.com>
Date: Thu Feb 16 11:36:16 2017 -0600
lynxpoint/broadwell: fix PCH power optimizer
Setting bit 7 of PCH register PMSYNC_CFG (PMSYNC Configuration;
offset 0x33c8) causes pre-OS display init to fail on HSW-U/Lynxpoint
and BDW-U ChromeOS devices when the VBIOS/GOP driver is run after the
register is set. As this bit falls into the reserved/undocumented
range, there is no way of telling its function, but unsetting it
appears to have no ill effect.
The previous workaround was to disable the entire power optimizer
section via a Kconfig option, which isn't ideal.
Test: unset bit 7 of PMSYNC_CFG and boot google/lulu,
observe functional pre-OS video output
Change-Id: I446e169d23dd446710a1648f0a9b9599568b80aa
Signed-off-by: Matt DeVillier <matt.devillier at gmail.com>
---
src/soc/intel/broadwell/lpc.c | 2 +-
src/southbridge/intel/lynxpoint/lpc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/soc/intel/broadwell/lpc.c b/src/soc/intel/broadwell/lpc.c
index c1600c5..b9a7567 100644
--- a/src/soc/intel/broadwell/lpc.c
+++ b/src/soc/intel/broadwell/lpc.c
@@ -262,7 +262,7 @@ static const struct reg_script pch_pm_init_script[] = {
REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x3354, 0x00000001),
/* Power Optimizer */
REG_MMIO_OR32(RCBA_BASE_ADDRESS + 0x33d4, 0x08000000),
- REG_MMIO_OR32(RCBA_BASE_ADDRESS + 0x33c8, 0x08000080),
+ REG_MMIO_OR32(RCBA_BASE_ADDRESS + 0x33c8, 0x08000000),
REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x2b10, 0x0000883c),
REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x2b14, 0x1e0a4616),
REG_MMIO_WRITE32(RCBA_BASE_ADDRESS + 0x2b24, 0x40000005),
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index 04cb0bd..148425b 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -347,7 +347,7 @@ const struct rcba_config_instruction lpt_lp_pm_rcba[] = {
RCBA_RMW_REG_32(0x3350, 0, 0x022ddfff),
RCBA_RMW_REG_32(0x3354, 0, 0x00000001),
RCBA_RMW_REG_32(0x33d4, ~0, 0x08000000), /* Power Optimizer */
- RCBA_RMW_REG_32(0x33c8, ~0, 0x08000080), /* Power Optimizer */
+ RCBA_RMW_REG_32(0x33c8, ~0, 0x08000000), /* Power Optimizer */
RCBA_RMW_REG_32(0x2b10, 0, 0x0000883c), /* Power Optimizer */
RCBA_RMW_REG_32(0x2b14, 0, 0x1e0a4616), /* Power Optimizer */
RCBA_RMW_REG_32(0x2b24, 0, 0x40000005), /* Power Optimizer */
More information about the coreboot-gerrit
mailing list