Add HID-over-I2C device device to ACPI tables

TGB
TGB New Member Posts: 3

I am developing an HID-over-I2C device and I want to test it on Windows 10.
Resource: https://docs.microsoft.com/en-us/previous-versions/windows/hardware/design/dn642101(v=vs.85)

Details of my system: BIOS version: UPX-ISH R0.9 (UISHAM09). Windows 10 64 bit.

My plan is to connect my device to the HAT 40 connector (CN22) and to make an entry for it in the ACPI tables. (make an ASL entry for it, compile it to get ACPITABL.dat file, place in c:\windows\system32\, enable test mode and reboot)

My issue is that I must find out what the pin numbers and the peripheral names are, for the resources exposed on the HAT 40 connector, so that I can make the ASL entry for my device. I require one i2c peripheral and one gpio.
At this stage it seems to me that ISH_I2C2 is \_SB.PCI0.I2C5, but I have not been able to identify ISH_I2C0/1 or any of the GPIO resources.

Here is a summary of the steps I followed:
1)
Obtained my ACPI tables by first dumping them using the acpidump.exe utility and then decoding them using the iasl.exe utility.
Resource: https://acpica.org/downloads

2)
Identified the I2C peripherals on the HAT40 connector using the RHProxy driver.
I saw my ACPI tables contain references to I2C0-I2C5. I thus made entries in the ASL for my RHProxy for I2C0-I2C5. I then used the I2CTestTool.exe utility (also at link above) to write dummy bytes to the various I2C peripherals. I used a logic analyser to watch the lines and to identify the appropriate pins. This is how I matched ISH_I2C2 to \_SB.PCI0.I2C5. I was not able to identify ISH_I2C0 and ISH_I2C1.
Resource: https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/enable-usermode-access#compile-and-load-asl-with-acpitabldat

3)
I tried to follow the same path for the GPIO peripherals. Here I included each GPIO in my ASL file using
"
GpioIo (Shared, PullNone, , , , "\_SB.PCI0.GPI0",) {0}
GpioInt(Edge, ActiveBoth, Shared, PullNone, 0,"\_SB.PCI0.GPI0",) {0}
"
I am not sure what the pin numbers should be - above in the example it is 0. I tried a couple of values 0-10, but had no luck. I require information on how to access the ISH_GPIO_0 - ISH_GPIO_10 pins, so that I can use one of them, together with an I2C peripheral to test my HID-over-I2C device.

Any help would be appreciated, thank you.

Answers