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 <taruntuli@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73211
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Shelley Chen <shchen@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Tarun Tuli 2023-02-22 14:18:00 +00:00 committed by Felix Held
parent 337f38ae09
commit 39c279acf8
3 changed files with 10 additions and 0 deletions

View File

@ -140,6 +140,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
pads = variant_romstage_gpio_table(&num); pads = variant_romstage_gpio_table(&num);
gpio_configure_pads(pads, num); gpio_configure_pads(pads, num);
pads = variant_romstage_sku_gpio_table(&num);
gpio_configure_pads(pads, num);
memset(&p, 0, sizeof(p)); memset(&p, 0, sizeof(p));
variant_memory_params(&p); variant_memory_params(&p);

View File

@ -383,6 +383,13 @@ const struct pad_config * __weak
return NULL; 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[] = { static const struct cros_gpio cros_gpios[] = {
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME), CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME), CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),

View File

@ -21,6 +21,7 @@ const struct pad_config *variant_romstage_gpio_table(size_t *num);
/* Config gpio by different sku id */ /* Config gpio by different sku id */
const struct pad_config *variant_sku_gpio_table(size_t *num); 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 { enum memory_type {
MEMORY_LPDDR3, MEMORY_LPDDR3,