summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chip/npcx/espi.c5
-rw-r--r--chip/npcx/registers.h10
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 */