diff --git a/drivers/espi/espi_it8xxx2.c b/drivers/espi/espi_it8xxx2.c index da7d1b6584c..eff5f5d7075 100644 --- a/drivers/espi/espi_it8xxx2.c +++ b/drivers/espi/espi_it8xxx2.c @@ -47,6 +47,12 @@ LOG_MODULE_REGISTER(espi, CONFIG_ESPI_LOG_LEVEL); #define IT8XXX2_ESPI_VW_INTERRUPT_ENABLE BIT(7) #define IT8XXX2_ESPI_INTERRUPT_PUT_PC BIT(7) +/* + * VWCTRL2 register: + * bit4 = 1b: Refers to ESPI_RESET# for PLTRST#. + */ +#define IT8XXX2_ESPI_VW_RESET_PLTRST BIT(4) + #define IT8XXX2_ESPI_UPSTREAM_ENABLE BIT(7) #define IT8XXX2_ESPI_UPSTREAM_GO BIT(6) #define IT8XXX2_ESPI_UPSTREAM_INTERRUPT_ENABLE BIT(5) @@ -1870,6 +1876,9 @@ static int espi_it8xxx2_init(const struct device *dev) DEVICE_DT_INST_GET(0), 0); irq_enable(IT8XXX2_ESPI_VW_IRQ); + /* Reset PLTRST# virtual wire signal during eSPI reset */ + vw_reg->VWCTRL2 |= IT8XXX2_ESPI_VW_RESET_PLTRST; + #ifdef CONFIG_ESPI_OOB_CHANNEL espi_it8xxx2_oob_init(dev); #endif