npcx: do not power down eSPI when enabled

if we're using eSPI for connectivity to the AP, we should never
power it down... powering it down just causes transient errors
on eSPI.

BUG=b:72838699
BRANCH=none
TEST=booted on meowth, no more eSPI bus errors.

Change-Id: I737a03bb745868c7e8e02ffd5607db4d2da74c30
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/910320
Commit-Ready: Caveh Jalali <caveh@google.com>
Tested-by: Caveh Jalali <caveh@google.com>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Mulin Chao <mlchao@nuvoton.com>
This commit is contained in:
Caveh Jalali
2018-02-08 14:45:16 -08:00
committed by chrome-bot
parent c7f6e2a80f
commit b350b6c1cf
2 changed files with 11 additions and 4 deletions

View File

@@ -868,9 +868,6 @@ static void lpc_init(void)
clock_enable_peripheral(CGC_OFFSET_LPC, CGC_LPC_MASK,
CGC_MODE_RUN | CGC_MODE_SLEEP);
#ifdef CONFIG_ESPI
/* Enable clock for eSPI peripheral */
clock_enable_peripheral(CGC_OFFSET_ESPI, CGC_ESPI_MASK,
CGC_MODE_RUN | CGC_MODE_SLEEP);
/* Initialize eSPI IP */
espi_init();
#else

View File

@@ -668,6 +668,8 @@ void chip_pre_init(void)
void system_pre_init(void)
{
uint8_t pwdwn6;
/*
* Add additional initialization here
* EC should be initialized in Booter
@@ -683,7 +685,15 @@ void system_pre_init(void)
#endif
NPCX_PWDWN_CTL(NPCX_PMC_PWDWN_4) = 0xF4; /* Skip ITIM2/1_PD */
NPCX_PWDWN_CTL(NPCX_PMC_PWDWN_5) = 0xF8;
NPCX_PWDWN_CTL(NPCX_PMC_PWDWN_6) = 0xF5; /* Skip ITIM5_PD */
pwdwn6 = 0x70 |
(1 << NPCX_PWDWN_CTL6_ITIM6_PD) |
(1 << NPCX_PWDWN_CTL6_ITIM4_PD); /* Skip ITIM5_PD */
#if !defined(CONFIG_ESPI)
pwdwn6 |= 1 << NPCX_PWDWN_CTL6_ESPI_PD;
#endif
NPCX_PWDWN_CTL(NPCX_PMC_PWDWN_6) = pwdwn6;
#if defined(CHIP_FAMILY_NPCX7)
NPCX_PWDWN_CTL(NPCX_PMC_PWDWN_7) = 0x07;
#endif