From a35ad0e6ee7826dc1f171291116f306099c99e72 Mon Sep 17 00:00:00 2001 From: Shelley Chen Date: Tue, 21 Nov 2017 15:47:12 -0800 Subject: google/fizz: Define smbios_mainboard_sku to return OEM IDs Currently, mosys just returns "fizz" as model/chassis values. Returning proper OEM IDs so that mosys can return the proper variant. BUG=b:67732053 BRANCH=None TEST=mosys platform model; mosys platform chassis; Make sure returns the right variant string and not fizz. Change-Id: I42e293e833b0f7c9870dc275561ad13256836e60 Signed-off-by: Shelley Chen Reviewed-on: https://review.coreboot.org/22557 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/mainboard/google/fizz/mainboard.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/mainboard/google/fizz/mainboard.c') diff --git a/src/mainboard/google/fizz/mainboard.c b/src/mainboard/google/fizz/mainboard.c index ae3767579e..54d7c4c103 100644 --- a/src/mainboard/google/fizz/mainboard.c +++ b/src/mainboard/google/fizz/mainboard.c @@ -21,9 +21,11 @@ #include #include #include +#include #include #include #include +#include #include #define FIZZ_SKU_ID_I7_U42 0x4 @@ -74,6 +76,29 @@ static u32 mainboard_get_pl2(void) return watts; } +static uint8_t board_oem_id(void) +{ + static int board_oem_id = -1; + const gpio_t oem_id_gpios[] = { + GPIO_OEM_ID1, + GPIO_OEM_ID2, + GPIO_OEM_ID3, + }; + if (board_oem_id < 0) + board_oem_id = gpio_base2_value(oem_id_gpios, + ARRAY_SIZE(oem_id_gpios)); + return board_oem_id; +} + +const char *smbios_mainboard_sku(void) +{ + static char sku_str[5]; /* sku{0..7} */ + + snprintf(sku_str, sizeof(sku_str), "sku%d", board_oem_id()); + + return sku_str; +} + static void mainboard_init(device_t dev) { mainboard_ec_init(); -- cgit v1.2.3