ec/google/wilco: Add support for KB_ERR_CODE to Wilco EC
Adds support for the KB_ERR_CODE command on the Wilco EC. This command is used to drive diagnostic LEDs on the platform after a failed boot. This change also adds the Wilco EC mailbox command support to bootblock and verstage so that those stages can use the KB_ERR_CODE command. BUG=b:124401932 BRANCH=sarien TEST=build coreboot for sarien and arcada platforms Change-Id: I96d17baf57694e4e01c676d80c606f67054cd0c3 Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32776 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
686b539949
commit
8ef6732b94
|
@ -1,6 +1,7 @@
|
|||
ifeq ($(CONFIG_EC_GOOGLE_WILCO),y)
|
||||
|
||||
bootblock-y += bootblock.c
|
||||
bootblock-y += bootblock.c commands.c mailbox.c
|
||||
verstage-y += commands.c mailbox.c
|
||||
romstage-y += commands.c mailbox.c romstage.c boardid.c
|
||||
ramstage-y += chip.c commands.c mailbox.c boardid.c
|
||||
smm-y += commands.c mailbox.c smihandler.c boardid.c
|
||||
|
|
|
@ -181,3 +181,9 @@ int wilco_ec_signed_fw(void)
|
|||
CONFIG_EC_BASE_ACPI_DATA);
|
||||
return !!ec_read(EC_RAM_SIGNED_FW);
|
||||
}
|
||||
|
||||
int wilco_ec_err_code(enum ec_err_code err_code)
|
||||
{
|
||||
return wilco_ec_mailbox(WILCO_EC_MSG_DEFAULT, KB_ERR_CODE,
|
||||
&err_code, 1, NULL, 0);
|
||||
}
|
||||
|
|
|
@ -50,6 +50,8 @@ enum {
|
|||
KB_SLP_EN = 0x64,
|
||||
/* Inform the EC about BIOS boot progress */
|
||||
KB_BIOS_PROGRESS = 0xc2,
|
||||
/* Inform the EC that a fatal error occurred */
|
||||
KB_ERR_CODE = 0x7b,
|
||||
};
|
||||
|
||||
enum ec_ram_addr {
|
||||
|
@ -86,6 +88,12 @@ enum ec_camera {
|
|||
CAMERA_OFF
|
||||
};
|
||||
|
||||
enum ec_err_code {
|
||||
DLED_MEMORY = 0x03,
|
||||
DLED_PANEL = 0x10,
|
||||
DLED_ROM = 0x19,
|
||||
};
|
||||
|
||||
/**
|
||||
* wilco_ec_radio_control() - Control wireless radios.
|
||||
* @ec_radio: Wireless radio type.
|
||||
|
@ -310,4 +318,17 @@ enum ec_acpi_wake_events {
|
|||
*/
|
||||
int wilco_ec_signed_fw(void);
|
||||
|
||||
/**
|
||||
* wilco_ec_err_code
|
||||
*
|
||||
* Send an error code to the EC to indicate a failed boot. The EC flashes the
|
||||
* platform LED amber and white to provide user indication of the failure type.
|
||||
*
|
||||
* @err_code: Error code to send to the EC
|
||||
*
|
||||
* Returns 0 if EC command was successful
|
||||
* Returns -1 if EC command failed
|
||||
*/
|
||||
int wilco_ec_err_code(enum ec_err_code err_code);
|
||||
|
||||
#endif /* EC_GOOGLE_WILCO_COMMANDS_H */
|
||||
|
|
Loading…
Reference in New Issue