mainboard/google/poppy/variants/rammus: Fixed touchscreen function failed

According to issue tracker b:119238959 #4 & #6.
Hardware modify design to make GPP_E3 to be a switch of touchscreen
I2C CLK and SDA.
Control GPP_E3 to make touchscreen I2C CLK and SDA keep low during
power on initialization to avoid data transfer during this time.
After touchscreen IC initial complete, control GPP_E3 to high to
make touchscreen I2C CLK and SDA work normally.
Depending on touchscreen IC specification, device take 105ms for
power on initialization.
Change delay time from 120ms to 105ms.


BUG=b:119238959
BRANCH=firmware-rammus-11275.B
TEST=emerge-rammus coreboot chromeos-ec chromeos-bootimage
Flash FW to DUT, run S5 stress test and verify the result

Signed-off-by: YanRu Chen <kane_chen@pegatron.corp-partner.google.com>
Change-Id: I86452c1445243c499aeaf931dba286db169c5628
Reviewed-on: https://review.coreboot.org/c/30180
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kane Chenffd 2018-12-12 15:57:04 +08:00 committed by Patrick Georgi
parent c21df03ab6
commit b3591f3982
2 changed files with 5 additions and 3 deletions

View File

@ -264,7 +264,9 @@ chip soc/intel/skylake
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)" register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
register "generic.probed" = "1" register "generic.probed" = "1"
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)" register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
register "generic.enable_delay_ms" = "120" register "generic.enable_delay_ms" = "105"
register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1" register "generic.has_power_resource" = "1"
register "generic.disable_gpio_export_in_crs" = "1" register "generic.disable_gpio_export_in_crs" = "1"
register "hid_desc_reg_offset" = "0x0" register "hid_desc_reg_offset" = "0x0"

View File

@ -215,8 +215,8 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NC(GPP_E1), PAD_CFG_NC(GPP_E1),
/* E2 : SATAXPCIE2 ==> NC */ /* E2 : SATAXPCIE2 ==> NC */
PAD_CFG_NC(GPP_E2), PAD_CFG_NC(GPP_E2),
/* E3 : CPU_GP0 ==> NC */ /* E3 : CPU_GP0 ==> TOUCHSCREEN I2C OPERATION ENABLE/DISABLE. */
PAD_CFG_NC(GPP_E3), PAD_CFG_GPO(GPP_E3, 0, DEEP),
/* E4 : SATA_DEVSLP0 ==> NC */ /* E4 : SATA_DEVSLP0 ==> NC */
PAD_CFG_NC(GPP_E4), PAD_CFG_NC(GPP_E4),
/* E5 : SATA_DEVSLP1 ==> NC */ /* E5 : SATA_DEVSLP1 ==> NC */