summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorreno.wang <reno.wang@lcfc.corp-partner.google.com>2021-12-09 14:10:48 +0800
committerCommit Bot <commit-bot@chromium.org>2022-02-24 03:29:55 +0000
commit6347a9af0595d859ff40912be5e5e8f4fce94f6c (patch)
tree87bc02ea41d400a1b1fd9f0bdfe119070143ea37
parentfb9f16798e3af38d7d9fb95a937f65461d478790 (diff)
downloadchrome-ec-6347a9af0595d859ff40912be5e5e8f4fce94f6c.tar.gz
treeya: 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:214155147 BRANCH=None TEST=make -j BOARD=treeya, KSIxx keep 3.3V under DC mode after calling system_hibernate(). Signed-off-by: reno.wang <reno.wang@lcfc.corp-partner.google.com> Change-Id: I36c9d945a836ad54aa33d5af02d3a69ae57f1d29 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3325631 Tested-by: Arthur Lin <arthur.lin@lcfc.corp-partner.google.com> Reviewed-by: Martin Roth <martinroth@google.com> Commit-Queue: Martin Roth <martinroth@google.com>
-rw-r--r--board/treeya/board.c5
-rw-r--r--board/treeya/board.h14
2 files changed, 19 insertions, 0 deletions
diff --git a/board/treeya/board.c b/board/treeya/board.c
index b0e4f459da..8839f64cc7 100644
--- a/board/treeya/board.c
+++ b/board/treeya/board.c
@@ -217,3 +217,8 @@ void board_bmi160_lsm6dsm_interrupt(enum gpio_signal signal)
else
bmi160_interrupt(signal);
}
+
+void board_hibernate_late(void)
+{
+ NPCX_KBSINPU = 0x0A;
+}
diff --git a/board/treeya/board.h b/board/treeya/board.h
index 339929a873..46483c4e75 100644
--- a/board/treeya/board.h
+++ b/board/treeya/board.h
@@ -12,6 +12,20 @@
#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
+
/*
* By default, enable all console messages excepted HC, ACPI and event:
* The sensor stack is generating a lot of activity.