Stefan Reinauer has submitted this change. ( https://review.coreboot.org/c/blobs/+/35969?usp=email )
Change subject: 00730F01/binaryPI: fix firmware table lookup ......................................................................
00730F01/binaryPI: fix firmware table lookup
The bug was discussed in CB:31074, referred to as "off-by-one" error. AGESA looks for ROM signature of the firmware table at 5 offsets instead of all 6 possible offsets. As a result placing the AMD firmware with amdfwtool at offset FFFA0000 will lead to the incorrect xHCI controller initialization by not loading the xHCI firmware from the firmware table.
Increase the loop iterations to 6 in order to allow offset FFFA0000 to be checked for ROM signature presence. The goal is to save even more space in the SPI flash by putting the AMD firmware at the highest possible address. The bug was present in both AGESA 1.0.0.A and 1.0.0.4 used by PC Engines apu2 platforms.
TEST=Set the AMD FW offset to FFFA0000, build apu2 firmware and check whether xHCI controller appears in lspci on Linux and USB 3.0 devices get enumerated properly.
Signed-off-by: Michał Żygowski michal.zygowski@3mdeb.com Change-Id: I7d81998b34c24d8294c81631224d92133bb67f24 --- M mainboard/pcengines/apu2/AGESA.bin M pi/amd/00730F01/FT3b/AGESA.bin 2 files changed, 0 insertions(+), 0 deletions(-)
Approvals: Stefan Reinauer: Verified; Looks good to me, approved
diff --git a/mainboard/pcengines/apu2/AGESA.bin b/mainboard/pcengines/apu2/AGESA.bin index 71d8dba..12b57e8 100644 --- a/mainboard/pcengines/apu2/AGESA.bin +++ b/mainboard/pcengines/apu2/AGESA.bin Binary files differ diff --git a/pi/amd/00730F01/FT3b/AGESA.bin b/pi/amd/00730F01/FT3b/AGESA.bin index f307daa..cbae8c5 100644 --- a/pi/amd/00730F01/FT3b/AGESA.bin +++ b/pi/amd/00730F01/FT3b/AGESA.bin Binary files differ