From 3f59f082e3c1a0ffe382580a31ebfa8b58fc2785 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Wed, 26 Sep 2018 21:30:59 +0000 Subject: [PATCH] mb/google/nocturne: Define GPP_D17 as EC_SYNC_IRQ Use GPIO GPP_D17 pin as the EC sync interrupt and provide this value to the embedded controller to be exported to the OS. This interface was tested on a reworked Nocturne board with modified EC and a modified kernel driver to ensure that the interrupt asserts as expected and can be used by the kernel driver. Change-Id: Ie2b33692367b5d9ecc2b128180d8cfe4f6b347b1 Signed-off-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/28759 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/mainboard/google/poppy/variants/nocturne/gpio.c | 2 +- .../google/poppy/variants/nocturne/include/variant/ec.h | 3 +++ .../google/poppy/variants/nocturne/include/variant/gpio.h | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mainboard/google/poppy/variants/nocturne/gpio.c b/src/mainboard/google/poppy/variants/nocturne/gpio.c index 15a97c379b..99b2dcf51b 100644 --- a/src/mainboard/google/poppy/variants/nocturne/gpio.c +++ b/src/mainboard/google/poppy/variants/nocturne/gpio.c @@ -196,7 +196,7 @@ static const struct pad_config gpio_table[] = { /* D16 : ISH_UART0_CTS# ==> RCAM_RST_L */ PAD_CFG_GPO(GPP_D16, 0, DEEP), /* D17 : DMIC_CLK1 ==> EC_PCH_ARCORE_INT_L */ - PAD_CFG_NC(GPP_D17), + PAD_CFG_GPI_APIC(GPP_D17, NONE, PLTRST), /* D18 : DMIC_DATA1 ==> TP131 */ PAD_CFG_NC(GPP_D18), /* D19 : DMIC_CLK0 ==> PCH_DMIC_CLK_OUT */ diff --git a/src/mainboard/google/poppy/variants/nocturne/include/variant/ec.h b/src/mainboard/google/poppy/variants/nocturne/include/variant/ec.h index 7e168010cf..ba481e4542 100644 --- a/src/mainboard/google/poppy/variants/nocturne/include/variant/ec.h +++ b/src/mainboard/google/poppy/variants/nocturne/include/variant/ec.h @@ -79,4 +79,7 @@ #define EC_ENABLE_MKBP_DEVICE /* Enable cros_ec_keyb device */ #define EC_ENABLE_CBAS_DEVICE /* Enable "Base Attached Switch" device */ +/* Enable EC sync interrupt, EC_SYNC_IRQ is defined in variant/gpio.h */ +#define EC_ENABLE_SYNC_IRQ + #endif /* __MAINBOARD_EC_H__ */ diff --git a/src/mainboard/google/poppy/variants/nocturne/include/variant/gpio.h b/src/mainboard/google/poppy/variants/nocturne/include/variant/gpio.h index 0853893d40..fb7ad1abb4 100644 --- a/src/mainboard/google/poppy/variants/nocturne/include/variant/gpio.h +++ b/src/mainboard/google/poppy/variants/nocturne/include/variant/gpio.h @@ -34,6 +34,9 @@ /* EC wake is LAN_WAKE# which is a special DeepSX wake pin */ #define GPE_EC_WAKE GPE0_LAN_WAK +/* EC sync irq is GPP_D12 */ +#define EC_SYNC_IRQ GPP_D17_IRQ + /* eSPI virtual wire reporting */ #define EC_SCI_GPI GPE0_ESPI