summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZick Wei <zick.wei@quanta.corp-partner.google.com>2021-10-06 13:23:36 +0800
committerCommit Bot <commit-bot@chromium.org>2021-10-08 02:10:35 +0000
commitfc03a9789d7db2dead547bbe7d885f44ce16af32 (patch)
tree2dc15c93b0a263e653dcd8ac98a5fe731f2454df
parent4747adea502e9152264a89b8dc73f8221eb70c87 (diff)
downloadchrome-ec-fc03a9789d7db2dead547bbe7d885f44ce16af32.tar.gz
dooly: update setting to prevent power leakage
We found a power leakage in G3 caused by EC_EDID_WP_DISABLE_L, this patch updates gpio status to prevent power leakage. BUG=b:200710471, b:202309235 BRANCH=puff TEST=verify EC_EDID_WP_DISABLE_L status in G3 and S0. Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: Ic1a01306a6ee43360dbd5041a9ead95802efae58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3207766 Reviewed-by: Andrew McRae <amcrae@google.com> Reviewed-by: Devin Lu <Devin.Lu@quantatw.com> Commit-Queue: Andrew McRae <amcrae@google.com> (cherry picked from commit 2259b3526def9f0a0d63e5f6d8d1a29b9eb65774) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3211168
-rw-r--r--board/dooly/board.c11
-rw-r--r--board/dooly/gpio.inc9
2 files changed, 18 insertions, 2 deletions
diff --git a/board/dooly/board.c b/board/dooly/board.c
index 276217cd0c..368dff7e2a 100644
--- a/board/dooly/board.c
+++ b/board/dooly/board.c
@@ -729,9 +729,20 @@ static void board_chipset_startup(void)
ppc_vbus_source_enable(USB_PD_PORT_TCPC_0, 1);
if (ppc_is_sourcing_vbus(USB_PD_PORT_TCPC_1))
ppc_vbus_source_enable(USB_PD_PORT_TCPC_1, 1);
+
+ /* set high to enable EDID ROM WP */
+ gpio_set_level(GPIO_EC_EDID_WP_DISABLE_L, 1);
}
DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup,
HOOK_PRIO_DEFAULT);
+
+static void board_chipset_shutdown(void)
+{
+ /* set low to prevent power leakage */
+ gpio_set_level(GPIO_EC_EDID_WP_DISABLE_L, 0);
+}
+DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown,
+ HOOK_PRIO_DEFAULT);
/******************************************************************************/
/* USB-C PPC Configuration */
struct ppc_config_t ppc_chips[CONFIG_USB_PD_PORT_MAX_COUNT] = {
diff --git a/board/dooly/gpio.inc b/board/dooly/gpio.inc
index d4b06d1443..1d9b143486 100644
--- a/board/dooly/gpio.inc
+++ b/board/dooly/gpio.inc
@@ -151,8 +151,13 @@ ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART from EC
GPIO(PANEL_ID0, PIN(0, 2), GPIO_INPUT)
GPIO(PANEL_ID1, PIN(C, 6), GPIO_INPUT)
-/* EDID write protect control */
-GPIO(EC_EDID_WP_DISABLE_L, PIN(D, 3), GPIO_OUT_HIGH) /* LOW to disable EDID WP */
+/*
+ * EDID write protect control
+ * EDID ROM powered by EN_ROA_RAILS, init low to prevent power leakage
+ * high to enable EDID ROM WP
+ * low to disable EDID ROM WP
+ */
+GPIO(EC_EDID_WP_DISABLE_L, PIN(D, 3), GPIO_OUT_LOW)
/* Unused pins */
UNUSED(PIN(9, 5)) /* H10 TP54 */