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>
This commit is contained in:
parent
9a30c7289f
commit
b388c0e557
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -74,6 +74,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);
|
||||
|
||||
/* MEC uses 0x800/0x804 as register/index pair, thus an 8-byte resource. */
|
||||
#define MEC_EMI_BASE 0x800
|
||||
|
|
|
@ -4780,6 +4780,7 @@ enum cbi_data_tag {
|
|||
CBI_TAG_BOARD_VERSION = 0, /* uint16_t or uint8_t[] = {minor,major} */
|
||||
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_COUNT,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue