<p>Chris Wang would like Chris Wang to <strong>review</strong> this change.</p><p><a href="https://review.coreboot.org/22752">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/google/reef: provide override gpio table in coral<br><br>Allow overriding specific GPIOs by SKU ID.<br>To override two GPIO settings for nasher to save the power consumption<br>when the system in S0ix.<br><br>AVS_DMIC_CLK_A1: IGNORE -> Tx1RXDCRx0.<br>AVS_DMIC_CLK_B1: IGNORE -> Tx1RXDCRx0.<br><br>BUG=b:69025557<br>BRANCH=master<br>TEST=compiled/verify the power consumption by ODM.<br><br>Change-Id: I9e0674f206426fddb3947273754774b310106334<br>Signed-off-by: Chris Wang <chriswang@ami.corp-partner.google.com><br>---<br>M src/mainboard/google/reef/mainboard.c<br>M src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h<br>M src/mainboard/google/reef/variants/coral/mainboard.c<br>3 files changed, 50 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/22752/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/reef/mainboard.c b/src/mainboard/google/reef/mainboard.c<br>index 90ffe13..78affce 100644<br>--- a/src/mainboard/google/reef/mainboard.c<br>+++ b/src/mainboard/google/reef/mainboard.c<br>@@ -29,6 +29,11 @@<br> #include <variant/ec.h><br> #include <variant/gpio.h><br> <br>+/* override specific gpio by sku id*/<br>+void __attribute__((weak))sku_gpio_update(void)<br>+{<br>+}<br>+<br> static void mainboard_init(void *chip_info)<br> {<br>         int boardid;<br>@@ -40,6 +45,7 @@<br> <br>    pads = variant_gpio_table(&num);<br>  gpio_configure_pads(pads, num);<br>+      sku_gpio_update();<br> <br>         mainboard_ec_init();<br> <br>diff --git a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h<br>index 0f2c376..e4f3d93 100644<br>--- a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h<br>+++ b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h<br>@@ -29,6 +29,7 @@<br> const struct pad_config *variant_gpio_table(size_t *num);<br> const struct pad_config *variant_early_gpio_table(size_t *num);<br> const struct pad_config *variant_sleep_gpio_table(u8 slp_typ, size_t *num);<br>+const struct pad_config *sku_gpio_table(size_t *num);<br> <br> /* Baseboard default swizzle. Can be reused if swizzle is same. */<br> extern const struct lpddr4_swizzle_cfg baseboard_lpddr4_swizzle;<br>@@ -50,4 +51,6 @@<br>                     const char **oem_table_id, uint32_t *oem_revision);<br> void variant_nhlt_init(struct nhlt *nhlt);<br> <br>+void sku_gpio_update(void);<br>+<br> #endif /* BASEBOARD_VARIANTS_H */<br>diff --git a/src/mainboard/google/reef/variants/coral/mainboard.c b/src/mainboard/google/reef/variants/coral/mainboard.c<br>index 5daf96c..1a69b3e 100644<br>--- a/src/mainboard/google/reef/variants/coral/mainboard.c<br>+++ b/src/mainboard/google/reef/variants/coral/mainboard.c<br>@@ -19,6 +19,7 @@<br> #include <soc/cpu.h><br> #include <soc/intel/apollolake/chip.h><br> #include <soc/intel/common/vbt.h><br>+#include <soc/gpio.h><br> <br> enum {<br>  SKU_0_ASTRONAUT = 0,<br>@@ -122,3 +123,43 @@<br>            break;<br>        }<br> }<br>+<br>+static const struct pad_config nasher_gpio_tables[] = {<br>+   /* AVS_DMIC_CLK_A1 */<br>+        PAD_CFG_NF_IOSSTATE(GPIO_79, NATIVE, DEEP, NF1, Tx1RXDCRx0),<br>+ /* AVS_DMIC_CLK_B1 */<br>+        PAD_CFG_NF_IOSSTATE(GPIO_80, NATIVE, DEEP, NF1, Tx1RXDCRx0),<br>+};<br>+<br>+const struct pad_config *sku_gpio_table(size_t *num)<br>+{<br>+      int sku_id = variant_board_sku();<br>+    const struct pad_config *board_gpio_tables;<br>+<br>+       switch (sku_id) {<br>+    case SKU_160_NASHER:<br>+ case SKU_161_NASHER:<br>+ case SKU_162_NASHER:<br>+ case SKU_163_NASHER360:<br>+      case SKU_164_NASHER360:<br>+      case SKU_165_NASHER360:<br>+      case SKU_166_NASHER360:<br>+              *num = ARRAY_SIZE(nasher_gpio_tables);<br>+               board_gpio_tables = nasher_gpio_tables;<br>+              break;<br>+       default:<br>+             break;<br>+       }<br>+<br>+ return board_gpio_tables;<br>+}<br>+<br>+void sku_gpio_update(void)<br>+{<br>+    const struct pad_config *pads;<br>+       size_t num;<br>+<br>+       pads = sku_gpio_table(&num);<br>+     gpio_configure_pads(pads, num);<br>+<br>+}<br></pre><p>To view, visit <a href="https://review.coreboot.org/22752">change 22752</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22752"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I9e0674f206426fddb3947273754774b310106334 </div>
<div style="display:none"> Gerrit-Change-Number: 22752 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Chris Wang <chriswang@ami.com.tw> </div>
<div style="display:none"> Gerrit-Reviewer: Chris Wang <chriswang@ami.corp-partner.google.com> </div>