summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Wawrzynczak <twawrzynczak@chromium.org>2019-08-07 11:38:31 -0600
committerPatrick Georgi <pgeorgi@google.com>2019-08-07 18:43:27 +0000
commit73ee930a534238f12c0182d5652ae1fe1ddc1e17 (patch)
treefa4fd59061b3d65c489d64999a4a23fe4d2f9060
parent69254494a0b03d870ab925f0a474c6077a358229 (diff)
downloadcoreboot-73ee930a534238f12c0182d5652ae1fe1ddc1e17.tar.xz
mb/google/hatch: Kohaku: Re-setup dual-routing of EMR_GARAGE_DET
The pinctrl driver in the linux kernel automatically turns off SCI routing for all GPIOs exported via ACPI, so this patch sets up dual-routing of the EMR_GARAGE_DET signal so that one can be used for IRQs and one for the SCI wake. Change-Id: Iadeb4502c5a98a72ba651bdcad626609656c196f Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34780 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Shelley Chen <shchen@google.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/hatch/variants/baseboard/gpio.c2
-rw-r--r--src/mainboard/google/hatch/variants/kohaku/gpio.c2
-rw-r--r--src/mainboard/google/hatch/variants/kohaku/overridetree.cb3
3 files changed, 5 insertions, 2 deletions
diff --git a/src/mainboard/google/hatch/variants/baseboard/gpio.c b/src/mainboard/google/hatch/variants/baseboard/gpio.c
index 5666d1c555..38d44f336b 100644
--- a/src/mainboard/google/hatch/variants/baseboard/gpio.c
+++ b/src/mainboard/google/hatch/variants/baseboard/gpio.c
@@ -30,7 +30,7 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_GPI_INT(GPP_A6, NONE, PLTRST, LEVEL),
/* A7 : PP3300_SOC_A */
PAD_NC(GPP_A7, NONE),
- /* A8 : PEN_GARAGE_DET_L */
+ /* A8 : PEN_GARAGE_DET_L (wake) */
PAD_CFG_GPI_GPIO_DRIVER_SCI(GPP_A8, NONE, DEEP, LEVEL, NONE),
/* A9 : ESPI_CLK */
/* A10 : FPMCU_PCH_BOOT1 */
diff --git a/src/mainboard/google/hatch/variants/kohaku/gpio.c b/src/mainboard/google/hatch/variants/kohaku/gpio.c
index bc9df38ab5..c157178966 100644
--- a/src/mainboard/google/hatch/variants/kohaku/gpio.c
+++ b/src/mainboard/google/hatch/variants/kohaku/gpio.c
@@ -25,6 +25,8 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_A6, NONE),
/* A10 : PEN_RESET_ODL */
PAD_CFG_GPO(GPP_A10, 1, DEEP),
+ /* A16 : EMR_GARAGE_DET (notification) */
+ PAD_CFG_GPI_APIC(GPP_A16, NONE, PLTRST, LEVEL, NONE),
/* A17 : PIRQA# ==> NC */
PAD_NC(GPP_A17, NONE),
/* A18 : ISH_GP0 ==> NC */
diff --git a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
index 57429ad0b8..13025c83f7 100644
--- a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
@@ -112,7 +112,8 @@ chip soc/intel/cannonlake
end
chip drivers/generic/gpio_keys
register "name" = ""PENH""
- register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_A8)"
+ # GPP_A16 is the IRQ source, and GPP_A8 is the wake source
+ register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_A16)"
register "key.wake" = "GPE0_DW0_08"
register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
register "key.dev_name" = ""EJCT""