[coreboot-gerrit] Change in coreboot[master]: mb/google/octopus: Use newly added gpio_configure_pads_with_override

Furquan Shaikh (Code Review) gerrit at coreboot.org
Wed Jul 25 23:35:56 CEST 2018


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


Change subject: mb/google/octopus: Use newly added gpio_configure_pads_with_override
......................................................................

mb/google/octopus: Use newly added gpio_configure_pads_with_override

This change updates mainboard_init to call
gpio_configure_pads_with_override instead of gpio_configure_pads to
allow variants to provide overrides for the GPIO config table provided
by the baseboard.

BUG=b:111743717
TEST=Verified on phaser that GPIO config with and without this change
is the same.

Change-Id: I494a950100e5ec82504d652ff6e8a75746456d1f
Signed-off-by: Furquan Shaikh <furquan at google.com>
---
M src/mainboard/google/octopus/mainboard.c
M src/mainboard/google/octopus/variants/baseboard/gpio.c
M src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
M src/mainboard/google/octopus/variants/bip/gpio.c
4 files changed, 18 insertions(+), 7 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/27641/1

diff --git a/src/mainboard/google/octopus/mainboard.c b/src/mainboard/google/octopus/mainboard.c
index eda44ba..4876d10 100644
--- a/src/mainboard/google/octopus/mainboard.c
+++ b/src/mainboard/google/octopus/mainboard.c
@@ -32,14 +32,18 @@
 static void mainboard_init(void *chip_info)
 {
 	int boardid;
-	const struct pad_config *pads;
-	size_t num;
+	const struct pad_config *base_pads;
+	const struct pad_config *override_pads;
+	size_t base_num, override_num;
 
 	boardid = board_id();
 	printk(BIOS_INFO, "Board ID: %d\n", boardid);
 
-	pads = variant_gpio_table(&num);
-	gpio_configure_pads(pads, num);
+	base_pads = variant_base_gpio_table(&base_num);
+	override_pads = variant_override_gpio_table(&override_num);
+
+	gpio_configure_pads_with_override(base_pads, base_num,
+			override_pads, override_num);
 
 	mainboard_ec_init();
 }
diff --git a/src/mainboard/google/octopus/variants/baseboard/gpio.c b/src/mainboard/google/octopus/variants/baseboard/gpio.c
index 7b1075f..3dee892 100644
--- a/src/mainboard/google/octopus/variants/baseboard/gpio.c
+++ b/src/mainboard/google/octopus/variants/baseboard/gpio.c
@@ -281,12 +281,18 @@
 	PAD_NC(GPIO_210, DN_20K),
 };
 
-const struct pad_config *__weak variant_gpio_table(size_t *num)
+const struct pad_config *__weak variant_base_gpio_table(size_t *num)
 {
 	*num = ARRAY_SIZE(gpio_table);
 	return gpio_table;
 }
 
+const struct pad_config *__weak variant_override_gpio_table(size_t *num)
+{
+	*num = 0;
+	return NULL;
+}
+
 /* GPIOs needed prior to ramstage. */
 static const struct pad_config early_gpio_table[] = {
 	PAD_CFG_GPI(GPIO_190, NONE, DEEP), /* PCH_WP_OD */
diff --git a/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
index 4c3fbbe..666e562 100644
--- a/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
@@ -26,7 +26,8 @@
 
 /* The next set of functions return the gpio table and fill in the number of
  * entries for each table. */
-const struct pad_config *variant_gpio_table(size_t *num);
+const struct pad_config *variant_base_gpio_table(size_t *num);
+const struct pad_config *variant_override_gpio_table(size_t *num);
 const struct pad_config *variant_early_gpio_table(size_t *num);
 const struct pad_config *variant_sleep_gpio_table(size_t *num, int slp_typ);
 
diff --git a/src/mainboard/google/octopus/variants/bip/gpio.c b/src/mainboard/google/octopus/variants/bip/gpio.c
index 5f83ee4..18cb6d9 100644
--- a/src/mainboard/google/octopus/variants/bip/gpio.c
+++ b/src/mainboard/google/octopus/variants/bip/gpio.c
@@ -259,7 +259,7 @@
 	PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_210, 0, DEEP, NONE, HIZCRx0, DISPUPD),
 };
 
-const struct pad_config *variant_gpio_table(size_t *num)
+const struct pad_config *variant_base_gpio_table(size_t *num)
 {
 	*num = ARRAY_SIZE(gpio_table);
 	return gpio_table;

-- 
To view, visit https://review.coreboot.org/27641
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: I494a950100e5ec82504d652ff6e8a75746456d1f
Gerrit-Change-Number: 27641
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/20180725/dd4e05ac/attachment-0001.html>


More information about the coreboot-gerrit mailing list