ig4: Add Lunar Lake-M I2C controllers 4 and 5 - #2406
Open
kk1987 wants to merge 1 commit into
Open
Conversation
|
Thank you for taking the time to contribute to FreeBSD! All issues resolved. |
Commit 851dffe added the Lunar Lake-M I2C controllers 0 through 3 (0xa878-0xa87b), which sit on PCI device 0x15. The platform exposes two further controllers at 0xa850 and 0xa851 on PCI device 0x19, reported by Intel as I2C freebsd#4 and freebsd#5. This mirrors the layout already handled for Arrow Lake-U, where both the 0x777x and 0x775x ranges are listed. On an HP OmniBook X Flip 16-as0xxx (Core Ultra 9 288V) the firmware enables only four of the six controllers, and both HID devices sit on the two that were missing: an ELAN2514 touchscreen on controller 4 and a SYNA3503 touchpad on controller 5. Neither attaches without this change, so the machine has no working pointing device. Like the other four, these use the Tiger Lake revision of the I2C IP; Linux treats 0xa850/0xa851 identically to 0xa878-0xa87b in intel-lpss-pci.c. Tested on: HP OmniBook X Flip 16-as0xxx (Intel Core Ultra 9 288V) MFC after: 2 weeks Signed-off-by: Kang Kang <kk1987@gmail.com>
kk1987
force-pushed
the
ig4-lunarlake-i2c45
branch
from
September 3, 2026 20:41
48b33f0 to
76f6acb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit 851dffe (#1995) added the Lunar Lake-M I2C controllers 0-3 (
0xa878-0xa87b), which live on PCI device0x15. The platform has two more controllers,0xa850and0xa851on PCI device0x19, reported by Intel as I2C #4 and #5. Arrow Lake-U already lists both of its ranges (0x777xand0x775x), and so does Panther Lake-H.This is not just completeness. On an HP OmniBook X Flip 16-as0xxx (Core Ultra 9 288V) the firmware enables only four of the six controllers, and both HID devices sit on the two that are missing — with
mainas it stands the machine has no touchscreen and no touchpad:00:19.0(0xa850, I2C #4) → ELAN2514 touchscreen00:19.1(0xa851, I2C #5) → SYNA3503 touchpad0xa879and0xa87bare not present at all, and0xa87aonly carries the CS35L41 audio amplifiers, so none of the four currently supported IDs is of any use on this machine.Testing
Two
ig4.kovariants were built on 15.1-RELEASE with the currentmainID table backported: one with controllers 0-3 only (equivalent tomaintoday) and one with this patch on top.Before — controllers 0-3 only:
0xa850and0xa851get no driver, and noiichidchild is created anywhere.After — with this patch:
Both the touchscreen and the touchpad work.
Notes
These controllers use the Tiger Lake revision of the I2C IP like the other four; Linux routes
0xa850/0xa851through the sameehl_i2c_infoas0xa878-0xa87bindrivers/mfd/intel-lpss-pci.c.cc @Defenso-EBO, who added the first four.