From 39c279acf89ec4cc7b8ca57c2e9f0f4bc897df54 Mon Sep 17 00:00:00 2001 From: Tarun Tuli Date: Wed, 22 Feb 2023 14:18:00 +0000 Subject: [PATCH] mb/google/poppy: Add support for variant SKU romstage GPIO configs Add functionality that allows a variant SKU to have a specific set of GPIO configs in romstage (modeled after the existing one in ramstage) BUG=b:245954151 TEST=builds Change-Id: I593a23951306908fadc00e6bc8d9d310f09c5e4b Signed-off-by: Tarun Tuli Reviewed-on: https://review.coreboot.org/c/coreboot/+/73211 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik Reviewed-by: Shelley Chen Reviewed-by: Eric Lai --- src/mainboard/google/poppy/romstage.c | 2 ++ src/mainboard/google/poppy/variants/baseboard/gpio.c | 7 +++++++ .../poppy/variants/baseboard/include/baseboard/variants.h | 1 + 3 files changed, 10 insertions(+) diff --git a/src/mainboard/google/poppy/romstage.c b/src/mainboard/google/poppy/romstage.c index 7fd4409401..f73ca5f93f 100644 --- a/src/mainboard/google/poppy/romstage.c +++ b/src/mainboard/google/poppy/romstage.c @@ -140,6 +140,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd) pads = variant_romstage_gpio_table(&num); gpio_configure_pads(pads, num); + pads = variant_romstage_sku_gpio_table(&num); + gpio_configure_pads(pads, num); memset(&p, 0, sizeof(p)); variant_memory_params(&p); diff --git a/src/mainboard/google/poppy/variants/baseboard/gpio.c b/src/mainboard/google/poppy/variants/baseboard/gpio.c index 9048e29688..ee2b1dc435 100644 --- a/src/mainboard/google/poppy/variants/baseboard/gpio.c +++ b/src/mainboard/google/poppy/variants/baseboard/gpio.c @@ -383,6 +383,13 @@ const struct pad_config * __weak return NULL; } +const struct pad_config * __weak + variant_romstage_sku_gpio_table(size_t *num) +{ + *num = 0; + return NULL; +} + static const struct cros_gpio cros_gpios[] = { CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME), CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME), diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h index 9e4bfc5ff3..603a2ba8e4 100644 --- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h +++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h @@ -21,6 +21,7 @@ const struct pad_config *variant_romstage_gpio_table(size_t *num); /* Config gpio by different sku id */ const struct pad_config *variant_sku_gpio_table(size_t *num); +const struct pad_config *variant_romstage_sku_gpio_table(size_t *num); enum memory_type { MEMORY_LPDDR3,