lynxpoint: Add an inverted input GPIO type

The wake device input pins are active low and the
GPIOs need to be set as inverted when they are marked
as an input so they are not spuriously logged.

suspend/resume on slippy with trackpad wake:

8 | 2013-05-29 07:43:14 | ACPI Enter | S3
9 | 2013-05-29 07:43:18 | ACPI Wake | S3
10 | 2013-05-29 07:43:18 | Wake Source | GPIO | 12

and with power button wake:

11 | 2013-05-29 07:43:35 | ACPI Enter | S3
12 | 2013-05-29 07:43:40 | EC Event | Power Button
13 | 2013-05-29 07:43:40 | ACPI Wake | S3
14 | 2013-05-29 07:43:40 | Wake Source | Power Button | 0

Change-Id: I15d38dcc9b2fb4b2b0eb27da358fa3c343e22323
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/56940
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4209
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Duncan Laurie 2013-05-29 07:48:47 -07:00 committed by Stefan Reinauer
parent 5679e5a4b6
commit 994611a637
3 changed files with 8 additions and 4 deletions

View File

@ -35,7 +35,7 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_INPUT, /* 9: RAM_ID1 */
LP_GPIO_ACPI_SCI, /* 10: WLAN_WAKE_L_Q */
LP_GPIO_UNUSED, /* 11: UNUSED */
LP_GPIO_INPUT, /* 12: TRACKPAD_INT_L (WAKE) */
LP_GPIO_INPUT_INVERT, /* 12: TRACKPAD_INT_L (WAKE) */
LP_GPIO_INPUT, /* 13: RAM_ID0 */
LP_GPIO_INPUT, /* 14: EC_IN_RW */
LP_GPIO_UNUSED, /* 15: UNUSED (STRAP) */
@ -48,7 +48,7 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 22: UNUSED */
LP_GPIO_UNUSED, /* 23: UNUSED */
LP_GPIO_UNUSED, /* 24: UNUSED */
LP_GPIO_INPUT, /* 25: TOUCH_INT_L (WAKE) */
LP_GPIO_INPUT_INVERT, /* 25: TOUCH_INT_L (WAKE) */
LP_GPIO_UNUSED, /* 26: UNUSED */
LP_GPIO_UNUSED, /* 27: UNUSED */
LP_GPIO_UNUSED, /* 28: UNUSED */

View File

@ -35,7 +35,7 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_INPUT, /* 9: RAM_ID1 */
LP_GPIO_ACPI_SCI, /* 10: WLAN_WAKE_L_Q */
LP_GPIO_UNUSED, /* 11: UNUSED */
LP_GPIO_INPUT, /* 12: TRACKPAD_INT_L (WAKE) */
LP_GPIO_INPUT_INVERT, /* 12: TRACKPAD_INT_L (WAKE) */
LP_GPIO_INPUT, /* 13: RAM_ID0 */
LP_GPIO_INPUT, /* 14: EC_IN_RW */
LP_GPIO_UNUSED, /* 15: UNUSED (STRAP) */
@ -48,7 +48,7 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 22: UNUSED */
LP_GPIO_UNUSED, /* 23: UNUSED */
LP_GPIO_UNUSED, /* 24: UNUSED */
LP_GPIO_INPUT, /* 25: TOUCH_INT_L (WAKE) */
LP_GPIO_INPUT_INVERT, /* 25: TOUCH_INT_L (WAKE) */
LP_GPIO_UNUSED, /* 26: UNUSED */
LP_GPIO_UNUSED, /* 27: UNUSED */
LP_GPIO_UNUSED, /* 28: UNUSED */

View File

@ -123,6 +123,10 @@
{ .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT, \
.owner = GPIO_OWNER_GPIO }
#define LP_GPIO_INPUT_INVERT \
{ .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT, \
.owner = GPIO_OWNER_GPIO }
#define LP_GPIO_IRQ_EDGE \
{ .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_EDGE, \
.owner = GPIO_OWNER_GPIO, \