diff options
author | Matt DeVillier <matt.devillier@gmail.com> | 2022-12-21 08:18:34 -0600 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-12-22 20:27:21 +0000 |
commit | 7413815a01838d03718b8cfa16b4fff81bdb7f3b (patch) | |
tree | 4981f1b680fd9d2e026ca59f85721a12cb305b86 /src/mainboard | |
parent | 126362210621efc858b6e198280d2b563b4459a5 (diff) |
mb/google/volteer: Add method to set GPIOs in romstage
Add method variant_romstage_gpio_table() with empty weak implementation
to allow variants to override as needed for touchscreen power
sequencing (to be implemented in a subsequent commit). Call method
in romstage to program any GPIOs the variant may need to set.
TEST=tested with rest of patch train
Change-Id: Ib3c2a0e849006b7bf70cbd0bf6f32aa01ccf1bc4
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71180
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard')
4 files changed, 13 insertions, 0 deletions
diff --git a/src/mainboard/google/volteer/romstage.c b/src/mainboard/google/volteer/romstage.c index f9e507cdcc..0bb52807e2 100644 --- a/src/mainboard/google/volteer/romstage.c +++ b/src/mainboard/google/volteer/romstage.c @@ -13,6 +13,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd) { + const struct pad_config *pads; + size_t pads_num; const struct mb_cfg *board_cfg = variant_memory_params(); const struct mem_spd spd_info = { .topo = MEM_TOPO_MEMORY_DOWN, @@ -22,6 +24,9 @@ void mainboard_memory_init_params(FSPM_UPD *mupd) memcfg_init(mupd, board_cfg, &spd_info, half_populated); memcfg_variant_init(mupd); + + pads = variant_romstage_gpio_table(&pads_num); + gpio_configure_pads(pads, pads_num); } void __weak memcfg_variant_init(FSPM_UPD *mupd) diff --git a/src/mainboard/google/volteer/variants/baseboard/Makefile.inc b/src/mainboard/google/volteer/variants/baseboard/Makefile.inc index 4dd8eb6861..24d9f30d72 100644 --- a/src/mainboard/google/volteer/variants/baseboard/Makefile.inc +++ b/src/mainboard/google/volteer/variants/baseboard/Makefile.inc @@ -3,6 +3,7 @@ bootblock-y += gpio.c +romstage-y += gpio.c romstage-y += memory.c ramstage-y += gpio.c diff --git a/src/mainboard/google/volteer/variants/baseboard/gpio.c b/src/mainboard/google/volteer/variants/baseboard/gpio.c index 9784c8851a..f0d8b7c768 100644 --- a/src/mainboard/google/volteer/variants/baseboard/gpio.c +++ b/src/mainboard/google/volteer/variants/baseboard/gpio.c @@ -462,6 +462,12 @@ const struct pad_config *__weak variant_sleep_gpio_table(u8 slp_typ, return NULL; } +const struct pad_config *__weak variant_romstage_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/volteer/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/volteer/variants/baseboard/include/baseboard/variants.h index da5085ec1b..0751f26d65 100644 --- a/src/mainboard/google/volteer/variants/baseboard/include/baseboard/variants.h +++ b/src/mainboard/google/volteer/variants/baseboard/include/baseboard/variants.h @@ -15,6 +15,7 @@ const struct pad_config *baseboard_gpio_table(size_t *num); const struct pad_config *variant_early_gpio_table(size_t *num); const struct pad_config *variant_sleep_gpio_table(u8 slp_typ, size_t *num); const struct pad_config *variant_override_gpio_table(size_t *num); +const struct pad_config *variant_romstage_gpio_table(size_t *num); const struct mb_cfg *variant_memory_params(void); int variant_memory_sku(void); |