From f32d92b7f5aa5e6951133bb7b893d264b1bb70e2 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Fri, 2 Mar 2018 12:06:20 -0800 Subject: [PATCH] npcx: Preserve default values of HW_WIRE NPCX7 requires that the HW_WIRE bits 2-0 of VWEVSM2 register are set so that the hardwire signals for SCI, SMI and RCIN are connected to VW input of eSPI_SIF module. NPCX5 did this by default, however NPCX7 has made it configurable. NPCX7 however sets the HW_WIRE bits 2-0 to 1 at reset. So, this change ensures that they are preserved while initializing VWEVSM2 registers BUG=b:74111394 BRANCH=None TEST=Verified that SCI works on glkrvp and meowth with NPCX7. Change-Id: I9da6f45b4aa0b72b68db6192cb7567f09b072f0c Signed-off-by: Furquan Shaikh Reviewed-on: https://chromium-review.googlesource.com/943801 Commit-Ready: Furquan Shaikh Tested-by: Divya S Sasidharan Reviewed-by: Aseda Aboagye Reviewed-by: Aaron Durbin Reviewed-by: ML Chao Reviewed-by: Jett Rink --- chip/npcx/espi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chip/npcx/espi.c b/chip/npcx/espi.c index ae3e5fe735..6fc3e2b919 100644 --- a/chip/npcx/espi.c +++ b/chip/npcx/espi.c @@ -190,8 +190,8 @@ static void espi_vw_config_out(const struct vwevsm_config_t *config) index = VWEVSM_IDX_GET(NPCX_VWEVSM(i)); /* Set VW output register */ if (index == config->idx) { - /* Get Wire field */ - val = NPCX_VWEVSM(i) & 0x0F; + /* Preserve WIRE(3-0) and HW_WIRE (27-24). */ + val = NPCX_VWEVSM(i) & 0x0F00000F; val |= VWEVSM_FIELD(config->idx, config->idx_en, config->valid,