From f2a6a5c7fac835bae293010538bb6c39e1d74931 Mon Sep 17 00:00:00 2001 From: Aamir Bohra Date: Tue, 25 Mar 2025 15:30:34 +0000 Subject: [PATCH] google/chromeec: Add function to report the SKU ID Add implementation of sku_id function that reports the SKU ID information by making use of ChromeOS EC host command. This function can replace redundant sku_id function definitions across boards that rely on ChromeOS EC host command to report the SKU ID information. The boards that relying on ChromeOS EC host command for SKU information without any board specific quirks can select EC_GOOGLE_CHROMEEC_SKUID to make use of common sku_id function. Brya, zork, rex, fatcat, brox and dedede boards select EC_GOOGLE_CHROMEEC_SKUID to use ChromeOS EC sku_id function. BUG=b:396366352 TEST=Verify zork and brya boot log reports the correct the SKU ID information Change-Id: I958cc88bf316dd2327b6545c5a37e8010e96c5d7 Signed-off-by: Aamir Bohra Reviewed-on: https://review.coreboot.org/c/coreboot/+/86810 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik --- src/ec/google/chromeec/ec.c | 13 +++++++++++++ src/ec/google/chromeec/ec_skuid.c | 13 +++---------- src/mainboard/google/cherry/Kconfig | 1 - src/mainboard/google/corsola/Kconfig | 1 - src/mainboard/google/geralt/Kconfig | 1 - src/mainboard/google/guybrush/Kconfig | 1 - src/mainboard/google/hatch/Kconfig | 1 - src/mainboard/google/herobrine/Kconfig | 1 - src/mainboard/google/myst/Kconfig | 1 - src/mainboard/google/ocelot/Kconfig | 1 - src/mainboard/google/octopus/Kconfig | 1 - src/mainboard/google/puff/Kconfig | 1 - src/mainboard/google/rauru/Kconfig | 1 - src/mainboard/google/skyrim/Kconfig | 1 - src/mainboard/google/volteer/Kconfig | 1 - src/mainboard/google/zork/sku_id.c | 5 ----- src/mainboard/intel/ptlrvp/Kconfig | 1 - src/mainboard/intel/shadowmountain/Kconfig | 1 - 18 files changed, 16 insertions(+), 30 deletions(-) diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c index 5844071a1e..993bddf6ae 100644 --- a/src/ec/google/chromeec/ec.c +++ b/src/ec/google/chromeec/ec.c @@ -689,6 +689,19 @@ int google_chromeec_cbi_get_sku_id(uint32_t *id) return cbi_get_uint32(id, CBI_TAG_SKU_ID); } +uint32_t google_chromeec_get_board_sku(void) +{ + static uint32_t sku_id = CROS_SKU_UNKNOWN; + + if (sku_id != CROS_SKU_UNKNOWN) + return sku_id; + + if (google_chromeec_cbi_get_sku_id(&sku_id)) + sku_id = CROS_SKU_UNKNOWN; + + return sku_id; +} + int google_chromeec_cbi_get_fw_config(uint64_t *fw_config) { uint32_t config; diff --git a/src/ec/google/chromeec/ec_skuid.c b/src/ec/google/chromeec/ec_skuid.c index c0e079c5f0..7acf0c47d4 100644 --- a/src/ec/google/chromeec/ec_skuid.c +++ b/src/ec/google/chromeec/ec_skuid.c @@ -1,16 +1,9 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include #include -uint32_t google_chromeec_get_board_sku(void) +uint32_t sku_id(void) { - static uint32_t sku_id = CROS_SKU_UNKNOWN; - - if (sku_id != CROS_SKU_UNKNOWN) - return sku_id; - - if (google_chromeec_cbi_get_sku_id(&sku_id)) - sku_id = CROS_SKU_UNKNOWN; - - return sku_id; + return google_chromeec_get_board_sku(); } diff --git a/src/mainboard/google/cherry/Kconfig b/src/mainboard/google/cherry/Kconfig index e3011859b4..2e4b3d3431 100644 --- a/src/mainboard/google/cherry/Kconfig +++ b/src/mainboard/google/cherry/Kconfig @@ -19,7 +19,6 @@ config BOARD_SPECIFIC_OPTIONS select SPI_FLASH_INCLUDE_ALL_DRIVERS select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SPI select I2C_TPM if VBOOT select TPM_GOOGLE_CR50 if VBOOT diff --git a/src/mainboard/google/corsola/Kconfig b/src/mainboard/google/corsola/Kconfig index d8643fdb3e..1f249ac1a1 100644 --- a/src/mainboard/google/corsola/Kconfig +++ b/src/mainboard/google/corsola/Kconfig @@ -48,7 +48,6 @@ config BOARD_SPECIFIC_OPTIONS select COMMONLIB_STORAGE_MMC select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SPI select SPI_TPM if VBOOT select TPM_GOOGLE_TI50 if VBOOT diff --git a/src/mainboard/google/geralt/Kconfig b/src/mainboard/google/geralt/Kconfig index dbc155c0b2..80975addd5 100644 --- a/src/mainboard/google/geralt/Kconfig +++ b/src/mainboard/google/geralt/Kconfig @@ -29,7 +29,6 @@ config BOARD_SPECIFIC_OPTIONS select COMMONLIB_STORAGE_MMC select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SPI select I2C_TPM if VBOOT select MAINBOARD_HAS_TPM2 if VBOOT diff --git a/src/mainboard/google/guybrush/Kconfig b/src/mainboard/google/guybrush/Kconfig index 7ca4bcbee1..8c85f9723f 100644 --- a/src/mainboard/google/guybrush/Kconfig +++ b/src/mainboard/google/guybrush/Kconfig @@ -21,7 +21,6 @@ config BOARD_GOOGLE_BASEBOARD_GUYBRUSH select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select ELOG select ELOG_GSMI diff --git a/src/mainboard/google/hatch/Kconfig b/src/mainboard/google/hatch/Kconfig index e04ca94c49..82a632692a 100644 --- a/src/mainboard/google/hatch/Kconfig +++ b/src/mainboard/google/hatch/Kconfig @@ -16,7 +16,6 @@ config BOARD_GOOGLE_BASEBOARD_HATCH select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI select EC_GOOGLE_CHROMEEC_I2C_TUNNEL - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select GOOGLE_SMBIOS_MAINBOARD_VERSION select HAVE_ACPI_RESUME diff --git a/src/mainboard/google/herobrine/Kconfig b/src/mainboard/google/herobrine/Kconfig index 8758fb9c4f..af56814bd9 100644 --- a/src/mainboard/google/herobrine/Kconfig +++ b/src/mainboard/google/herobrine/Kconfig @@ -24,7 +24,6 @@ config BOARD_SPECIFIC_OPTIONS select COMMON_CBFS_SPI_WRAPPER select EC_GOOGLE_CHROMEEC if !BOARD_GOOGLE_SENOR select EC_GOOGLE_CHROMEEC_RTC if !BOARD_GOOGLE_SENOR - select EC_GOOGLE_CHROMEEC_SKUID if !BOARD_GOOGLE_SENOR select EC_GOOGLE_CHROMEEC_SPI if !BOARD_GOOGLE_SENOR select RTC if !BOARD_GOOGLE_SENOR select MISSING_BOARD_RESET if BOARD_GOOGLE_SENOR diff --git a/src/mainboard/google/myst/Kconfig b/src/mainboard/google/myst/Kconfig index 7e882b71e0..e40531610b 100644 --- a/src/mainboard/google/myst/Kconfig +++ b/src/mainboard/google/myst/Kconfig @@ -20,7 +20,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_UART_ACPI select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select EC_GOOGLE_CHROMEEC_BOARDID select ELOG diff --git a/src/mainboard/google/ocelot/Kconfig b/src/mainboard/google/ocelot/Kconfig index 16dcdcbcea..8383c8fb3e 100644 --- a/src/mainboard/google/ocelot/Kconfig +++ b/src/mainboard/google/ocelot/Kconfig @@ -20,7 +20,6 @@ config BOARD_GOOGLE_OCELOT_COMMON select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI diff --git a/src/mainboard/google/octopus/Kconfig b/src/mainboard/google/octopus/Kconfig index d8ac777b79..9ae9e4c8e5 100644 --- a/src/mainboard/google/octopus/Kconfig +++ b/src/mainboard/google/octopus/Kconfig @@ -15,7 +15,6 @@ config BOARD_GOOGLE_BASEBOARD_OCTOPUS select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select GOOGLE_SMBIOS_MAINBOARD_VERSION select HAVE_ACPI_RESUME diff --git a/src/mainboard/google/puff/Kconfig b/src/mainboard/google/puff/Kconfig index 8ef3231e54..d5786a5e62 100644 --- a/src/mainboard/google/puff/Kconfig +++ b/src/mainboard/google/puff/Kconfig @@ -17,7 +17,6 @@ config BOARD_GOOGLE_BASEBOARD_PUFF select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI select EC_GOOGLE_CHROMEEC_I2C_TUNNEL - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI diff --git a/src/mainboard/google/rauru/Kconfig b/src/mainboard/google/rauru/Kconfig index 06d8546661..b32923dd23 100644 --- a/src/mainboard/google/rauru/Kconfig +++ b/src/mainboard/google/rauru/Kconfig @@ -28,7 +28,6 @@ config BOARD_SPECIFIC_OPTIONS select CHROMEOS_USE_EC_WATCHDOG_FLAG if CHROMEOS select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SPI select I2C_TPM if VBOOT select MAINBOARD_HAS_TPM2 if VBOOT diff --git a/src/mainboard/google/skyrim/Kconfig b/src/mainboard/google/skyrim/Kconfig index ebbc0afd57..e1718bb2fd 100644 --- a/src/mainboard/google/skyrim/Kconfig +++ b/src/mainboard/google/skyrim/Kconfig @@ -49,7 +49,6 @@ config BOARD_SPECIFIC_OPTIONS select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select ELOG select ELOG_GSMI diff --git a/src/mainboard/google/volteer/Kconfig b/src/mainboard/google/volteer/Kconfig index f708327eba..fdda53b48b 100644 --- a/src/mainboard/google/volteer/Kconfig +++ b/src/mainboard/google/volteer/Kconfig @@ -23,7 +23,6 @@ config BOARD_GOOGLE_BASEBOARD_VOLTEER select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG select EC_GOOGLE_CHROMEEC_LPC - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select ENABLE_TCSS_USB_DETECTION if !CHROMEOS select FW_CONFIG diff --git a/src/mainboard/google/zork/sku_id.c b/src/mainboard/google/zork/sku_id.c index 82ee355084..34f7d98d46 100644 --- a/src/mainboard/google/zork/sku_id.c +++ b/src/mainboard/google/zork/sku_id.c @@ -4,11 +4,6 @@ #include #include -uint32_t sku_id(void) -{ - return google_chromeec_get_board_sku(); -} - /* An unprovisioned SKU ID indicates we're in the factory booting prior to proper SKU ID provisioning. */ int boot_is_factory_unprovisioned(void) diff --git a/src/mainboard/intel/ptlrvp/Kconfig b/src/mainboard/intel/ptlrvp/Kconfig index eed44e768b..73e170d610 100644 --- a/src/mainboard/intel/ptlrvp/Kconfig +++ b/src/mainboard/intel/ptlrvp/Kconfig @@ -19,7 +19,6 @@ config BOARD_INTEL_PTLRVP_COMMON select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID select EC_GOOGLE_CHROMEEC_ESPI - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI diff --git a/src/mainboard/intel/shadowmountain/Kconfig b/src/mainboard/intel/shadowmountain/Kconfig index 8c26e44bec..1dfca4b0dc 100644 --- a/src/mainboard/intel/shadowmountain/Kconfig +++ b/src/mainboard/intel/shadowmountain/Kconfig @@ -15,7 +15,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_USB_ACPI select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_BOARDID - select EC_GOOGLE_CHROMEEC_SKUID select EC_GOOGLE_CHROMEEC_SMBIOS select EC_GOOGLE_CHROMEEC_LPC select HAVE_ACPI_RESUME