aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2018-01-11 20:29:38 -0800
committerFurquan Shaikh <furquan@google.com>2018-01-31 03:04:43 +0000
commitbb1e539f1440bc805dd6350ffba9646454334b2f (patch)
tree4cd98e042514c79bc11032d7e0faf5d6aad48b9d
parent3c8e00e4cc46a25aaead85481ec745ebac95ed30 (diff)
mb/google/poppy/variants/nautilus: Add gpio-keys ACPI node for PENH
This change uses gpio_keys driver to add ACPI node for pen eject event. BUG=b:71329519 TEST=Verified using evtest that pen eject event results in events as expected. Change-Id: Ib293c2ca532c8ed9e2587143b1a69300cd9fa4e9 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/23238 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
-rw-r--r--src/mainboard/google/poppy/Kconfig1
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/devicetree.cb9
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/gpio.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index 1734ac05dd..d4679f62b0 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -2,6 +2,7 @@
config BOARD_GOOGLE_BASEBOARD_POPPY
def_bool n
select BOARD_ROMSIZE_KB_16384
+ select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
select EC_GOOGLE_CHROMEEC
diff --git a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
index d5aed6e85b..be8ab5b55d 100644
--- a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
@@ -321,6 +321,15 @@ chip soc/intel/skylake
register "hid_desc_reg_offset" = "0x1"
device i2c 0x9 on end
end
+ chip drivers/generic/gpio_keys
+ register "name" = ""PENH""
+ register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
+ register "key.dev_name" = ""EJCT""
+ register "key.linux_code" = "SW_PEN_INSERTED"
+ register "key.linux_input_type" = "EV_SW"
+ register "key.label" = ""pen_eject""
+ device generic 0 on end
+ end
end # I2C #3
device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
diff --git a/src/mainboard/google/poppy/variants/nautilus/gpio.c b/src/mainboard/google/poppy/variants/nautilus/gpio.c
index fea9da3542..72ffc62671 100644
--- a/src/mainboard/google/poppy/variants/nautilus/gpio.c
+++ b/src/mainboard/google/poppy/variants/nautilus/gpio.c
@@ -101,7 +101,7 @@ static const struct pad_config gpio_table[] = {
/* B18 : GSPI0_MOSI ==> NC */
PAD_CFG_NC(GPP_B18),
/* B19 : GSPI1_CS# ==> CHP3_PEN_EJECT - for notification */
- PAD_CFG_GPI(GPP_B19, NONE, DEEP),
+ PAD_CFG_GPI_GPIO_DRIVER(GPP_B19, NONE, DEEP),
/* B20 : GSPI1_CLK ==> NC */
PAD_CFG_NC(GPP_B20),
/* B21 : GSPI1_MISO ==> CHP3_PEN_EJECT - for wake event */