Commit 5e75cb5c authored by Matt Devillier's avatar Matt Devillier
Browse files

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's avatarMatt DeVillier <matt.devillier@puri.sm>
parent e978de7e
...@@ -85,10 +85,6 @@ located underneath the Wi-Fi module, below the left cooling fan. ...@@ -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 * Automatic detection of external audio input/output via the 3.5mm jack
does not currently work. 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, * PL1/PL2 limited to 15W/20W by charger and battery discharge capability,
not SoC or thermal design. not SoC or thermal design.
......
...@@ -185,7 +185,7 @@ chip soc/intel/cannonlake ...@@ -185,7 +185,7 @@ chip soc/intel/cannonlake
register "generic.hid" = ""HTIX5288"" register "generic.hid" = ""HTIX5288""
register "generic.name" = ""TPD0"" register "generic.name" = ""TPD0""
register "generic.uid" = "1" 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" register "hid_desc_reg_offset" = "0x20"
device i2c 2c on end device i2c 2c on end
end end
......
...@@ -90,8 +90,8 @@ static const struct pad_config gpio_table[] = { ...@@ -90,8 +90,8 @@ static const struct pad_config gpio_table[] = {
/* GPP_B2 - VRALERT# */ /* GPP_B2 - VRALERT# */
PAD_CFG_NF(GPP_B2, NONE, PLTRST, NF1), PAD_CFG_NF(GPP_B2, NONE, PLTRST, NF1),
/* GPP_B3 - NC */ /* GPP_B3 - TP_INT# */
PAD_NC(GPP_B3, NONE), PAD_CFG_GPI_APIC_LOW(GPP_B3, NONE, PLTRST),
/* GPP_B4 - NC */ /* GPP_B4 - NC */
PAD_NC(GPP_B4, UP_20K), PAD_NC(GPP_B4, UP_20K),
...@@ -141,13 +141,8 @@ static const struct pad_config gpio_table[] = { ...@@ -141,13 +141,8 @@ static const struct pad_config gpio_table[] = {
/* GPP_B19 - USB3_P1_PWREN */ /* GPP_B19 - USB3_P1_PWREN */
PAD_CFG_GPO(GPP_B19, 1, PLTRST), PAD_CFG_GPO(GPP_B19, 1, PLTRST),
/* GPP_B20 - TP_INT# /* GPP_B20 - NC */
* PAD_NC(GPP_B20, NONE),
* 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_B21 - NC */ /* GPP_B21 - NC */
PAD_NC(GPP_B21, UP_20K), PAD_NC(GPP_B21, UP_20K),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment