diff options
author | Furquan Shaikh <furquan@google.com> | 2020-06-26 01:19:46 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2020-06-28 05:22:41 +0000 |
commit | fa8b75fb17ccd739d3e08a184a014d7dca35d3ce (patch) | |
tree | d9bc98cda8ff0829a7a589810ffae05a441c1625 /src/mainboard/google/poppy | |
parent | 490473edec3817902c0fff0d6635ac9bbb58bac2 (diff) |
gpio_keys: Allow boards to configure different wakeup routes
This change allows mainboard to configure different wakeup routes that
can be used by a GPIO key:
1. SCI: This is selected when SCI route is used to wake the system. It
results in _PRW property being exposed in ACPI tables.
2. GPIO IRQ: This is selected when GPIO controller wake is used to
wake the system. It is typically used when the input signal is not
dual routed and the GPIO controller block is not capable of applying
filters for IRQ and wake separately. In this case, _PRW is not exposed
in ACPI tables for the key device.
3. Disabled: No wakeup supported.
Based on these wakeup routes, gpio_keys_add_child_node() is updated to
expose _PRW and _DSD properties for wakeup appropriately.
Additionally, the change updates mainboards that were already using
gpio_keys to set wakeup_route attribute correctly and renames "wake"
to "wake_gpe" to make the usage clear.
BUG=b:159942427
Change-Id: Ib32b866b5f0ca559ed680b46218454bdfd8c6457
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42826
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard/google/poppy')
3 files changed, 3 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb index 0f3cc0443f..d57070e61a 100644 --- a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb +++ b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb @@ -335,6 +335,7 @@ chip soc/intel/skylake register "key.linux_code" = "SW_PEN_INSERTED" register "key.linux_input_type" = "EV_SW" register "key.label" = ""pen_eject"" + register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED" device generic 0 on end end end # I2C #3 diff --git a/src/mainboard/google/poppy/variants/nami/devicetree.cb b/src/mainboard/google/poppy/variants/nami/devicetree.cb index 4fa41c55ca..a4dcad0d85 100644 --- a/src/mainboard/google/poppy/variants/nami/devicetree.cb +++ b/src/mainboard/google/poppy/variants/nami/devicetree.cb @@ -401,6 +401,7 @@ chip soc/intel/skylake register "key.linux_code" = "SW_PEN_INSERTED" register "key.linux_input_type" = "EV_SW" register "key.label" = ""pen_insert"" + register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED" device generic 0 on end end end # I2C #2 diff --git a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb index c55562d0ec..a5f997a427 100644 --- a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb +++ b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb @@ -358,6 +358,7 @@ chip soc/intel/skylake register "key.linux_code" = "SW_PEN_INSERTED" register "key.linux_input_type" = "EV_SW" register "key.label" = ""pen_eject"" + register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED" device generic 0 on end end end # I2C #3 |