summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-06-30 16:13:47 -0700
committerFurquan Shaikh <furquan@google.com>2020-07-01 17:56:01 +0000
commit16868bcaa276b6d40996ae70e5aba9d80c1ee3f5 (patch)
tree6667f0403d1c9995b33d2d215eb9d38c1c2c02b1
parentffc2e753628922e8f01c2c8c140b5d1b15525cb3 (diff)
downloadcoreboot-16868bcaa276b6d40996ae70e5aba9d80c1ee3f5.tar.xz
mb/google/zork/var/morphius: Enable support for garaged stylus
This change adds support for pen insert/eject operations in S0 and wake on pen eject from S3 for morphius. BUG=b:158814699,b:158719244 Change-Id: I3530a0aa83ec69559436687205c64524b862799b Signed-off-by: Kevin Chiu <kevin.chiu@quanta.corp-partner.google.com> Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42950 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/mainboard/google/zork/Kconfig1
-rw-r--r--src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c2
-rw-r--r--src/mainboard/google/zork/variants/morphius/overridetree.cb12
3 files changed, 14 insertions, 1 deletions
diff --git a/src/mainboard/google/zork/Kconfig b/src/mainboard/google/zork/Kconfig
index 885de149ac..3e7756b50c 100644
--- a/src/mainboard/google/zork/Kconfig
+++ b/src/mainboard/google/zork/Kconfig
@@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS
select VGA_BIOS
select BOARD_ROMSIZE_KB_16384
select DISABLE_SPI_FLASH_ROM_SHARING
+ select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
select EC_GOOGLE_CHROMEEC
diff --git a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
index f037b146f6..f7e30ef305 100644
--- a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
+++ b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
@@ -72,7 +72,7 @@ static const struct soc_amd_gpio gpio_set_stage_ram[] = {
/* PCIE_WAKE_L */
PAD_NF(GPIO_2, WAKE_L, PULL_UP),
/* PEN_DETECT_ODL */
- PAD_GPI(GPIO_4, PULL_UP),
+ PAD_WAKE(GPIO_4, PULL_NONE, EDGE_HIGH, S3),
/* PEN_POWER_EN - Enabled*/
PAD_GPO(GPIO_5, HIGH),
/* FPMCU_INT_L */
diff --git a/src/mainboard/google/zork/variants/morphius/overridetree.cb b/src/mainboard/google/zork/variants/morphius/overridetree.cb
index 3faab0d0c3..1240aa66df 100644
--- a/src/mainboard/google/zork/variants/morphius/overridetree.cb
+++ b/src/mainboard/google/zork/variants/morphius/overridetree.cb
@@ -79,6 +79,18 @@ chip soc/amd/picasso
register "hid_desc_reg_offset" = "0x01"
device i2c 5d on end
end
+ chip drivers/generic/gpio_keys
+ register "name" = ""PENH""
+ register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPIO_4)"
+ register "key.dev_name" = ""EJCT""
+ register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
+ register "key.linux_code" = "SW_PEN_INSERTED"
+ register "key.linux_input_type" = "EV_SW"
+ register "key.label" = ""pen_eject""
+ register "key.debounce_interval" = "100"
+ register "key.wakeup_route" = "WAKEUP_ROUTE_GPIO_IRQ"
+ device generic 0 on end
+ end
end
device mmio 0xfedca000 on