Does HID-I2C touchscreen interrupt need to be over GPIO? RRS feed

  • Question

  • I have my i2c controller I/P instantiated over an FPGA daughter card which can be connected to a PC over a PCIe interface. To test the Win8 i2c controller driver(SPB architecture),we were planning to have an HID-I2C compatibile touch screen connected to the I2C controller.

    The touch screen interrupt itself will happen over PCIe.But the HID-I2C documentation mentions that the interrupt from

    the touch screen has to be connected to a GPIO, and this  is a mandatory requirement.It also mentions that HID-I2C is only for SoCs.

    Logically I cannot figure out how it matters whether the interrupt happens over PCIe or over GPIO.So is there some way, I can use the current

    setup for testing?

    Wednesday, June 20, 2012 10:27 AM


All replies

  • Do you want to test the I2c Controller or your device as a whole ? You dont need an interrupt if all you are testing is your i2c controller. There is a WDK sample that shows you how to do basic operations over the I2C bus : http://code.msdn.microsoft.com/windowshardware/SpbTestTool-adda6d71/view/SourceCode

    The requirements for touchscreens are more stringent so we will need to understand your design before recommending a solution.

    Wednesday, June 27, 2012 3:43 AM
  • I am really sorry for the late reply.Somehow I missed the notification that there was a reply for my post. 

    My requirement is to test and make sure that the I2c controller works well with a Windows 8 touch screen.The i2c controller itself can be tested separately,but the controller finally is going to be used with a touch screen.So I need to make sure that this requirement is satisfied by using WHCK.

         For testing this requirement, we are burning the i2c controller IP over an FPGA which will be connected to a machine running Windows 8 over a PCIe interface.The touch screen itself will be connected to the I2C bus lines taken out from the daughter card.

    HID-I2C document from Microsoft mentions that the touch screen has to deliver an interrupt over a GPIO pin.But in the cuurent setup, since there is no SoC, a GPIO interrupt is not possible.So is there some other way the objective can be achieved?

    I have inserted a drawing of the test setup.

    <meta content="text/html; charset=utf-8" http-equiv="content-type" />

    Thanks a ton,


    Tuesday, August 14, 2012 8:15 AM
  • In your setup you will still need to have a mechanism to wire up an interrupt line (maybe through an IO-APIC or GIC controller ? ). Theoretically, you could go down this daughter card route and figure out how to make it work - the HID/I2C device just needs I2C and an interrupt capabilities - but it seems a little more tedious than interfacing to a SoC.
    Tuesday, August 14, 2012 7:17 PM
  • The HID-I2C device has interrupt capabilities.But in our setup the interrupt will be delivered to the PC through a PCIe interface.But the HID-I2C document mentions that the interrupt has to be delivered over a GPIO line.

    The following link in msdn says that in the CurrentResourceSettings field of ACPI we have to mention the GPIO_INT for I2C controller.


    So can the current setup with interrupt over PCIe still work?

    • Edited by Ragesh T R Thursday, August 16, 2012 7:12 AM
    Thursday, August 16, 2012 5:39 AM
  • There are no explicit assumptions about GPIO as the interrupt source, so theoretically your approach should work.

    Thursday, August 16, 2012 5:40 PM
  • Hi Ragesh,

    Did you managed to get it running? I mean through another kind of interrupt source than a GPIO?

    Best regards,


    Tuesday, October 16, 2012 12:02 PM
  • No. I am stuck at the ACPI part.Since my devices are on PCI bus,it is PCI enumerated,not ACPI enumerated.But it looks like there needs to be ACPI entries for these devices .

    Tuesday, October 23, 2012 9:35 AM