mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
npcx: set eSPI speed to max supported by hardware
the npcx7 can only run eSPI at (up to) 50MHz while the npcx5 can go up to 66MHz. so, set the max speed to whatever the hardware can actually do. the bit pattern for 66MHz is "reserved" on the npcx7, so let's not even define it in the npcx7 case. BUG=b:72838699, b:71859563 BRANCH=none TEST="make buildall" passes; boots on meowth Change-Id: I428caf72a41fe58008df4624c475dafadca4a0bc Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/910321 Commit-Ready: caveh jalali <caveh@chromium.org> Tested-by: caveh jalali <caveh@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
@@ -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");
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user