How to make the interrupt function working on Windows 10?
joseph_hsiao
New Member Posts: 2 ✭
Hi,
I'm developing Windows 10 device driver on UP2 board. My driver needs the interrupt function to report data to Windows. I set pin16 of HAT40 (GPIO19) as the interrupt pin in BIOS and ASL code:
GpioInt(Level, ActiveLow, Exclusive, PullNone, 0, "\\_SB.GPO0", ) {0x13}
But my driver never receives interrupt with this configuration. Besides, I found no GPIO controller is shown in System devices of Device Manager. Could you please advise how to make the interrupt function working on Windows 10?
Comments
-
After further checking DSDT table, I found why GPIO controller is not shown in Device Manager - the _STA method returns 0x0B.
Any reason for doing so?Device (GPO0) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT3452") // _HID: Hardware ID Name (_CID, "INT3452") // _CID: Compatible ID Name (_DDN, "General Purpose Input/Output (GPIO) Controller - North") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (LINK, "\\_SB.GPO0") Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y07) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x0000000E, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.GPO0._Y07._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.GPO0._Y07._LEN, B0LN) // _LEN: Length B0BA = GP0A /* \GP0A */ B0LN = GP0L /* \GP0L */ Return (RBUF) /* \_SB_.GPO0.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } :