summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@puri.sm>2021-03-25 07:38:30 -0500
committerPatrick Georgi <pgeorgi@google.com>2021-03-28 16:05:57 +0000
commitfcb68f31b6f0a2ef16aa809c46b960ced4250cdf (patch)
tree5a15d2e335a18d62d75545a5b580120d4795d03e
parent385667f67958f32a117ebc7ff606e9abe9148271 (diff)
downloadcoreboot-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>
-rw-r--r--Documentation/mainboard/purism/librem_14.md4
-rw-r--r--src/mainboard/purism/librem_cnl/variants/librem_14/devicetree.cb2
-rw-r--r--src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c13
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),