aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/zork/variants/ezkinil
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-08-05 14:54:39 -0700
committerFurquan Shaikh <furquan@google.com>2020-08-06 19:09:12 +0000
commit5474f8e3cf54dc9d9eb699de1ff0e3fdbe66dfe6 (patch)
tree8d7d3a6dc27e2b4a28f886847399ec8c72abb67b /src/mainboard/google/zork/variants/ezkinil
parentcc6c41f8d8b6880a7ad4947599350758cd18f85f (diff)
mb/google/zork: Add touchscreen power control
This change adds support for touchscreen power control using: * GPIO_90 for trembyle based boards * GPIO_32 for dalboz based boards By default, baseboard tables configure these GPIOs as PAD_GPO driven low and override trees expose these pads as enable_gpio to be used by ACPI power resource. In order to support pre-v3.6 boards, override tables configure these pads as PAD_NC and drop the enable_gpio setting from device tree based on board version. BUG=b:161935640, b:162747210 Change-Id: Iba5e36b65b44ea11613b4d5fc8f13ce6433f83ab Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44193 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/zork/variants/ezkinil')
-rw-r--r--src/mainboard/google/zork/variants/ezkinil/gpio.c4
-rw-r--r--src/mainboard/google/zork/variants/ezkinil/overridetree.cb4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mainboard/google/zork/variants/ezkinil/gpio.c b/src/mainboard/google/zork/variants/ezkinil/gpio.c
index b490b3a0ae..1bbc3018e0 100644
--- a/src/mainboard/google/zork/variants/ezkinil/gpio.c
+++ b/src/mainboard/google/zork/variants/ezkinil/gpio.c
@@ -39,6 +39,8 @@ static const struct soc_amd_gpio ezkinil_bid2_gpio_set_stage_ram[] = {
PAD_NC(GPIO_69),
/* MST_GPIO_2 (Fw Update HDMI hub) Change NC */
PAD_NC(GPIO_86),
+ /* TP */
+ PAD_NC(GPIO_90),
/* USI_RESET */
PAD_GPO(GPIO_140, HIGH),
};
@@ -48,6 +50,8 @@ static const struct soc_amd_gpio ezkinil_bid3_gpio_set_stage_ram[] = {
PAD_NC(GPIO_11),
/* FPMCU_BOOT0 Change NC */
PAD_NC(GPIO_69),
+ /* TP */
+ PAD_NC(GPIO_90),
/* USI_RESET */
PAD_GPO(GPIO_140, HIGH),
};
diff --git a/src/mainboard/google/zork/variants/ezkinil/overridetree.cb b/src/mainboard/google/zork/variants/ezkinil/overridetree.cb
index 1808a0f910..6a88b78201 100644
--- a/src/mainboard/google/zork/variants/ezkinil/overridetree.cb
+++ b/src/mainboard/google/zork/variants/ezkinil/overridetree.cb
@@ -73,6 +73,8 @@ chip soc/amd/picasso
register "desc" = ""Raydium Touchscreen""
register "probed" = "1"
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_12)"
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_90)"
+ register "enable_delay_ms" = "1"
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
# 32ms: Rise time of the reset line
# 20ms: Firmware ready time
@@ -86,6 +88,8 @@ chip soc/amd/picasso
register "generic.desc" = ""ELAN Touchscreen""
register "generic.probed" = "1"
register "generic.irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_12)"
+ register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_90)"
+ register "generic.enable_delay_ms" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
register "generic.reset_delay_ms" = "20"
register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_144)"