aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/reef/mainboard.c
diff options
context:
space:
mode:
authorChris Wang <chriswang@ami.corp-partner.google.com>2017-12-06 18:43:46 +0800
committerPatrick Georgi <pgeorgi@google.com>2017-12-08 10:55:06 +0000
commit97ac471a7163cda6b48c477f221d788955ec1a7c (patch)
tree9913fcf096000b7b86a89d55c162e2092d396661 /src/mainboard/google/reef/mainboard.c
parentec10fbb90e6b4ac2b6507a13c54d47ee1d1bdc13 (diff)
mb/google/reef: provide override GPIO table in coral
Allow overriding specific GPIOs by SKU ID. Override two GPIO settings for nasher to save the power consumption when the system in S0ix. Change as below: AVS_DMIC_CLK_A1: IGNORE -> Tx1RXDCRx0. AVS_DMIC_CLK_B1: IGNORE -> Tx1RXDCRx0. BUG=b:69025557 BRANCH=master TEST=compile/verify the power consumption change from ~150mW to ~100mW on clamshell SKU and from ~200mW to ~100mW for convertible SKU. Change-Id: I9e0674f206426fddb3947273754774b310106334 Signed-off-by: Chris Wang <chriswang@ami.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/22752 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/mainboard/google/reef/mainboard.c')
-rw-r--r--src/mainboard/google/reef/mainboard.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mainboard/google/reef/mainboard.c b/src/mainboard/google/reef/mainboard.c
index 90ffe136d3..7f5a1b3857 100644
--- a/src/mainboard/google/reef/mainboard.c
+++ b/src/mainboard/google/reef/mainboard.c
@@ -29,6 +29,14 @@
#include <variant/ec.h>
#include <variant/gpio.h>
+/* override specific gpio by sku id */
+const struct pad_config __attribute__((weak))
+*variant_sku_gpio_table(size_t *num)
+{
+ *num = 0;
+ return NULL;
+}
+
static void mainboard_init(void *chip_info)
{
int boardid;
@@ -41,6 +49,9 @@ static void mainboard_init(void *chip_info)
pads = variant_gpio_table(&num);
gpio_configure_pads(pads, num);
+ pads = variant_sku_gpio_table(&num);
+ gpio_configure_pads(pads, num);
+
mainboard_ec_init();
variant_board_ec_set_skuid();