[coreboot-gerrit] Change in coreboot[master]: mb/google/poppy: Provide variant API for late GPIO configuration

Furquan Shaikh (Code Review) gerrit at coreboot.org
Wed Jan 24 22:19:55 CET 2018


Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/23413


Change subject: mb/google/poppy: Provide variant API for late GPIO configuration
......................................................................

mb/google/poppy: Provide variant API for late GPIO configuration

This change provides a variant API to configure GPIOs in ramstage
after FSP-S is run. This could be used by a variant to re-configure
any GPIOs that FSP-S might have changed.

BUG=b:68964831

Change-Id: I961c03c224a3e07220e5895af5ee57141eefad89
Signed-off-by: Furquan Shaikh <furquan at chromium.org>
---
M src/mainboard/google/poppy/mainboard.c
M src/mainboard/google/poppy/variants/baseboard/gpio.c
M src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
3 files changed, 15 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/13/23413/1

diff --git a/src/mainboard/google/poppy/mainboard.c b/src/mainboard/google/poppy/mainboard.c
index 743a920..02bf0aa 100644
--- a/src/mainboard/google/poppy/mainboard.c
+++ b/src/mainboard/google/poppy/mainboard.c
@@ -23,7 +23,13 @@
 
 static void mainboard_init(device_t dev)
 {
+	const struct pad_config *pads;
+	size_t num;
+
 	mainboard_ec_init();
+
+	pads = variant_late_gpio_table(&num);
+	gpio_configure_pads(pads, num);
 }
 
 static unsigned long mainboard_write_acpi_tables(device_t device,
diff --git a/src/mainboard/google/poppy/variants/baseboard/gpio.c b/src/mainboard/google/poppy/variants/baseboard/gpio.c
index 1290d18..0168eb3 100644
--- a/src/mainboard/google/poppy/variants/baseboard/gpio.c
+++ b/src/mainboard/google/poppy/variants/baseboard/gpio.c
@@ -384,6 +384,14 @@
 	return early_gpio_table;
 }
 
+const struct pad_config * __attribute__((weak))
+	variant_late_gpio_table(size_t *num)
+{
+	/* By default, no GPIOs to configure late. */
+	*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 c88b99a..3ad32bf 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
@@ -26,6 +26,7 @@
  */
 const struct pad_config *variant_gpio_table(size_t *num);
 const struct pad_config *variant_early_gpio_table(size_t *num);
+const struct pad_config *variant_late_gpio_table(size_t *num);
 
 const struct cros_gpio *variant_cros_gpios(size_t *num);
 

-- 
To view, visit https://review.coreboot.org/23413
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I961c03c224a3e07220e5895af5ee57141eefad89
Gerrit-Change-Number: 23413
Gerrit-PatchSet: 1
Gerrit-Owner: Furquan Shaikh <furquan at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180124/cc9108b3/attachment-0001.html>


More information about the coreboot-gerrit mailing list