From e30e82ab31ce6f9bc3dfbde5b70d08b6fb54b409 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Wed, 21 Nov 2018 09:59:49 -0800 Subject: CEC: Set pull-up high GPIO pins don't get set high or low after sysjump. This cause CEC not to work if RO image doesn't set CEC_GPIO_PULL_UP. This patch sets CEC_GPIO_PULL_UP to high in cec_init. Signed-off-by: Daisuke Nojiri BUG=b:119901859 BRANCH=none TEST=Verify CEC_PULL_UP=1 on Teemo in normal mode and recovery mode. Change-Id: I0c88a789a8731054c2e4b0bb1066529933473b70 Reviewed-on: https://chromium-review.googlesource.com/c/1346990 Commit-Queue: Daisuke Nojiri Tested-by: Daisuke Nojiri Reviewed-by: Stefan Adolfsson (cherry picked from commit 258e4a3d2c89cbf1f81e384bc179cb748611f24e) Reviewed-on: https://chromium-review.googlesource.com/1347013 Commit-Ready: ChromeOS CL Exonerator Bot Reviewed-by: Daisuke Nojiri --- chip/npcx/cec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/chip/npcx/cec.c b/chip/npcx/cec.c index 60864bef56..ea016805c0 100644 --- a/chip/npcx/cec.c +++ b/chip/npcx/cec.c @@ -1003,6 +1003,9 @@ static void cec_init(void) /* Enable capture TCNT1 into TCRA and preset TCNT1. */ SET_BIT(NPCX_TMCTRL(mdl), NPCX_TMCTRL_TAEN); + /* If RO doesn't set it, RW needs to set it explicitly. */ + gpio_set_level(CEC_GPIO_PULL_UP, 1); + CPRINTS("CEC initialized"); } DECLARE_HOOK(HOOK_INIT, cec_init, HOOK_PRIO_LAST); -- cgit v1.2.1