summaryrefslogtreecommitdiff
path: root/src/mainboard/google/poppy
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-05-23 11:56:09 -0700
committerFurquan Shaikh <furquan@google.com>2017-05-26 04:41:53 +0200
commit73108ded48f6a58deb08e01c1ae8fd35baf39d95 (patch)
treed062aacc48784eee5e1a8881367fcbe6ead70a39 /src/mainboard/google/poppy
parent04edaefad7ed4f9dce9281a25480c1c6eb9e303d (diff)
downloadcoreboot-73108ded48f6a58deb08e01c1ae8fd35baf39d95.tar.xz
mainboard/google/poppy: Add PowerResource for touchscreen device
1. Do not enable touchscreen device by default in gpio configuration. 2. Select use of PowerResource for touchscreen device in devicetree so that the ACPI subsystem can take care of powering on/off the device. When system enters suspend, touchscreen device is powered off and on resume, it is powered back on. BUG=b:62028489 TEST=Verified 100 cycles of suspend-resume. Touchscreen still works on poppy. Change-Id: Ia0bebc7259b10cc60a9fa5b53542dfdd9685663e Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/19829 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/poppy')
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/devicetree.cb4
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/gpio.c2
-rw-r--r--src/mainboard/google/poppy/variants/soraka/devicetree.cb4
3 files changed, 9 insertions, 1 deletions
diff --git a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb
index 4e3ffaf68c..51dadda26a 100644
--- a/src/mainboard/google/poppy/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/baseboard/devicetree.cb
@@ -210,6 +210,10 @@ chip soc/intel/skylake
register "desc" = ""Atmel Touchscreen""
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
register "probed" = "1"
+ register "has_power_resource" = "1"
+ register "disable_gpio_export_in_crs" = "1"
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
+ register "enable_delay_ms" = "250"
device i2c 4b on end
end
end # I2C #0
diff --git a/src/mainboard/google/poppy/variants/baseboard/gpio.c b/src/mainboard/google/poppy/variants/baseboard/gpio.c
index 2be9d0f86f..a8651930c1 100644
--- a/src/mainboard/google/poppy/variants/baseboard/gpio.c
+++ b/src/mainboard/google/poppy/variants/baseboard/gpio.c
@@ -174,7 +174,7 @@ static const struct pad_config gpio_table[] = {
/* C21 : UART2_TXD ==> PCHTX_SERVORX_UART */
PAD_CFG_NF(GPP_C21, NONE, DEEP, NF1),
/* C22 : UART2_RTS# ==> EN_PP3300_DX_TOUCHSCREEN */
- PAD_CFG_GPO(GPP_C22, 1, DEEP),
+ PAD_CFG_GPO(GPP_C22, 0, DEEP),
/* C23 : UART2_CTS# ==> PCH_WP */
PAD_CFG_GPI(GPP_C23, 20K_PU, DEEP),
diff --git a/src/mainboard/google/poppy/variants/soraka/devicetree.cb b/src/mainboard/google/poppy/variants/soraka/devicetree.cb
index d7fe0e84ef..7efe413472 100644
--- a/src/mainboard/google/poppy/variants/soraka/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/soraka/devicetree.cb
@@ -210,6 +210,10 @@ chip soc/intel/skylake
register "desc" = ""Atmel Touchscreen""
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
register "probed" = "1"
+ register "has_power_resource" = "1"
+ register "disable_gpio_export_in_crs" = "1"
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
+ register "enable_delay_ms" = "250"
device i2c 4b on end
end
end # I2C #0