diff options
-rw-r--r-- | chip/npcx/espi.c | 5 | ||||
-rw-r--r-- | chip/npcx/registers.h | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/chip/npcx/espi.c b/chip/npcx/espi.c index ce8fcd9b2b..ae3e5fe735 100644 --- a/chip/npcx/espi.c +++ b/chip/npcx/espi.c @@ -610,9 +610,9 @@ void espi_init(void) SET_FIELD(NPCX_ESPICFG, NPCX_ESPICFG_IOMODE_FILED, NPCX_ESPI_IO_MODE_ALL); - /* Max freq 66 MHz of eSPI */ + /* Set eSPI speed to max supported */ SET_FIELD(NPCX_ESPICFG, NPCX_ESPICFG_MAXFREQ_FILED, - NPCX_ESPI_MAXFREQ_66); + NPCX_ESPI_MAXFREQ_MAX); /* Configure Master-to-Slave Virtual Wire indexes (Inputs) */ for (i = 0; i < ARRAY_SIZE(espi_in_list); i++) @@ -682,4 +682,3 @@ static int command_espi(int argc, char **argv) DECLARE_CONSOLE_COMMAND(espi, command_espi, "cfg/vms/vsm/en/dis [channel]", "eSPI configurations"); - diff --git a/chip/npcx/registers.h b/chip/npcx/registers.h index 855adfb32d..d451eb04c9 100644 --- a/chip/npcx/registers.h +++ b/chip/npcx/registers.h @@ -1666,10 +1666,20 @@ enum { NPCX_ESPI_MAXFREQ_25 = 1, NPCX_ESPI_MAXFREQ_33 = 2, NPCX_ESPI_MAXFREQ_50 = 3, +#if defined(CHIP_FAMILY_NPCX5) NPCX_ESPI_MAXFREQ_66 = 4, +#endif NPCX_ESPI_MAXFREQ_NOOE = 0xFF }; +#if defined(CHIP_FAMILY_NPCX5) +#define NPCX_ESPI_MAXFREQ_MAX NPCX_ESPI_MAXFREQ_66 +#elif defined(CHIP_FAMILY_NPCX7) +#define NPCX_ESPI_MAXFREQ_MAX NPCX_ESPI_MAXFREQ_50 +#else +#error "Please define NPCX_ESPI_MAXFREQ_MAX for your chip." +#endif + /* VW types */ enum { ESPI_VW_TYPE_INT_EV, /* Interrupt event */ |