CBI: Allow get command to reload data from EEPROM

This patch adds CBI_GET_RELOAD flag to EC_CMD_GET_CROS_BOARD_INFO
command. When the flag is set, the command will be forced to read
data from EEPROM even, ignoring the data cached by the previous
read.

This allows ectool to verify a write was successful without reboot.

BUG=b:70294260
BRANCH=none
TEST=ectool cbi set 0 0x1234 && ectool cbi get 0 1

Change-Id: I3e7ced5be56a74c605870a4c0622c0a2f47963bb
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/874155
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Daisuke Nojiri
2018-01-17 17:22:42 -08:00
committed by chrome-bot
parent 4941dd5542
commit ead2428e91
3 changed files with 25 additions and 4 deletions

View File

@@ -4592,8 +4592,17 @@ enum cbi_data_type {
CBI_DATA_COUNT,
};
/*
* Flags to control read operation
*
* RELOAD: Invalidate cache and read data from EEPROM. Useful to verify
* write was successful without reboot.
*/
#define CBI_GET_RELOAD (1 << 0)
struct __ec_align4 ec_params_get_cbi {
uint32_t type; /* enum cbi_data_type */
uint32_t flag; /* CBI_GET_* */
};
/*
@@ -4609,7 +4618,7 @@ struct __ec_align4 ec_params_get_cbi {
struct __ec_align1 ec_params_set_cbi {
uint32_t type; /* enum cbi_data_type */
uint8_t flag; /* CBI_SET_* */
uint32_t flag; /* CBI_SET_* */
uint32_t data; /* For numeric value */
uint8_t raw[]; /* For string and raw data */
};