diff options
author | Richard Spiegel <richard.spiegel@silverbackltd.com> | 2018-01-03 16:10:30 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-01-23 05:45:11 +0000 |
commit | 843f3abcbdafceff4e698bcf8504172f253f39b7 (patch) | |
tree | 46f98d46690e52f55b2dc62ad45038cf90daaf49 | |
parent | e539c8538666d949c01d7bcbd8c714cee5d0148e (diff) | |
download | coreboot-843f3abcbdafceff4e698bcf8504172f253f39b7.tar.xz |
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 <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/22987
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/soc/amd/stoneyridge/bootblock/bootblock.c | 2 | ||||
-rw-r--r-- | src/soc/amd/stoneyridge/southbridge.c | 8 |
2 files changed, 10 insertions, 0 deletions
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 * |