soc/amd/stoneyridge: add a romstage hook for mainboards

There wasn't previously a way for Stoney platforms to run mainboard
specific code in romstage.  This adds an early call for configuration
and passes along whether the system is currently resuming from S3.

BUG=b:77921345
TEST=Build, verify that weak function implementation gets called.

Change-Id: Id94855e1084814ec37956e603cd093d70f01a559
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25635
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Martin Roth 2018-04-11 16:35:08 -06:00 committed by Martin Roth
parent 24231893d6
commit 2c3e3ef654
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,21 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2018 Google, LLC.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __STONEYRIDGE_ROMSTAGE_H__
#define __STONEYRIDGE_ROMSTAGE_H__
void mainboard_romstage_entry(int s3_resume);
#endif /* __STONEYRIDGE_ROMSTAGE_H__ */

View File

@ -30,9 +30,15 @@
#include <amdblocks/agesawrapper.h> #include <amdblocks/agesawrapper.h>
#include <amdblocks/agesawrapper_call.h> #include <amdblocks/agesawrapper_call.h>
#include <soc/northbridge.h> #include <soc/northbridge.h>
#include <soc/romstage.h>
#include <soc/southbridge.h> #include <soc/southbridge.h>
#include <amdblocks/psp.h> #include <amdblocks/psp.h>
void __attribute__((weak)) mainboard_romstage_entry(int s3_resume)
{
/* By default, don't do anything */
}
asmlinkage void car_stage_entry(void) asmlinkage void car_stage_entry(void)
{ {
struct postcar_frame pcf; struct postcar_frame pcf;
@ -53,6 +59,8 @@ asmlinkage void car_stage_entry(void)
console_init(); console_init();
mainboard_romstage_entry(s3_resume);
if (!s3_resume) { if (!s3_resume) {
post_code(0x40); post_code(0x40);
do_agesawrapper(agesawrapper_amdinitpost, "amdinitpost"); do_agesawrapper(agesawrapper_amdinitpost, "amdinitpost");