From b388c0e5577eb360ee1df1da7f802b056cec08a9 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Tue, 7 Aug 2018 12:24:21 -0600 Subject: 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 Reviewed-on: https://review.coreboot.org/27945 Tested-by: build bot (Jenkins) Reviewed-by: Justin TerAvest Reviewed-by: Furquan Shaikh --- src/ec/google/chromeec/ec.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/ec/google/chromeec/ec.c') 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) { -- cgit v1.2.3