diff options
author | Matt DeVillier <matt.devillier@puri.sm> | 2021-03-25 07:38:30 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-03-28 16:05:57 +0000 |
commit | fcb68f31b6f0a2ef16aa809c46b960ced4250cdf (patch) | |
tree | 5a15d2e335a18d62d75545a5b580120d4795d03e | |
parent | 385667f67958f32a117ebc7ff606e9abe9148271 (diff) | |
download | coreboot-fcb68f31b6f0a2ef16aa809c46b960ced4250cdf.tar.xz |
mb/purism/librem_14: Move/fix touchpad interrupt GPIO
On production boards, the touchpad interrupt line was moved
from GPP_B20 to GPP_B3. Fix the GPIO pad config and devicetree entry,
and update documentation to remove touchpad config issue.
Change-Id: Iaefeba8f78c567b67e7a416c27299bff574c23ab
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51797
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
3 files changed, 5 insertions, 14 deletions
diff --git a/Documentation/mainboard/purism/librem_14.md b/Documentation/mainboard/purism/librem_14.md index ac9d0cdded..6ece264594 100644 --- a/Documentation/mainboard/purism/librem_14.md +++ b/Documentation/mainboard/purism/librem_14.md @@ -85,10 +85,6 @@ located underneath the Wi-Fi module, below the left cooling fan. * Automatic detection of external audio input/output via the 3.5mm jack does not currently work. - * Touchpad interrupt non-functional when correctly configured as active-low - and level-triggered, so configured as active-high instead. This causes an - interrupt storm and prevents the CPU from idling due to moderate (10-20%) - usage on a single core. * PL1/PL2 limited to 15W/20W by charger and battery discharge capability, not SoC or thermal design. diff --git a/src/mainboard/purism/librem_cnl/variants/librem_14/devicetree.cb b/src/mainboard/purism/librem_cnl/variants/librem_14/devicetree.cb index 375aa5dfcc..f61eb2b60a 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_14/devicetree.cb +++ b/src/mainboard/purism/librem_cnl/variants/librem_14/devicetree.cb @@ -185,7 +185,7 @@ chip soc/intel/cannonlake register "generic.hid" = ""HTIX5288"" register "generic.name" = ""TPD0"" register "generic.uid" = "1" - register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B20_IRQ)" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)" register "hid_desc_reg_offset" = "0x20" device i2c 2c on end end diff --git a/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c b/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c index 49c6b8a767..df8332e158 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c +++ b/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c @@ -90,8 +90,8 @@ static const struct pad_config gpio_table[] = { /* GPP_B2 - VRALERT# */ PAD_CFG_NF(GPP_B2, NONE, PLTRST, NF1), - /* GPP_B3 - NC */ - PAD_NC(GPP_B3, NONE), + /* GPP_B3 - TP_INT# */ + PAD_CFG_GPI_APIC_LOW(GPP_B3, NONE, PLTRST), /* GPP_B4 - NC */ PAD_NC(GPP_B4, UP_20K), @@ -141,13 +141,8 @@ static const struct pad_config gpio_table[] = { /* GPP_B19 - USB3_P1_PWREN */ PAD_CFG_GPO(GPP_B19, 1, PLTRST), - /* GPP_B20 - TP_INT# - * - * Due to interrupts failing to trigger when correctly configured - * active-low as PAD_CFG_GPI_APIC_LOW(GPP_B20, NONE, PLTRST), - * must configure instead as active-high: - */ - PAD_CFG_GPI_TRIG_OWN(GPP_B20, NONE, PLTRST, LEVEL, ACPI), + /* GPP_B20 - NC */ + PAD_NC(GPP_B20, NONE), /* GPP_B21 - NC */ PAD_NC(GPP_B21, UP_20K), |