[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