mb/ocp/deltalake: Add VPD variable for FRB2 timer action
Tested on OCP Delta Lake, the timer action can be set correctly. Change-Id: I1013169e12455e01214d089c9398c78143af4df8 Signed-off-by: Johnny Lin <johnny_lin@wiwynn.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44019 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
b96d9b6e2f
commit
5ea5336b6e
|
@ -101,7 +101,7 @@ enum cb_err ipmi_set_post_start(const int port)
|
||||||
void init_frb2_wdt(void)
|
void init_frb2_wdt(void)
|
||||||
{
|
{
|
||||||
char val[VPD_LEN];
|
char val[VPD_LEN];
|
||||||
u8 enable;
|
uint8_t enable, action;
|
||||||
uint16_t countdown;
|
uint16_t countdown;
|
||||||
|
|
||||||
if (vpd_get_bool(FRB2_TIMER, VPD_RW_THEN_RO, &enable)) {
|
if (vpd_get_bool(FRB2_TIMER, VPD_RW_THEN_RO, &enable)) {
|
||||||
|
@ -122,8 +122,16 @@ void init_frb2_wdt(void)
|
||||||
FRB2_COUNTDOWN_DEFAULT * 100);
|
FRB2_COUNTDOWN_DEFAULT * 100);
|
||||||
countdown = FRB2_COUNTDOWN_DEFAULT;
|
countdown = FRB2_COUNTDOWN_DEFAULT;
|
||||||
}
|
}
|
||||||
ipmi_init_and_start_bmc_wdt(CONFIG_BMC_KCS_BASE, countdown,
|
|
||||||
TIMEOUT_HARD_RESET);
|
if (vpd_gets(FRB2_ACTION, val, VPD_LEN, VPD_RW_THEN_RO)) {
|
||||||
|
action = (uint8_t)atol(val);
|
||||||
|
printk(BIOS_DEBUG, "FRB2 timer action set to: %d\n", action);
|
||||||
|
} else {
|
||||||
|
printk(BIOS_DEBUG, "FRB2 timer action use default value: %d\n",
|
||||||
|
FRB2_ACTION_DEFAULT);
|
||||||
|
action = FRB2_ACTION_DEFAULT;
|
||||||
|
}
|
||||||
|
ipmi_init_and_start_bmc_wdt(CONFIG_BMC_KCS_BASE, countdown, action);
|
||||||
} else {
|
} else {
|
||||||
printk(BIOS_DEBUG, "Disable FRB2 timer\n");
|
printk(BIOS_DEBUG, "Disable FRB2 timer\n");
|
||||||
ipmi_stop_bmc_wdt(CONFIG_BMC_KCS_BASE);
|
ipmi_stop_bmc_wdt(CONFIG_BMC_KCS_BASE);
|
||||||
|
|
|
@ -15,6 +15,11 @@
|
||||||
/* Default countdown is 15 minutes when the VPD variable is not found */
|
/* Default countdown is 15 minutes when the VPD variable is not found */
|
||||||
#define FRB2_COUNTDOWN_DEFAULT 9000
|
#define FRB2_COUNTDOWN_DEFAULT 9000
|
||||||
|
|
||||||
|
/* VPD variable for setting FRB2 timer action.
|
||||||
|
0: No action, 1: hard reset, 2: power down, 3: power cycle */
|
||||||
|
#define FRB2_ACTION "frb2_action"
|
||||||
|
#define FRB2_ACTION_DEFAULT 0 /* Default no action when the VPD variable is not found */
|
||||||
|
|
||||||
/* Define the VPD keys for UPD variables that can be overwritten */
|
/* Define the VPD keys for UPD variables that can be overwritten */
|
||||||
#define FSP_LOG "fsp_log_enable" /* 1 or 0: enable or disable FSP SOL log */
|
#define FSP_LOG "fsp_log_enable" /* 1 or 0: enable or disable FSP SOL log */
|
||||||
#define FSP_LOG_DEFAULT 1 /* Default value when the VPD variable is not found */
|
#define FSP_LOG_DEFAULT 1 /* Default value when the VPD variable is not found */
|
||||||
|
|
Loading…
Reference in New Issue