[coreboot-gerrit] Change in coreboot[master]: mb/google/poppy : Config GPIO for DMIC by different sku id

Amanda Hwang (Code Review) gerrit at coreboot.org
Wed Mar 14 10:26:14 CET 2018


Amanda Hwang has uploaded this change for review. ( https://review.coreboot.org/25148


Change subject: mb/google/poppy : Config GPIO for DMIC by different sku id
......................................................................

mb/google/poppy : Config GPIO for DMIC by different sku id

BUG=b:74177699
BRANCH=poppy
TEST=Verify audio recorder funtion by different SKU ID

Change-Id: Ic6570703f6ab4a1b03cbba8370fc0f597ab6bcf2
Signed-off-by: amanda_hwang <amanda_hwang at compal.corp-partner.google.com>
---
M src/mainboard/google/poppy/ramstage.c
M src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
M src/mainboard/google/poppy/variants/nami/mainboard.c
3 files changed, 37 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/48/25148/1

diff --git a/src/mainboard/google/poppy/ramstage.c b/src/mainboard/google/poppy/ramstage.c
index 5ef2451..faf375c 100644
--- a/src/mainboard/google/poppy/ramstage.c
+++ b/src/mainboard/google/poppy/ramstage.c
@@ -25,9 +25,19 @@
 	variant_devtree_update();
 	pads = variant_gpio_table(&num);
 	gpio_configure_pads(pads, num);
+	pads = variant_sku_gpio_table(&num);
+	gpio_configure_pads(pads, num);
 }
 
 void __attribute__((weak)) variant_devtree_update(void)
 {
 	/* Override dev tree settings per board */
 }
+
+/* override specific gpio by sku id */
+const struct pad_config __attribute__((weak))
+*variant_sku_gpio_table(size_t *num)
+{
+	*num = 0;
+	return NULL;
+}
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 e051c73..9a5bf26 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
@@ -28,6 +28,7 @@
 const struct pad_config *variant_early_gpio_table(size_t *num);
 
 const struct cros_gpio *variant_cros_gpios(size_t *num);
+const struct pad_config *variant_sku_gpio_table(size_t *num);
 
 enum memory_type {
 	MEMORY_LPDDR3,
diff --git a/src/mainboard/google/poppy/variants/nami/mainboard.c b/src/mainboard/google/poppy/variants/nami/mainboard.c
index e2bc895..4a1b7bc 100644
--- a/src/mainboard/google/poppy/variants/nami/mainboard.c
+++ b/src/mainboard/google/poppy/variants/nami/mainboard.c
@@ -40,6 +40,11 @@
 	return sku_id;
 }
 
+static const struct pad_config vayne_gpio_tables[] = {
+	/* Disable DMIC on rear camera */
+	PAD_CFG_NC(GPP_D17),/* SOC_DMIC_CLK1 */
+};
+
 void variant_devtree_update(void)
 {
 	/* Override dev tree settings per board */
@@ -55,6 +60,27 @@
 	}
 }
 
+const struct pad_config *variant_sku_gpio_table(size_t *num)
+{
+	uint16_t sku_id = board_sku_id();
+	const struct pad_config *board_gpio_tables;
+	switch (sku_id) {
+	case SKU_1_VAYNE:
+		*num = ARRAY_SIZE(vayne_gpio_tables);
+		board_gpio_tables = vayne_gpio_tables;
+		break;
+	case SKU_2_VAYNE:
+		*num = ARRAY_SIZE(vayne_gpio_tables);
+		board_gpio_tables = vayne_gpio_tables;
+		break;
+	default:
+		*num = 0;
+		board_gpio_tables = NULL;
+		break;
+	}
+	return board_gpio_tables;
+}
+
 const char *smbios_mainboard_sku(void)
 {
 	static char sku_str[9]; /* sku{0..65535} (basically up to FFFF) */

-- 
To view, visit https://review.coreboot.org/25148
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: Ic6570703f6ab4a1b03cbba8370fc0f597ab6bcf2
Gerrit-Change-Number: 25148
Gerrit-PatchSet: 1
Gerrit-Owner: Amanda Hwang <amanda_hwang at compal.corp-partner.google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180314/82706b85/attachment-0001.html>


More information about the coreboot-gerrit mailing list