From 843f3abcbdafceff4e698bcf8504172f253f39b7 Mon Sep 17 00:00:00 2001 From: Richard Spiegel Date: Wed, 3 Jan 2018 16:10:30 -0700 Subject: [PATCH] soc/amd/stoneyridge: Add new function sb_program_gpio() Add new function sb_program_gpio to be called after AGESA init_reset and some point within ramstage. For AGESA init_reset, change amd/stoneyridge/bootblock/bootblock.c function bootblock_soc_init (add the function after the call to AGESA function). BUG=b:64140392 TEST=Build kahlee, grunt, gardenia. Change-Id: I38da26cd1e20617958a6b17d55b7d7c08b8a0230 Signed-off-by: Richard Spiegel Reviewed-on: https://review.coreboot.org/22987 Reviewed-by: Martin Roth Tested-by: build bot (Jenkins) --- src/soc/amd/stoneyridge/bootblock/bootblock.c | 2 ++ src/soc/amd/stoneyridge/southbridge.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/soc/amd/stoneyridge/bootblock/bootblock.c b/src/soc/amd/stoneyridge/bootblock/bootblock.c index 22b16273e2..4b58287ba5 100644 --- a/src/soc/amd/stoneyridge/bootblock/bootblock.c +++ b/src/soc/amd/stoneyridge/bootblock/bootblock.c @@ -123,6 +123,8 @@ void bootblock_soc_init(void) post_code(0x37); do_agesawrapper(agesawrapper_amdinitreset, "amdinitreset"); + sb_program_gpio(); + post_code(0x38); /* APs will not exit amdinitearly */ do_agesawrapper(agesawrapper_amdinitearly, "amdinitearly"); diff --git a/src/soc/amd/stoneyridge/southbridge.c b/src/soc/amd/stoneyridge/southbridge.c index 46906d09ab..735642f027 100644 --- a/src/soc/amd/stoneyridge/southbridge.c +++ b/src/soc/amd/stoneyridge/southbridge.c @@ -181,6 +181,14 @@ void sb_program_gpio(void) printk(BIOS_SPEW, "End GPIO programming\n"); } +static void sb_program_gpio_ram(void *unused) +{ + sb_program_gpio(); +} + +BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY, + sb_program_gpio_ram, NULL); + /** * @brief Find the size of a particular wide IO *