summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorreno.wang <reno.wang@lcfc.corp-partner.google.com>2021-10-29 16:09:44 +0800
committerCommit Bot <commit-bot@chromium.org>2021-12-07 03:21:22 +0000
commitc177357355cdee23c897960068d492fc465d22fe (patch)
treec15ca34b9ee3250f3f112452a91471a600b77cfa
parente508ff8f31477e09317b72d1337236c55210b2b8 (diff)
downloadchrome-ec-c177357355cdee23c897960068d492fc465d22fe.tar.gz
phaser: undef hibernate psl and keep KSI1/3 high in deep sleep
It's workaround to reduce keyboard's "Silver Migration". From keyboard vendor's feedback, there are two factors to cause "Silver Migration". 1. A voltage potential between trace 2. The presence of an electrolyte , such as moisture. The reason cause voltage potential between KSIxx trace is EC enter ec hibernate PSL and turn EC's VCC1 power off. Besides KSI2, the other KSIxx will be turn off. KSI2 is powered by H1. To avoid voltage potential is keep KSI1, KSI2, and KSI3 on. That means not to enter ec hibernate PSL. BUG=b:203442963 BRANCH=None TEST=make -j BOARD=taeko, KSxx keep 3.3V under DC mode after calling system_hibernate(). Signed-off-by: reno.wang <reno.wang@lcfc.corp-partner.google.com> Change-Id: I44a99f9df22e6d21729540507b1947e12cc3189d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3252568 Reviewed-by: Henry Sun <henrysun@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r--board/phaser/board.c5
-rw-r--r--board/phaser/board.h14
2 files changed, 19 insertions, 0 deletions
diff --git a/board/phaser/board.c b/board/phaser/board.c
index 488880c1fc..875e61dfe6 100644
--- a/board/phaser/board.c
+++ b/board/phaser/board.c
@@ -247,6 +247,11 @@ static void cbi_init(void)
}
DECLARE_HOOK(HOOK_INIT, cbi_init, HOOK_PRIO_INIT_I2C + 1);
+void board_hibernate_late(void)
+{
+ NPCX_KBSINPU = 0x0A;
+}
+
/* This callback disables keyboard when convertibles are fully open */
__override void lid_angle_peripheral_enable(int enable)
{
diff --git a/board/phaser/board.h b/board/phaser/board.h
index 443dbf37c1..a03782b245 100644
--- a/board/phaser/board.h
+++ b/board/phaser/board.h
@@ -13,6 +13,20 @@
#define VARIANT_OCTOPUS_CHARGER_ISL9238
#include "baseboard.h"
+/* b/203442963
+ * It's workaround to reduce keyboard's "Silver Migration".
+ * From keyboard vendor's feedback, there are two factors to cause
+ * "Silver Migration".
+ * 1. A voltage potential between trace.
+ * 2. The presence of an electrolyte , such as moisture.
+ * The reason cause voltage potential between KSIxx trace is EC enter ec
+ * hibernate PSL and turn EC's VCC1 power off. Besides KSI2, the other
+ * KSIxx will be turn off. KSI2 is powered by H1.
+ * To avoid voltage potential is keep KSIxx on. That means not to enter
+ * ec hibernate PSL.
+ */
+#undef CONFIG_HIBERNATE_PSL
+
#define GPIO_PG_EC_RSMRST_ODL GPIO_RSMRST_L_PGOOD
#define CONFIG_VOLUME_BUTTONS