atlas: control touchscreen power using ACPI

This adds the ACPI controls for power sequencing the touchscreen.

The initial setting is to keep the touchscreen powered off and in
reset.  When linux is ready to talk to the touchscreen, it powers it
on and releases reset via ACPI.

BUG=b:110286344
TEST=verified touchscreen is functional in chromeos

Change-Id: I58c42a8f09342cfe54f82ef0e6cd8ea72a5140dc
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://review.coreboot.org/28869
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/poppy/variants/atlas/devicetree.cb b/src/mainboard/google/poppy/variants/atlas/devicetree.cb
index dc54099..66cd1bd 100644
--- a/src/mainboard/google/poppy/variants/atlas/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/atlas/devicetree.cb
@@ -278,6 +278,14 @@
 				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
 				register "generic.speed" = "I2C_SPEED_FAST"
 				register "generic.probed" = "1"
+				register "generic.has_power_resource" = "1"
+				register "generic.disable_gpio_export_in_crs" = "1"
+				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
+				# 2ms for load switch slew + 5 ms for touchscreen
+				register "generic.enable_delay_ms" = "7"
+				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E11)"
+				register "generic.reset_delay_ms" = "20"
+				register "generic.reset_off_delay_ms" = "1"
 				register "hid_desc_reg_offset" = "0xab"
 				device i2c 0x49 on end
 			end