soc/amd/common/psp_verstage: Write postcodes after ESPI init
On boards where PSP uses ESPI to write postcodes, update the verstage to do it after ESPI initialization. BUG=b:224543620 TEST=Build and boot to OS in Nipperkin. Ensure that there are no attempts to write the post code from PSP verstage before ESPI initialization. Change-Id: I1b78931c741c75dc845c9b34e3b2b896221f2364 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/62880 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Mohan Viswanathan Reviewed-by: Raul Rangel <rrangel@chromium.org>
This commit is contained in:
parent
2bd4c98c42
commit
1a24d84566
|
@ -345,6 +345,14 @@ config PSP_DISABLE_POSTCODES
|
||||||
help
|
help
|
||||||
Disables the output of port80 post codes from PSP.
|
Disables the output of port80 post codes from PSP.
|
||||||
|
|
||||||
|
config PSP_POSTCODES_ON_ESPI
|
||||||
|
bool "Use eSPI bus for PSP post codes"
|
||||||
|
depends on !PSP_DISABLE_POSTCODES
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Select to send PSP port80 post codes on eSPI bus.
|
||||||
|
If not selected, PSP port80 codes will be sent on LPC bus.
|
||||||
|
|
||||||
config PSP_INIT_ESPI
|
config PSP_INIT_ESPI
|
||||||
bool "Initialize eSPI in PSP Stage 2 Boot Loader"
|
bool "Initialize eSPI in PSP Stage 2 Boot Loader"
|
||||||
help
|
help
|
||||||
|
|
|
@ -206,16 +206,21 @@ void Main(void)
|
||||||
/*
|
/*
|
||||||
* Do not use printk() before console_init()
|
* Do not use printk() before console_init()
|
||||||
* Do not use post_code() before verstage_mainboard_init()
|
* Do not use post_code() before verstage_mainboard_init()
|
||||||
|
* Do not use svc_write_postcode before verstage_soc_espi_init() if PSP uses ESPI
|
||||||
|
* to write postcodes.
|
||||||
*/
|
*/
|
||||||
timestamp_init(timestamp_get());
|
timestamp_init(timestamp_get());
|
||||||
svc_write_postcode(POSTCODE_ENTERED_PSP_VERSTAGE);
|
if (!CONFIG(PSP_POSTCODES_ON_ESPI))
|
||||||
|
svc_write_postcode(POSTCODE_ENTERED_PSP_VERSTAGE);
|
||||||
svc_debug_print("Entering verstage on PSP\n");
|
svc_debug_print("Entering verstage on PSP\n");
|
||||||
memset(&_bss_start, '\0', &_bss_end - &_bss_start);
|
memset(&_bss_start, '\0', &_bss_end - &_bss_start);
|
||||||
|
|
||||||
svc_write_postcode(POSTCODE_CONSOLE_INIT);
|
if (!CONFIG(PSP_POSTCODES_ON_ESPI))
|
||||||
|
svc_write_postcode(POSTCODE_CONSOLE_INIT);
|
||||||
console_init();
|
console_init();
|
||||||
|
|
||||||
svc_write_postcode(POSTCODE_EARLY_INIT);
|
if (!CONFIG(PSP_POSTCODES_ON_ESPI))
|
||||||
|
svc_write_postcode(POSTCODE_EARLY_INIT);
|
||||||
retval = verstage_soc_early_init();
|
retval = verstage_soc_early_init();
|
||||||
if (retval) {
|
if (retval) {
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue