ec/google/chromeec: add support for retrieving OEM name
OEM name can be stored in CBI. This change can support for fetching the OEM name from CBI. BUG=b:118798180 TEST=Verified to get data from CBI Change-Id: I4938c4d60fcad9e1f43ef69cc4441d1653de7e24 Signed-off-by: Wisley Chen <wisley.chen@quantatw.com> Reviewed-on: https://review.coreboot.org/29497 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
This commit is contained in:
committed by
Furquan Shaikh
parent
9b8fa7214f
commit
c1efec7f16
@@ -611,10 +611,10 @@ int google_chromeec_cbi_get_oem_id(uint32_t *id)
|
|||||||
return cbi_get_uint32(id, CBI_TAG_OEM_ID);
|
return cbi_get_uint32(id, CBI_TAG_OEM_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
int google_chromeec_cbi_get_dram_part_num(char *buf, size_t bufsize)
|
static int cbi_get_string(char *buf, size_t bufsize, uint32_t tag)
|
||||||
{
|
{
|
||||||
struct ec_params_get_cbi p = {
|
struct ec_params_get_cbi p = {
|
||||||
.tag = CBI_TAG_DRAM_PART_NUM,
|
.tag = tag,
|
||||||
};
|
};
|
||||||
struct chromeec_command cmd = {
|
struct chromeec_command cmd = {
|
||||||
.cmd_code = EC_CMD_GET_CROS_BOARD_INFO,
|
.cmd_code = EC_CMD_GET_CROS_BOARD_INFO,
|
||||||
@@ -636,6 +636,16 @@ int google_chromeec_cbi_get_dram_part_num(char *buf, size_t bufsize)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int google_chromeec_cbi_get_dram_part_num(char *buf, size_t bufsize)
|
||||||
|
{
|
||||||
|
return cbi_get_string(buf, bufsize, CBI_TAG_DRAM_PART_NUM);
|
||||||
|
}
|
||||||
|
|
||||||
|
int google_chromeec_cbi_get_oem_name(char *buf, size_t bufsize)
|
||||||
|
{
|
||||||
|
return cbi_get_string(buf, bufsize, CBI_TAG_OEM_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
int google_chromeec_get_board_version(uint32_t *version)
|
int google_chromeec_get_board_version(uint32_t *version)
|
||||||
{
|
{
|
||||||
struct chromeec_command cmd;
|
struct chromeec_command cmd;
|
||||||
|
@@ -84,6 +84,7 @@ int google_chromeec_reboot(int dev_idx, enum ec_reboot_cmd type, uint8_t flags);
|
|||||||
int google_chromeec_cbi_get_oem_id(uint32_t *id);
|
int google_chromeec_cbi_get_oem_id(uint32_t *id);
|
||||||
int google_chromeec_cbi_get_sku_id(uint32_t *id);
|
int google_chromeec_cbi_get_sku_id(uint32_t *id);
|
||||||
int google_chromeec_cbi_get_dram_part_num(char *buf, size_t bufsize);
|
int google_chromeec_cbi_get_dram_part_num(char *buf, size_t bufsize);
|
||||||
|
int google_chromeec_cbi_get_oem_name(char *buf, size_t bufsize);
|
||||||
|
|
||||||
/* MEC uses 0x800/0x804 as register/index pair, thus an 8-byte resource. */
|
/* MEC uses 0x800/0x804 as register/index pair, thus an 8-byte resource. */
|
||||||
#define MEC_EMI_BASE 0x800
|
#define MEC_EMI_BASE 0x800
|
||||||
|
@@ -4781,6 +4781,7 @@ enum cbi_data_tag {
|
|||||||
CBI_TAG_OEM_ID = 1, /* uint8_t */
|
CBI_TAG_OEM_ID = 1, /* uint8_t */
|
||||||
CBI_TAG_SKU_ID = 2, /* uint8_t */
|
CBI_TAG_SKU_ID = 2, /* uint8_t */
|
||||||
CBI_TAG_DRAM_PART_NUM = 3, /* variable length ascii, nul terminated. */
|
CBI_TAG_DRAM_PART_NUM = 3, /* variable length ascii, nul terminated. */
|
||||||
|
CBI_TAG_OEM_NAME = 4, /* variable length ascii, nul terminated. */
|
||||||
CBI_TAG_COUNT,
|
CBI_TAG_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user