mb/msi/ms7d25: Add console die notification

Add beeps and blink SATA LED on critical errors.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I45b8b4fda00d58a1ab1d7dfab49d6f841bc0b000
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69821
Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com>
Reviewed-by: Himanshu Sahdev <himanshu.sahdev@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Michał Żygowski 2022-11-09 14:46:08 +01:00
parent 97c57fd079
commit 3289a3916b
3 changed files with 46 additions and 4 deletions

View File

@ -16,6 +16,7 @@ config BOARD_MSI_MS7D25
select INTEL_GMA_HAVE_VBT
select CRB_TPM
select HAVE_INTEL_PTT
select USE_LEGACY_8254_TIMER
if BOARD_MSI_MS7D25
@ -49,10 +50,6 @@ config USE_PM_ACPI_TIMER
bool
default n
config USE_LEGACY_8254_TIMER
bool
default n
config CBFS_SIZE
hex
default 0x1000000

View File

@ -5,3 +5,6 @@ bootblock-y += bootblock.c
romstage-y += romstage_fsp_params.c
ramstage-y += mainboard.c
all-y += die.c
smm-y += die.c

View File

@ -0,0 +1,42 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <console/console.h>
#include <pc80/i8254.h>
#include <soc/gpio.h>
#include <delay.h>
#include <gpio.h>
static void beep_and_blink(void)
{
static uint8_t blink = 0;
static uint8_t beep_count = 0;
gpio_set(GPP_E8, blink);
/* Beep 12 times at most, constant beeps may be annoying */
if (beep_count < 12) {
beep(800, 300);
mdelay(200);
beep_count++;
} else {
mdelay(500);
}
blink ^= 1;
}
void die_notify(void)
{
if (ENV_POSTCAR)
return;
/* Make SATA LED blink and use PC SPKR */
gpio_output(GPP_E8, 0);
while (1) {
beep_and_blink();
beep_and_blink();
beep_and_blink();
beep_and_blink();
delay(2);
}
}