mb/google/zork: Ensure early GPIOs programmed w/o vboot

Now that zork can boot without vboot, ensure that the GPIOs set in
verstage are programmed in bootblock on the non-vboot path.

The eSPI GPIOs will be set in a subsequent patch using
mb_set_up_early_espi() since setting them in
bootblock_mainboard_early_init() would be too late given when the
SoC eSPI init takes place.

TEST=build/boot google/zork (morphius) w/o vboot

Change-Id: I0bb49678b2d913c447d5bc761a6f0e00fca6334f
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84147
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Matt DeVillier 2024-08-30 09:51:13 -05:00 committed by Felix Held
commit 7600132ec6

View file

@ -9,6 +9,19 @@ void bootblock_mainboard_early_init(void)
size_t num_gpios;
const struct soc_amd_gpio *gpios;
/*
* The GPIOs below would normally be programmed in verstage, but
* if we're not using PSP verstage, need to set them up here instead.
*/
if (!CONFIG(VBOOT_STARTS_BEFORE_BOOTBLOCK)) {
gpios = variant_early_gpio_table(&num_gpios);
gpio_configure_pads(gpios, num_gpios);
gpios = variant_tpm_gpio_table(&num_gpios);
gpio_configure_pads(gpios, num_gpios);
}
gpios = variant_bootblock_gpio_table(&num_gpios, acpi_get_sleep_type());
gpio_configure_pads(gpios, num_gpios);