Aaron Durbin (adurbin(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18295
-gerrit
commit 900e99d9c8060d5d41be3d2be8b355ba489c5cf8
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 6 10:08:45 2017 -0600
ec/google/chromeec: let platform prepare for reboot when resetting EC
This fixes an issue on systems where the S3 state in the pm1 control
registers are not cleared when vboot determines recovery mode is
required on an S3 resume. The EC code will reboot the system knowing
that the EC was in RW. However, on subsequent entry into romstage the
S3 path will be taken and fails to recover cbmem -- forcing another
reboot. To work around that, signal to the platform a reboot is
happening and let the platform perform the necessary fix ups to the
register state.
BUG=chrome-os-partner:62627
Change-Id: Ic144b11b4968c92a1273b8d9eb9dc10f0056bf3d
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/ec/google/chromeec/ec.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index d0648f7..3c90b92 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -230,6 +230,9 @@ void google_chromeec_check_ec_image(int expected_type)
cec_cmd.cmd_dev_index = 0;
printk(BIOS_DEBUG, "Rebooting with EC in RO mode:\n");
post_code(0); /* clear current post code */
+ /* Let the platform prepare for the EC taking out the system power. */
+ if (IS_ENABLED(CONFIG_VBOOT))
+ vboot_platform_prepare_reboot();
google_chromeec_command(&cec_cmd);
udelay(1000);
hard_reset();
Aaron Durbin (adurbin(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18295
-gerrit
commit fc09fe1ffc3c9c9f539ac7caf2a1f41478adb13c
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Mon Feb 6 10:08:45 2017 -0600
ec/google/chromeec: let platform prepare for reboot when resetting EC
This fixes an issue on systems where the S3 state in the pm1 control
registers are not cleared when vboot determines recovery mode is
required on an S3 resume. The EC code will reboot the system knowing
that the EC was in RW. However, on subsequent entry into romstage the
S3 path will be taken and fails to recover cbmem -- forcing another
reboot. To work around that, signal to the platform a reboot is
happening and let the platform perform the necessary fix ups to the
register state.
BUG=chrome-os-partner:62627
Change-Id: Ic144b11b4968c92a1273b8d9eb9dc10f0056bf3d
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/ec/google/chromeec/ec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index d0648f7..ad74059 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -230,6 +230,8 @@ void google_chromeec_check_ec_image(int expected_type)
cec_cmd.cmd_dev_index = 0;
printk(BIOS_DEBUG, "Rebooting with EC in RO mode:\n");
post_code(0); /* clear current post code */
+ /* Let the platform prepare for the EC taking out the system power. */
+ vboot_platform_prepare_reboot();
google_chromeec_command(&cec_cmd);
udelay(1000);
hard_reset();
Arthur Heymans (arthur(a)aheymans.xyz) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18294
-gerrit
commit 617a08d3d58602a4f6efd6a9d56b26e892ed46de
Author: Arthur Heymans <arthur(a)aheymans.xyz>
Date: Mon Feb 6 15:08:04 2017 +0100
nb/i945/gma.c: Remove writes to FIFO Watermarks
Those are the result from tracing what linux or the option rom does
but are not needed here.
TESTED on Thinkpad X60.
Change-Id: I4297a78c4ab6a19ef6161778c993fc3f3fb08c7e
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
---
src/northbridge/intel/i945/gma.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c
index 0d4ca43..eac8717 100644
--- a/src/northbridge/intel/i945/gma.c
+++ b/src/northbridge/intel/i945/gma.c
@@ -293,14 +293,6 @@ static int intel_gma_init_lvds(struct northbridge_intel_i945_config *conf,
write32(mmiobase + DSPPOS(0), 0);
/* Backlight init. */
- write32(mmiobase + FW_BLC_SELF, FW_BLC_SELF_EN_MASK);
- write32(mmiobase + FW_BLC, 0x011d011a);
- write32(mmiobase + FW_BLC2, 0x00000102);
- write32(mmiobase + FW_BLC_SELF, FW_BLC_SELF_EN_MASK);
- write32(mmiobase + FW_BLC_SELF, 0x0001003f);
- write32(mmiobase + FW_BLC, 0x011d0109);
- write32(mmiobase + FW_BLC2, 0x00000102);
- write32(mmiobase + FW_BLC_SELF, FW_BLC_SELF_EN_MASK);
write32(mmiobase + BLC_PWM_CTL, conf->gpu_backlight);
edid.bytes_per_line = (edid.bytes_per_line + 63) & ~63;