mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
UPSTREAM: ec/google/chromeec: query cbmem for retrain status
The EC switches, including the hardware retrain flag, are cleared when handing off the vboot state in romstage. However, one may still want to query the state of the hardware retrain flag. Thus, add a method to get the flag from cbmem. BUG=chrome-os-partner:60592 BRANCH=reef TEST=None Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/17869 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com> Change-Id: Ic76cfb3255a8d3c179d5f8b13fa13c518f79faa2 Reviewed-on: https://chromium-review.googlesource.com/421028 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
parent
d3937f59c3
commit
dd311e048a
1 changed files with 16 additions and 2 deletions
|
@ -14,6 +14,7 @@
|
|||
*/
|
||||
|
||||
#include <bootmode.h>
|
||||
#include <cbmem.h>
|
||||
#include <ec/google/chromeec/ec.h>
|
||||
|
||||
#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC_LPC)
|
||||
|
@ -41,12 +42,25 @@ int get_recovery_mode_switch(void)
|
|||
|
||||
int get_recovery_mode_retrain_switch(void)
|
||||
{
|
||||
uint32_t events;
|
||||
const uint32_t mask =
|
||||
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY_HW_REINIT);
|
||||
|
||||
/*
|
||||
* Check if the EC has posted the keyboard recovery event with memory
|
||||
* retrain.
|
||||
*/
|
||||
return !!(google_chromeec_get_events_b() &
|
||||
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY_HW_REINIT));
|
||||
events = google_chromeec_get_events_b();
|
||||
|
||||
if (cbmem_possibly_online()) {
|
||||
const uint32_t *events_save;
|
||||
|
||||
events_save = cbmem_find(CBMEM_ID_EC_HOSTEVENT);
|
||||
if (events_save != NULL)
|
||||
events |= *events_save;
|
||||
}
|
||||
|
||||
return !!(events & mask);
|
||||
}
|
||||
|
||||
int clear_recovery_mode_switch(void)
|
||||
|
|
Loading…
Add table
Reference in a new issue