summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-07-22 00:47:40 -0700
committerFelix Held <felix-coreboot@felixheld.de>2020-07-23 14:11:49 +0000
commitdcee4b6fa95d52d78f068ee3bac4147b8c9f074a (patch)
treeff77fd8322828bbd10c62424c1c0491e7608a3f3
parent29785027054a3a55b0072f3b3d2f0086708cfe6a (diff)
downloadcoreboot-dcee4b6fa95d52d78f068ee3bac4147b8c9f074a.tar.xz
mb/google/zork: Fix Goodix touchscreen ACPI node
This change does the following: a. USI_REPORT_EN is no longer set to high in coreboot. Instead GPIO_144 is exposed as stop_gpio in ACPI to allow OS to control this pad as required. b. Appropriate delays are added for power-down sequencing: - Delay after REPORT_EN is disabled - 1ms - Delay after RESET is asserted - 1ms BUG=b:159501288 Signed-off-by: Furquan Shaikh <furquan@google.com> Change-Id: If4d12fa0d4f4e5123d8fdccdabda996dcafa4523 Reviewed-on: https://review.coreboot.org/c/coreboot/+/43701 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/mainboard/google/zork/variants/baseboard/gpio_baseboard_dalboz.c7
-rw-r--r--src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c3
-rw-r--r--src/mainboard/google/zork/variants/dalboz/overridetree.cb3
-rw-r--r--src/mainboard/google/zork/variants/morphius/overridetree.cb3
-rw-r--r--src/mainboard/google/zork/variants/vilboz/overridetree.cb3
5 files changed, 12 insertions, 7 deletions
diff --git a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_dalboz.c b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_dalboz.c
index f65a92eaa4..5568194a47 100644
--- a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_dalboz.c
+++ b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_dalboz.c
@@ -158,11 +158,8 @@ static const struct soc_amd_gpio gpio_set_stage_ram[] = {
PAD_GPO(GPIO_142, HIGH),
/* BT_DISABLE */
PAD_GPO(GPIO_143, LOW),
- /*
- * USI_REPORT_EN - TODO: Driver resets this later.
- * Do we want it high or low initially?
- */
- PAD_GPO(GPIO_144, HIGH),
+ /* USI_REPORT_EN */
+ PAD_GPO(GPIO_144, LOW),
};
const __weak
diff --git a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
index 55c66e6465..c10c9f4376 100644
--- a/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
+++ b/src/mainboard/google/zork/variants/baseboard/gpio_baseboard_trembyle.c
@@ -173,8 +173,7 @@ static const struct soc_amd_gpio gpio_set_stage_ram[] = {
/* UART1_TXD - FPMCU */
PAD_NF(GPIO_143, UART1_TXD, PULL_NONE),
/* USI_REPORT_EN */
- /* TODO: Driver resets this later. Do we want it high or low initially? */
- PAD_GPO(GPIO_144, HIGH),
+ PAD_GPO(GPIO_144, LOW),
};
const __weak
diff --git a/src/mainboard/google/zork/variants/dalboz/overridetree.cb b/src/mainboard/google/zork/variants/dalboz/overridetree.cb
index 98a93eda0c..bcfff1f4e0 100644
--- a/src/mainboard/google/zork/variants/dalboz/overridetree.cb
+++ b/src/mainboard/google/zork/variants/dalboz/overridetree.cb
@@ -82,6 +82,9 @@ chip soc/amd/picasso
register "generic.probed" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
register "generic.reset_delay_ms" = "120"
+ register "generic.reset_off_delay_ms" = "1"
+ register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_144)"
+ register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 5d on end
diff --git a/src/mainboard/google/zork/variants/morphius/overridetree.cb b/src/mainboard/google/zork/variants/morphius/overridetree.cb
index 1e9a2c83b9..bc98beea51 100644
--- a/src/mainboard/google/zork/variants/morphius/overridetree.cb
+++ b/src/mainboard/google/zork/variants/morphius/overridetree.cb
@@ -67,6 +67,9 @@ chip soc/amd/picasso
register "generic.probed" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
register "generic.reset_delay_ms" = "120"
+ register "generic.reset_off_delay_ms" = "1"
+ register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_144)"
+ register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "generic.disable_gpio_export_in_crs" = "1"
register "hid_desc_reg_offset" = "0x01"
diff --git a/src/mainboard/google/zork/variants/vilboz/overridetree.cb b/src/mainboard/google/zork/variants/vilboz/overridetree.cb
index 49d21d569a..0f374cb1ab 100644
--- a/src/mainboard/google/zork/variants/vilboz/overridetree.cb
+++ b/src/mainboard/google/zork/variants/vilboz/overridetree.cb
@@ -89,7 +89,10 @@ chip soc/amd/picasso
register "generic.irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_12)"
register "generic.probed" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
+ register "generic.reset_off_delay_ms" = "1"
register "generic.reset_delay_ms" = "120"
+ register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_144)"
+ register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 5d on end