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
This commit is contained in:
Michał Żygowski 2019-10-11 23:28:37 +02:00
parent ba23e82153
commit 797e7fc6d7
2 changed files with 0 additions and 0 deletions

Binary file not shown.

Binary file not shown.