aboutsummaryrefslogtreecommitdiff
path: root/src/ec/google/chromeec/ec.c
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-08-07 12:24:21 -0600
committerAaron Durbin <adurbin@chromium.org>2018-08-08 16:43:58 +0000
commitb388c0e5577eb360ee1df1da7f802b056cec08a9 (patch)
treec4490506b12d3de5e431e673ecea441f64682f16 /src/ec/google/chromeec/ec.c
parent9a30c7289fd0d95655e368100ed444848d46e85d (diff)
ec/google/chromeec: add support for retrieving DRAM part number
The DRAM part number can be stored in the CBI data. Therefore, add support for fetching the DRAM part number from CBI. BUG=b:112203105 TEST=Fetched data from CBI on phaser during testing. Change-Id: Ia721c01aab5848ff36e11792adf9c494aa25c01d Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/27945 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/ec/google/chromeec/ec.c')
-rw-r--r--src/ec/google/chromeec/ec.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 21949d10df..449eaf307c 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -607,6 +607,31 @@ 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)
+{
+ struct ec_params_get_cbi p = {
+ .tag = CBI_TAG_DRAM_PART_NUM,
+ };
+ struct chromeec_command cmd = {
+ .cmd_code = EC_CMD_GET_CROS_BOARD_INFO,
+ .cmd_version = 0,
+ .cmd_data_in = &p,
+ .cmd_data_out = buf,
+ .cmd_size_in = sizeof(p),
+ .cmd_size_out = bufsize,
+ };
+ int rv;
+
+ rv = google_chromeec_command(&cmd);
+ if (rv < 0)
+ return rv;
+
+ /* Ensure NUL termination. */
+ buf[bufsize - 1] = '\0';
+
+ return 0;
+}
+
#ifndef __SMM__
u16 google_chromeec_get_board_version(void)
{