mb/google/guybrush: Fix GPIO overrides during verstage

GPIO overrides are defined for verstage. But the overrides are neither
enabled nor applied during verstage. Enable the overrides and apply them
during verstage.

BUG=None
TEST=Build and boot to OS in Guybrush. Perform suspend/stress, warm and
cold reboot cycling for 10 iterations each. Ensure that all the PCIe
devices are enumerated fine.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Change-Id: I510313bf860d8d55ec3b04a9cfdfa942373163f9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58637
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Rob Barnes <robbarnes@google.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
Karthikeyan Ramasubramanian 2021-10-26 23:20:25 -06:00 committed by Karthik Ramasubramanian
parent eaf71b0778
commit d3c565e745
3 changed files with 10 additions and 3 deletions

View File

@ -9,4 +9,6 @@ romstage-y += variant.c
ramstage-y += gpio.c ramstage-y += gpio.c
ramstage-y += variant.c ramstage-y += variant.c
verstage-y += gpio.c
subdirs-y += ./memory subdirs-y += ./memory

View File

@ -3,6 +3,8 @@
bootblock-y += gpio.c bootblock-y += gpio.c
romstage-y += gpio.c romstage-y += gpio.c
ramstage-y += gpio.c ramstage-y += gpio.c
verstage-y += gpio.c
bootblock-y += variant.c bootblock-y += variant.c
romstage-y += variant.c romstage-y += variant.c
ramstage-y += variant.c ramstage-y += variant.c

View File

@ -9,12 +9,15 @@
static void setup_gpio(void) static void setup_gpio(void)
{ {
const struct soc_amd_gpio *gpios; const struct soc_amd_gpio *gpios, *override_gpios;
size_t num_gpios; size_t num_gpios, override_num_gpios;
if (CONFIG(VBOOT_STARTS_BEFORE_BOOTBLOCK)) { if (CONFIG(VBOOT_STARTS_BEFORE_BOOTBLOCK)) {
gpios = variant_early_gpio_table(&num_gpios); gpios = variant_early_gpio_table(&num_gpios);
gpio_configure_pads(gpios, num_gpios); override_gpios = variant_early_override_gpio_table(&override_num_gpios);
gpio_configure_pads_with_override(gpios, num_gpios,
override_gpios, override_num_gpios);
} }
} }