Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PCI and ACPI



Hello,
I have a laptop with a i2c HID touchpad (this is the HID over I2C protocol).
I plan to port the ihid and associated drivers from OpenBSD for this, it
shouldn't be difficult.

The controller side is more difficult for me. If is integrated to the Gen 7
core I5 CPU. AFAIK OpenBSD nor FreeBSD have a driver for it, but they support
a previous version which should be close enough. OpenBSD has the dwiic.c
driver for this, which is an ACPI attachement.

In linux, for this device  this is intel-lpss.c, which can handle I2C, UART
or SPI functions. It can attach either as ACPI or PCI device, and in
my case it attaches as a pci device on vendor/device ID match
(there's no match on the APCI HID or CID).

Either the PCI or APCI front-end needs to parse the ACPI to get i2c-related
informations (the type of i2c device attached, its address and interrupt
line - this is not the same as the interrupt of the PCI function).
As I'm not familiar with ACPI I don't know how to find the device in the
ACPI table from a pci attachement, and from there extract the informations
I need about the i2c device.

Can anyone help me with this, or point me to information ?

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index