coreboot/src
Rudolf Marek 566b4f008f AGESA f15tn: Fix GPP ports resume
The AGESA resumes the GPP ports in the romstage using FchInitResetGpp(),
which does FchGppPortInitS3Phase() for S3 resume. The PreInitGppLink()
looks into CMOS to figure out what ports to just force to Gen1 or
Gen2 PCIe. Then boot continues and in the ramstage the rest of GPP
init is executed. There is a problem that nobody sets properly the
PortDetected flags in the S3 path. As the consequence FchGppDynamicPowerSaving()
thinks the GPP port is not enabled and shut downs it.

The best fix would be also to remove the CMOS dependency which
might be some left over, because AGESA does not use CMOS much for
anything else. There could be also some way how to pass the GPP state
structure from romstage to ramstage possibly via hudson/resume.c
but I don't know how to do that. Similar problem is that the "late"
stage of init again "forgets" the PortDetected state.

This fix fixes the resume issue on Asus F2A85-M. With this patch applied
both GPP ports (used as PCIe x1 and internal ethernet) are working again
after resume.

Change-Id: Idaf609043abb09441c6790504d66d23e0637588f
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/4671
Tested-by: build bot (Jenkins)
Reviewed-by: Idwer Vollering <vidwer@gmail.com>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2014-02-01 21:44:31 +01:00
..
arch x86: include optional reference code blob in cbfs 2014-01-30 05:49:47 +01:00
console Remove sprintf 2014-01-10 18:08:31 +01:00
cpu cpu/intel/model_2065x: Add model 20652 2014-02-01 16:41:11 +01:00
device smbus: Add guards to avoid calling NULL. 2014-02-01 18:38:32 +01:00
drivers lenovo: Handle EEPROM/RFID chip. 2014-02-01 18:48:16 +01:00
ec chromeec: allow override of i8042 interrupt 2014-01-30 05:36:33 +01:00
include x86: Add SMM helper functions to MP infrastructure 2014-01-30 06:05:38 +01:00
lib coreboot: config to cache ramstage outside CBMEM 2014-01-30 06:04:02 +01:00
mainboard lenovo/x201: Skip AT24RF08 detection. 2014-02-01 20:17:59 +01:00
northbridge x86: add common definitions for control registers 2014-01-28 23:12:27 +01:00
soc baytrail: introduce pattrs 2014-01-31 20:42:37 +01:00
southbridge AMD hudson and yangtze: add IMC fan control support 2014-02-01 19:07:19 +01:00
superio superio/fintek: Add initial support for Fintek F71869AD. 2014-01-27 00:13:14 +01:00
vendorcode AGESA f15tn: Fix GPP ports resume 2014-02-01 21:44:31 +01:00
Kconfig baytrail: add initial support 2014-01-31 16:36:59 +01:00