summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWisley Chen <wisley.chen@quanta.corp-partner.google.com>2018-11-06 09:28:23 +0800
committerFurquan Shaikh <furquan@google.com>2018-11-16 03:09:19 +0000
commitc1efec7f160ac208c5dcfee4a914da7279821af2 (patch)
tree4f9e42344399abe03444eb7e54532ff3e99f762d
parent9b8fa7214f03efc6204ff0befd0482da63d42966 (diff)
downloadcoreboot-c1efec7f160ac208c5dcfee4a914da7279821af2.tar.xz
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>
-rw-r--r--src/ec/google/chromeec/ec.c14
-rw-r--r--src/ec/google/chromeec/ec.h1
-rw-r--r--src/ec/google/chromeec/ec_commands.h1
3 files changed, 14 insertions, 2 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 75d9da16e2..d2a0849dc9 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -611,10 +611,10 @@ int google_chromeec_cbi_get_oem_id(uint32_t *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 = {
- .tag = CBI_TAG_DRAM_PART_NUM,
+ .tag = tag,
};
struct chromeec_command cmd = {
.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;
}
+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)
{
struct chromeec_command cmd;
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index 1e23ae9205..70b2b525b5 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -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_sku_id(uint32_t *id);
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. */
#define MEC_EMI_BASE 0x800
diff --git a/src/ec/google/chromeec/ec_commands.h b/src/ec/google/chromeec/ec_commands.h
index 45865bc5ca..140ba5a19a 100644
--- a/src/ec/google/chromeec/ec_commands.h
+++ b/src/ec/google/chromeec/ec_commands.h
@@ -4781,6 +4781,7 @@ enum cbi_data_tag {
CBI_TAG_OEM_ID = 1, /* uint8_t */
CBI_TAG_SKU_ID = 2, /* uint8_t */
CBI_TAG_DRAM_PART_NUM = 3, /* variable length ascii, nul terminated. */
+ CBI_TAG_OEM_NAME = 4, /* variable length ascii, nul terminated. */
CBI_TAG_COUNT,
};