New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preliminary support for I2C HID touchpads of Intel Tigerlake+ notebooks #5195
Labels
Comments
chelmuth
added a commit
that referenced
this issue
Apr 24, 2024
Discovered on Tigerlake (Fujitsu U7411) and Alderlake (Framework Gen12) notebook devices. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 24, 2024
Discovered on Tigerlake (Fujitsu U7411) and Alderlake (Framework Gen12) notebook devices. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 24, 2024
The ported i2c_hid driver contains driver code for the "Intel Tigerlake/Alderlake PCH pinctrl/GPIO" device. Unfortunately, acpica driver also accesses the same device on Lid open/close via ACPI AML code of the DSDT table to read out the state of a GPIO pin connected to the notebook lid. This would fail as I/O memory is handed out only once and cannot be shared. The workaround disables the region check for the specified GPIO I/O memory regions and provides both drivers shared access to the regions. This is a preliminary workaround. A general solution should separate the GPIO driver into a component (e.g., platform driver) that regulates accesses by i2c_hid and acpica. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 24, 2024
chelmuth
added a commit
that referenced
this issue
Apr 25, 2024
Discovered on Tigerlake (Fujitsu U7411) and Alderlake (Framework Gen12) notebook devices. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 25, 2024
Discovered on Tigerlake (Fujitsu U7411) and Alderlake (Framework Gen12) notebook devices. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 25, 2024
The ported i2c_hid driver contains driver code for the "Intel Tigerlake/Alderlake PCH pinctrl/GPIO" device. Unfortunately, acpica driver also accesses the same device on Lid open/close via ACPI AML code of the DSDT table to read out the state of a GPIO pin connected to the notebook lid. This would fail as I/O memory is handed out only once and cannot be shared. The workaround disables the region check for the specified GPIO I/O memory regions and provides both drivers shared access to the regions. This is a preliminary workaround. A general solution should separate the GPIO driver into a component (e.g., platform driver) that regulates accesses by i2c_hid and acpica. Issue #5195
chelmuth
added a commit
that referenced
this issue
Apr 25, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The I2C HID support is a conglomerate of the following basic mechanisms.
PCH GPIO is a platform device (e.g., INT34C5) with a spec-defined configuration that can be retrieved from ACPI tables.
The I2C master controller is a (pseudo-)PCI device, mostly with unsufficiently initialized BARs.
The actual HID device (CID PNP0C50) is accessible via the mechanisms above and its configuration can be retrieved from ACPI resources and device-specific methods.
The text was updated successfully, but these errors were encountered: