google/chromeec: Add temporary storage interface

Add support functions for the Chrome EC temporary storage interface.

BUG=chrome-os-partner:46049
BRANCH=none
TEST=tested on glados with modified coreboot

Change-Id: Id2bc46df9cb2d82b15e3309e78d07407a622b6f0
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: a7e6f693666b162e11eb0611715f10a8f465ad88
Original-Change-Id: Ieefabfc5bcb9d8a5064f0da967c46d0f377ca320
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/315217
Original-Commit-Ready: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/13572
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Duncan Laurie
2015-12-01 19:14:09 -08:00
committed by Martin Roth
parent eb31685bbb
commit e2cea4f458
4 changed files with 141 additions and 4 deletions

View File

@@ -121,6 +121,27 @@ int google_chromeec_clear_events_b(u32 mask)
EC_CMD_HOST_EVENT_CLEAR_B, mask);
}
int google_chromeec_check_feature(int feature)
{
struct chromeec_command cmd;
struct ec_response_get_features r;
cmd.cmd_code = EC_CMD_GET_FEATURES;
cmd.cmd_version = 0;
cmd.cmd_size_in = 0;
cmd.cmd_data_out = &r;
cmd.cmd_size_out = sizeof(r);
cmd.cmd_dev_index = 0;
if (google_chromeec_command(&cmd) != 0)
return -1;
if (feature >= 8 * sizeof(r.flags))
return -1;
return r.flags[feature / 32] & EC_FEATURE_MASK_0(feature);
}
#ifndef __SMM__
#ifdef __PRE_RAM__
void google_chromeec_check_ec_image(int expected_type)