diff options
author | Abe Levkoy <alevkoy@chromium.org> | 2019-10-25 16:36:38 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-30 20:13:03 +0000 |
commit | 6136a62b472f028329863e4f5adb9464d68deafa (patch) | |
tree | 690ec695477fb2fc47d5d8835761e05f98c3b19c | |
parent | 3e3135b1b9ad2ff1a0d8f1b7448fd2c2f8198adb (diff) | |
download | chrome-ec-6136a62b472f028329863e4f5adb9464d68deafa.tar.gz |
eSPI: Configure SLP_S3, SLP_S4 separately
Split the configuration option CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS into
separate options controlling SLP_S3 and SLP_S4. Allow volteer to
configure SLP_S3 as a GPIO and SLP_S4 as an eSPI virtual wire. Cause a
build error if virtual wires are configured, but eSPI is not.
BUG=b:139553375,b:143288478
TEST=make buildall
TEST=Build volteer with CONFIG_HOSTCMD_ESPI_VW_S4 defined but
CONFIG_HOSTCMD_ESPI undefined; observe build error
BRANCH=none
Change-Id: I8c6737e2ccb1a77a882e5fa65c6eddb342209b61
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1881758
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | baseboard/dragonegg/baseboard.h | 3 | ||||
-rw-r--r-- | baseboard/intelrvp/baseboard.h | 3 | ||||
-rw-r--r-- | baseboard/kalista/baseboard.h | 8 | ||||
-rw-r--r-- | baseboard/volteer/baseboard.h | 1 | ||||
-rw-r--r-- | board/akemi/gpio.inc | 4 | ||||
-rw-r--r-- | board/atlas/board.h | 3 | ||||
-rw-r--r-- | board/dragonegg/gpio.inc | 4 | ||||
-rw-r--r-- | board/dratini/gpio.inc | 4 | ||||
-rw-r--r-- | board/eve/board.h | 3 | ||||
-rw-r--r-- | board/fizz/board.h | 8 | ||||
-rw-r--r-- | board/fizz/gpio.inc | 5 | ||||
-rw-r--r-- | board/hatch/gpio.inc | 4 | ||||
-rw-r--r-- | board/helios/gpio.inc | 4 | ||||
-rw-r--r-- | board/kindred/gpio.inc | 4 | ||||
-rw-r--r-- | board/kohaku/gpio.inc | 4 | ||||
-rw-r--r-- | board/mchpevb1/board.h | 3 | ||||
-rw-r--r-- | board/nami/board.h | 3 | ||||
-rw-r--r-- | board/nautilus/board.h | 3 | ||||
-rw-r--r-- | board/nautilus/gpio.inc | 4 | ||||
-rw-r--r-- | board/npcx7_evb/board.h | 3 | ||||
-rw-r--r-- | board/poppy/board.h | 3 | ||||
-rw-r--r-- | board/poppy/gpio.inc | 7 | ||||
-rw-r--r-- | board/rammus/board.h | 3 | ||||
-rw-r--r-- | board/tglrvpu_ite/gpio.inc | 4 | ||||
-rw-r--r-- | board/volteer/board.h | 1 | ||||
-rw-r--r-- | board/volteer/gpio.inc | 5 | ||||
-rw-r--r-- | chip/npcx/espi.c | 2 | ||||
-rw-r--r-- | include/config.h | 16 | ||||
-rw-r--r-- | power/intel_x86.h | 7 |
29 files changed, 81 insertions, 45 deletions
diff --git a/baseboard/dragonegg/baseboard.h b/baseboard/dragonegg/baseboard.h index 99cd891374..9046d4e5c3 100644 --- a/baseboard/dragonegg/baseboard.h +++ b/baseboard/dragonegg/baseboard.h @@ -15,7 +15,8 @@ #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_EXTPOWER_GPIO #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_MKBP_EVENT #define CONFIG_MKBP_USE_HOST_EVENT #define CONFIG_POWER_BUTTON diff --git a/baseboard/intelrvp/baseboard.h b/baseboard/intelrvp/baseboard.h index 8e9d563466..a0591fb797 100644 --- a/baseboard/intelrvp/baseboard.h +++ b/baseboard/intelrvp/baseboard.h @@ -90,7 +90,8 @@ /* SoC / PCH */ #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_MKBP_EVENT #define CONFIG_MKBP_USE_HOST_EVENT #define CONFIG_POWER_BUTTON diff --git a/baseboard/kalista/baseboard.h b/baseboard/kalista/baseboard.h index 050d914681..751a1ae8a9 100644 --- a/baseboard/kalista/baseboard.h +++ b/baseboard/kalista/baseboard.h @@ -66,12 +66,8 @@ #define CONFIG_CHIPSET_HAS_PRE_INIT_CALLBACK #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -/* - * Eve and Poppy all have wires from GPIO to PCH but - * CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS is defined. So, those GPIOs are not used - * by EC. - */ -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_CMD_PD_CONTROL #define CONFIG_EXTPOWER_GPIO diff --git a/baseboard/volteer/baseboard.h b/baseboard/volteer/baseboard.h index 6ff7421ec1..c022a78b32 100644 --- a/baseboard/volteer/baseboard.h +++ b/baseboard/volteer/baseboard.h @@ -38,6 +38,7 @@ /* Host communication */ #define CONFIG_HOSTCMD_ESPI +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* Chipset config */ #define CONFIG_CHIPSET_TIGERLAKE diff --git a/board/akemi/gpio.inc b/board/akemi/gpio.inc index b1cf284a1c..14c44fd4f6 100644 --- a/board/akemi/gpio.inc +++ b/board/akemi/gpio.inc @@ -16,8 +16,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/atlas/board.h b/board/atlas/board.h index ae81f713b4..23ce6b22c5 100644 --- a/board/atlas/board.h +++ b/board/atlas/board.h @@ -56,7 +56,8 @@ #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_CPU_PROCHOT_ACTIVE_LOW #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_KEYBOARD_BOARD_CONFIG #define CONFIG_KEYBOARD_COL2_INVERTED #define CONFIG_KEYBOARD_PROTOCOL_8042 diff --git a/board/dragonegg/gpio.inc b/board/dragonegg/gpio.inc index 273b45d69d..9b18d6f362 100644 --- a/board/dragonegg/gpio.inc +++ b/board/dragonegg/gpio.inc @@ -20,8 +20,10 @@ GPIO_INT(UART1_RX, PIN(B, 0), GPIO_INT_BOTH, uart_deepsleep_interrupt) /* /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(E, 4), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(I, 4), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(I, 5), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(SLP_SUS_L, PIN(G, 2), GPIO_INT_BOTH, power_signal_interrupt) diff --git a/board/dratini/gpio.inc b/board/dratini/gpio.inc index 2f216419e8..8faa96fb89 100644 --- a/board/dratini/gpio.inc +++ b/board/dratini/gpio.inc @@ -17,8 +17,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/eve/board.h b/board/eve/board.h index b21abb7331..8b1f5e85ca 100644 --- a/board/eve/board.h +++ b/board/eve/board.h @@ -67,7 +67,8 @@ #define CONFIG_CHIPSET_HAS_PLATFORM_PMIC_RESET #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_KEYBOARD_BOARD_CONFIG #define CONFIG_KEYBOARD_COL2_INVERTED #define CONFIG_KEYBOARD_PROTOCOL_8042 diff --git a/board/fizz/board.h b/board/fizz/board.h index 28a70e546d..cabce30b3e 100644 --- a/board/fizz/board.h +++ b/board/fizz/board.h @@ -68,12 +68,8 @@ #define CONFIG_CHIPSET_HAS_PRE_INIT_CALLBACK #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -/* - * Eve and Poppy all have wires from GPIO to PCH but - * CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS is defined. So, those GPIOs are not used - * by EC. - */ -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* Charger */ #define CONFIG_CHARGE_MANAGER diff --git a/board/fizz/gpio.inc b/board/fizz/gpio.inc index c762876b29..7da0bfce71 100644 --- a/board/fizz/gpio.inc +++ b/board/fizz/gpio.inc @@ -13,9 +13,10 @@ GPIO_INT(AC_PRESENT, PIN(C, 1), GPIO_INT_BOTH, extpower_interrupt) GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt) /* MECH_PWR_BTN_ODL */ GPIO_INT(PCH_SLP_S0_L, PIN(7, 5), GPIO_INT_BOTH, power_signal_interrupt) -/* Use VW signals instead of GPIOs */ -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(PCH_SLP_S3_L, PIN(7, 3), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PCH_SLP_SUS_L, PIN(6, 2), GPIO_INT_BOTH, power_signal_interrupt) diff --git a/board/hatch/gpio.inc b/board/hatch/gpio.inc index 7789d2c3db..4633b177a9 100644 --- a/board/hatch/gpio.inc +++ b/board/hatch/gpio.inc @@ -16,8 +16,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/helios/gpio.inc b/board/helios/gpio.inc index 25b3f9146e..9e65dec865 100644 --- a/board/helios/gpio.inc +++ b/board/helios/gpio.inc @@ -17,8 +17,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/kindred/gpio.inc b/board/kindred/gpio.inc index 8ee26eeee3..e20d59cfb2 100644 --- a/board/kindred/gpio.inc +++ b/board/kindred/gpio.inc @@ -16,8 +16,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/kohaku/gpio.inc b/board/kohaku/gpio.inc index e9294ddabc..73518dea1e 100644 --- a/board/kohaku/gpio.inc +++ b/board/kohaku/gpio.inc @@ -16,8 +16,10 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PG_EC_RSMRST_L, PIN(E, 2), GPIO_INT_BOTH, intel_x86_rsmrst_signal_interrupt) diff --git a/board/mchpevb1/board.h b/board/mchpevb1/board.h index f7fa01edf6..a2fdeca7f7 100644 --- a/board/mchpevb1/board.h +++ b/board/mchpevb1/board.h @@ -165,7 +165,8 @@ #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_CLOCK_CRYSTAL #define CONFIG_EXTPOWER_GPIO diff --git a/board/nami/board.h b/board/nami/board.h index b681d00dad..084e12c70d 100644 --- a/board/nami/board.h +++ b/board/nami/board.h @@ -77,7 +77,8 @@ #define CONFIG_CHIPSET_HAS_PRE_INIT_CALLBACK #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_HOSTCMD_FLASH_SPI_INFO /* Battery */ diff --git a/board/nautilus/board.h b/board/nautilus/board.h index 1bab4c4c72..55105d461b 100644 --- a/board/nautilus/board.h +++ b/board/nautilus/board.h @@ -64,7 +64,8 @@ #define CONFIG_CHIPSET_HAS_PLATFORM_PMIC_RESET #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* Battery */ #define CONFIG_BATTERY_CUT_OFF diff --git a/board/nautilus/gpio.inc b/board/nautilus/gpio.inc index 61d37cbcae..9cfc1e0bfd 100644 --- a/board/nautilus/gpio.inc +++ b/board/nautilus/gpio.inc @@ -14,8 +14,10 @@ GPIO_INT(USB_C1_PD_INT_ODL, PIN(C, 5), GPIO_INT_FALLING, tcpc_alert_event) GPIO_INT(PCH_SLP_S0_L, PIN(7, 5), GPIO_INT_BOTH, power_signal_interrupt) #endif /* Use VW signals instead of GPIOs */ -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(PCH_SLP_S3_L, PIN(7, 3), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(PCH_SLP_SUS_L, PIN(6, 2), GPIO_INT_BOTH, power_signal_interrupt) diff --git a/board/npcx7_evb/board.h b/board/npcx7_evb/board.h index 19d07b03ea..35e5e0a031 100644 --- a/board/npcx7_evb/board.h +++ b/board/npcx7_evb/board.h @@ -28,7 +28,8 @@ #define CONFIG_I2C /* Features of eSPI */ #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS /* Use VW signals instead of GPIOs */ +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* Optional features */ #define CONFIG_ENABLE_JTAG_SELECTION diff --git a/board/poppy/board.h b/board/poppy/board.h index a98b84d48e..0896685d96 100644 --- a/board/poppy/board.h +++ b/board/poppy/board.h @@ -65,7 +65,8 @@ #define CONFIG_CHIPSET_HAS_PLATFORM_PMIC_RESET #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* Battery */ #define CONFIG_BATTERY_CUT_OFF diff --git a/board/poppy/gpio.inc b/board/poppy/gpio.inc index 57c142600b..940d498a19 100644 --- a/board/poppy/gpio.inc +++ b/board/poppy/gpio.inc @@ -13,15 +13,16 @@ GPIO_INT(USB_C1_PD_INT_ODL, PIN(C, 5), GPIO_INT_FALLING, tcpc_alert_event) #ifdef CONFIG_POWER_S0IX GPIO_INT(PCH_SLP_S0_L, PIN(7, 5), GPIO_INT_BOTH, power_signal_interrupt) #endif -/* Use VW signals instead of GPIOs */ -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 #ifdef BOARD_LUX GPIO_INT(PCH_SLP_S3_L, PIN(2, 2), GPIO_INT_BOTH, power_signal_interrupt) #else GPIO_INT(PCH_SLP_S3_L, PIN(7, 3), GPIO_INT_BOTH, power_signal_interrupt) #endif +#endif /* CONFIG_HOSTCMD_ESPI_VW_SLP_S3 */ +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt) -#endif /* !CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS */ +#endif GPIO_INT(PCH_SLP_SUS_L, PIN(6, 2), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(RSMRST_L_PGOOD, PIN(B, 0), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(PMIC_DPWROK, PIN(C, 7), GPIO_INT_BOTH, power_signal_interrupt) diff --git a/board/rammus/board.h b/board/rammus/board.h index f471fe6ce6..caccc9cbe9 100644 --- a/board/rammus/board.h +++ b/board/rammus/board.h @@ -58,7 +58,8 @@ #define CONFIG_CHIPSET_HAS_PLATFORM_PMIC_RESET #define CONFIG_CHIPSET_RESET_HOOK #define CONFIG_HOSTCMD_ESPI -#define CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_HOSTCMD_FLASH_SPI_INFO /* Battery */ diff --git a/board/tglrvpu_ite/gpio.inc b/board/tglrvpu_ite/gpio.inc index e354ec6237..25fb2c58a7 100644 --- a/board/tglrvpu_ite/gpio.inc +++ b/board/tglrvpu_ite/gpio.inc @@ -18,8 +18,10 @@ GPIO_INT(SLP_SUS_L, PIN(C, 3), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(ALL_SYS_PWRGD, PIN(F, 0), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(RSMRST_L_PGOOD, PIN(F, 1), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(PCH_SLP_S0_L, PIN(G, 6), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(PCH_SLP_S3_L, PIN(F, 2), GPIO_INT_BOTH, power_signal_interrupt) +#endif +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 GPIO_INT(PCH_SLP_S4_L, PIN(F, 3), GPIO_INT_BOTH, power_signal_interrupt) #endif diff --git a/board/volteer/board.h b/board/volteer/board.h index 00cbd12451..9a636da471 100644 --- a/board/volteer/board.h +++ b/board/volteer/board.h @@ -61,7 +61,6 @@ #define GPIO_PCH_SYS_PWROK GPIO_EC_PCH_SYS_PWROK #define GPIO_PCH_SLP_S0_L GPIO_SLP_S0_L #define GPIO_PCH_SLP_S3_L GPIO_SLP_S3_L -#define GPIO_PCH_SLP_S4_L GPIO_SLP_S4_L #define GPIO_PG_EC_DSW_PWROK GPIO_DSW_PWROK #define GPIO_POWER_BUTTON_L GPIO_H1_EC_PWR_BTN_ODL #define GPIO_RSMRST_L_PGOOD GPIO_PG_EC_RSMRST_ODL diff --git a/board/volteer/gpio.inc b/board/volteer/gpio.inc index 852431eea1..fee9e6f0c6 100644 --- a/board/volteer/gpio.inc +++ b/board/volteer/gpio.inc @@ -16,15 +16,12 @@ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, ex /* Power sequencing interrupts */ GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt) -#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt) #endif GPIO_INT(SLP_SUS_L, PIN(D, 7), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(PG_EC_RSMRST_ODL, PIN(E, 2), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(DSW_PWROK, PIN(C, 7), GPIO_INT_BOTH, power_signal_interrupt) -/* TODO(b/139553375): This signal is virtual; need to change code to support - * virtual S4 with physical S3. */ -UNIMPLEMENTED(SLP_S4_L) /* Sensor Interrupts */ diff --git a/chip/npcx/espi.c b/chip/npcx/espi.c index b930579c70..43de2002da 100644 --- a/chip/npcx/espi.c +++ b/chip/npcx/espi.c @@ -260,7 +260,7 @@ static int espi_vw_get_signal_index(enum espi_vw_signal event) /* The ISRs of VW signals which used for power sequences */ void espi_vw_power_signal_interrupt(enum espi_vw_signal signal) { - if (IS_ENABLED(CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS)) + if (IS_ENABLED(CONFIG_HOST_ESPI_VW_POWER_SIGNAL)) /* TODO: Add VW handler in power/common.c */ power_signal_interrupt((enum gpio_signal) signal); } diff --git a/include/config.h b/include/config.h index 83c1a52bd7..72166713d6 100644 --- a/include/config.h +++ b/include/config.h @@ -2660,7 +2660,8 @@ * SLP signals (SLP_S3 and SLP_S4) use virtual wires intead of physical pins * with eSPI interface. */ -#undef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#undef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 +#undef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 /* MCHP next two items are EC eSPI slave configuration */ /* Maximum clock frequence eSPI EC slave advertises @@ -4362,6 +4363,19 @@ #include "config_chip.h" #include "board.h" +/* + * Define CONFIG_HOST_ESPI_VW_POWER_SIGNAL if any power signals from the host + * are configured as virtual wires. + */ +#if defined(CONFIG_HOSTCMD_ESPI_VW_SLP_S3) || \ + defined(CONFIG_HOSTCMD_ESPI_VW_SLP_S4) +#define CONFIG_HOST_ESPI_VW_POWER_SIGNAL +#endif + +#if defined(CONFIG_HOST_ESPI_VW_POWER_SIGNAL) && !defined(CONFIG_HOSTCMD_ESPI) +#error Must enable eSPI to enable virtual wires. +#endif + /******************************************************************************/ /* * Automatically define CONFIG_HOSTCMD_X86 if either child option is defined. diff --git a/power/intel_x86.h b/power/intel_x86.h index ef71bf5a75..794ac28af5 100644 --- a/power/intel_x86.h +++ b/power/intel_x86.h @@ -27,11 +27,14 @@ #endif /* GPIO for power signal */ -#ifdef CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS +#ifdef CONFIG_HOSTCMD_ESPI_VW_SLP_S3 #define SLP_S3_SIGNAL_L VW_SLP_S3_L -#define SLP_S4_SIGNAL_L VW_SLP_S4_L #else #define SLP_S3_SIGNAL_L GPIO_PCH_SLP_S3_L +#endif +#ifdef CONFIG_HOSTCMD_ESPI_VW_SLP_S4 +#define SLP_S4_SIGNAL_L VW_SLP_S4_L +#else #define SLP_S4_SIGNAL_L GPIO_PCH_SLP_S4_L #endif |