David Wu has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34624 )
Change subject: soc/intel/cannonlake: Clear the GPI IS & IE registers ......................................................................
soc/intel/cannonlake: Clear the GPI IS & IE registers
Clear the GPI Interrupt Status & Enable registers to prevent any interrupt storms due to GPI.
BUG=b:138282962 TEST=Ensure that the Interrupt status & enable registers are reset during the boot up when the system is brought out of G3, S5 & S3. Ensure that the system boots fine to ChromeOS.
Change-Id: I2185355d0095601e0778b6bf47ae137cc53e4051 Signed-off-by: David Wu david_wu@quanta.corp-partner.google.com --- M src/soc/intel/cannonlake/chip.c 1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/24/34624/1
diff --git a/src/soc/intel/cannonlake/chip.c b/src/soc/intel/cannonlake/chip.c index 4e0dba5..fc511db 100644 --- a/src/soc/intel/cannonlake/chip.c +++ b/src/soc/intel/cannonlake/chip.c @@ -184,6 +184,12 @@
void soc_init_pre_device(void *chip_info) { + /* + * Clear the GPI interrupt status and enable registers. These + * registers do not get reset to default state when booting from S5. + */ + gpi_clear_int_cfg(); + /* Perform silicon specific init. */ fsp_silicon_init(romstage_handoff_is_resume());