GPIO driver reference

This section contains reference information about Windows driver support for general-purpose I/O (GPIO) controllers. Starting with Windows 8, the GPIO framework extension (GpioClx) simplifies the task of writing a driver for a GPIO controller. Additionally, this section describes the GPIO-specific I/O control codes (IOCTLs), which peripheral device drivers use to send I/O requests to their GPIO-connected peripheral devices.

In this section

FunctionDescription

CLIENT_ClearActiveInterrupts

The CLIENT_ClearActiveInterrupts event callback function clears active interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_ConnectIoPins

The CLIENT_ConnectIoPins event callback function opens a logical connection to a set of general-purpose I/O (GPIO) pins and configures these pins for data read or write operations.

CLIENT_ControllerSpecificFunction

The CLIENT_ControllerSpecificFunction event callback function performs an operation that is specific to a particular general-purpose I/O (GPIO) controller.

CLIENT_DisableInterrupt

The CLIENT_DisableInterrupt event callback function disables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_DisconnectIoPins

The CLIENT_DisconnectIoPins event callback function closes a logical connection to a set of general-purpose I/O (GPIO) pins that are configured for data read or write operations.

CLIENT_EnableInterrupt

The CLIENT_EnableInterrupt event callback function enables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_MaskInterrupts

The CLIENT_MaskInterrupts event callback function masks interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_PrepareController

The CLIENT_PrepareController event callback function performs any operations that are needed to make the general-purpose I/O (GPIO) controller ready to be accessed by the GPIO controller driver.

CLIENT_PreProcessControllerInterrupt

The CLIENT_PreProcessControllerInterrupt event callback function performs any pre-processing of a general-purpose I/O (GPIO) interrupt that must be done immediately if the ISR is scheduled to run at a later time.

CLIENT_QueryActiveInterrupts

The CLIENT_QueryActiveInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_QueryControllerBasicInformation

The CLIENT_QueryControllerBasicInformation event callback function retrieves the hardware attributes of the general-purpose I/O (GPIO) controller.

CLIENT_QueryEnabledInterrupts

The CLIENT_QueryEnabledInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins to determine which pins are both configured as interrupt inputs and enabled for interrupts.

CLIENT_QuerySetControllerInformation

The CLIENT_QuerySetControllerInformation event callback function queries the general-purpose I/O (GPIO) controller driver for the specified set of attributes of the GPIO controller.

CLIENT_ReadGpioPins

The CLIENT_ReadGpioPins event callback function reads a set of general-purpose I/O (GPIO) pins that are configured as data inputs.

CLIENT_ReadGpioPinsUsingMask

The CLIENT_ReadGpioPinsUsingMask event callback function reads a bank of general-purpose I/O (GPIO) pins.

CLIENT_ReconfigureInterrupt

The CLIENT_ReconfigureInterrupt event callback function reconfigures a general-purpose I/O (GPIO) pin that is used as an interrupt input.

CLIENT_ReleaseController

The CLIENT_ReleaseController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device is no longer accessible.

CLIENT_RestoreBankHardwareContext

The CLIENT_RestoreBankHardwareContext event callback function restores the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_SaveBankHardwareContext

The CLIENT_SaveBankHardwareContext event callback function saves the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_StartController

The CLIENT_StartController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device enters the D0 power state.

CLIENT_StopController

The CLIENT_StopController event callback function performs operations that are needed to prepare the general-purpose I/O (GPIO) controller device to exit the D0 power state.

CLIENT_UnmaskInterrupt

The CLIENT_UnmaskInterrupt event callback function unmasks the interrupt on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_WriteGpioPins

The CLIENT_WriteGpioPins event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

CLIENT_WriteGpioPinsUsingMask

The CLIENT_WriteGpioPinsUsingMask event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

GPIO_CLX_AcquireInterruptLock method

The GPIO_CLX_AcquireInterruptLock method acquires an interrupt lock on a bank of pins in the general-purpose I/O (GPIO) controller.

GPIO_CLX_ProcessAddDevicePostDeviceCreate method

The GPIO_CLX_ProcessAddDevicePostDeviceCreate method passes a framework device object to the GPIO framework extension (GpioClx).

GPIO_CLX_ProcessAddDevicePreDeviceCreate method

The GPIO_CLX_ProcessAddDevicePreDeviceCreate method loads initialization information into two structures that are passed as input parameters to the WdfDeviceCreate method.

GPIO_CLX_RegisterClient method

The GPIO_CLX_RegisterClient method registers a general-purpose I/O (GPIO) controller driver as a client of the GPIO framework extension (GpioClx).

GPIO_CLX_ReleaseInterruptLock method

The GPIO_CLX_ReleaseInterruptLock method releases an interrupt lock on the specified bank.

GPIO_CLX_UnregisterClient method

The GPIO_CLX_UnregisterClient method removes a general-purpose I/O (GPIO) controller driver's registration with the GPIO framework extension (GpioClx).

GpioClx Structures and Constants

This section describes the structures and constants that are defined for the GPIO framework extension (GpioClx). These structures and constants are used by the driver support methods and event callback functions in the GpioClx device driver interface (DDI).

GPIO reference in SDK header files

This section lists header files and reference used in general-purpose I/O (GPIO) controllers. The header files in this section are included in the Windows Software Development Kit (SDK).

 

In this section

FunctionDescription

CLIENT_ClearActiveInterrupts

The CLIENT_ClearActiveInterrupts event callback function clears active interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_ConnectIoPins

The CLIENT_ConnectIoPins event callback function opens a logical connection to a set of general-purpose I/O (GPIO) pins and configures these pins for data read or write operations.

CLIENT_ControllerSpecificFunction

The CLIENT_ControllerSpecificFunction event callback function performs an operation that is specific to a particular general-purpose I/O (GPIO) controller.

CLIENT_DisableInterrupt

The CLIENT_DisableInterrupt event callback function disables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_DisconnectIoPins

The CLIENT_DisconnectIoPins event callback function closes a logical connection to a set of general-purpose I/O (GPIO) pins that are configured for data read or write operations.

CLIENT_EnableInterrupt

The CLIENT_EnableInterrupt event callback function enables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_MaskInterrupts

The CLIENT_MaskInterrupts event callback function masks interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_PrepareController

The CLIENT_PrepareController event callback function performs any operations that are needed to make the general-purpose I/O (GPIO) controller ready to be accessed by the GPIO controller driver.

CLIENT_PreProcessControllerInterrupt

The CLIENT_PreProcessControllerInterrupt event callback function performs any pre-processing of a general-purpose I/O (GPIO) interrupt that must be done immediately if the ISR is scheduled to run at a later time.

CLIENT_QueryActiveInterrupts

The CLIENT_QueryActiveInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_QueryControllerBasicInformation

The CLIENT_QueryControllerBasicInformation event callback function retrieves the hardware attributes of the general-purpose I/O (GPIO) controller.

CLIENT_QueryEnabledInterrupts

The CLIENT_QueryEnabledInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins to determine which pins are both configured as interrupt inputs and enabled for interrupts.

CLIENT_QuerySetControllerInformation

The CLIENT_QuerySetControllerInformation event callback function queries the general-purpose I/O (GPIO) controller driver for the specified set of attributes of the GPIO controller.

CLIENT_ReadGpioPins

The CLIENT_ReadGpioPins event callback function reads a set of general-purpose I/O (GPIO) pins that are configured as data inputs.

CLIENT_ReadGpioPinsUsingMask

The CLIENT_ReadGpioPinsUsingMask event callback function reads a bank of general-purpose I/O (GPIO) pins.

CLIENT_ReconfigureInterrupt

The CLIENT_ReconfigureInterrupt event callback function reconfigures a general-purpose I/O (GPIO) pin that is used as an interrupt input.

CLIENT_ReleaseController

The CLIENT_ReleaseController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device is no longer accessible.

CLIENT_RestoreBankHardwareContext

The CLIENT_RestoreBankHardwareContext event callback function restores the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_SaveBankHardwareContext

The CLIENT_SaveBankHardwareContext event callback function saves the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_StartController

The CLIENT_StartController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device enters the D0 power state.

CLIENT_StopController

The CLIENT_StopController event callback function performs operations that are needed to prepare the general-purpose I/O (GPIO) controller device to exit the D0 power state.

CLIENT_UnmaskInterrupt

The CLIENT_UnmaskInterrupt event callback function unmasks the interrupt on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_WriteGpioPins

The CLIENT_WriteGpioPins event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

CLIENT_WriteGpioPinsUsingMask

The CLIENT_WriteGpioPinsUsingMask event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

GPIO_CLX_AcquireInterruptLock method

The GPIO_CLX_AcquireInterruptLock method acquires an interrupt lock on a bank of pins in the general-purpose I/O (GPIO) controller.

GPIO_CLX_ProcessAddDevicePostDeviceCreate method

The GPIO_CLX_ProcessAddDevicePostDeviceCreate method passes a framework device object to the GPIO framework extension (GpioClx).

GPIO_CLX_ProcessAddDevicePreDeviceCreate method

The GPIO_CLX_ProcessAddDevicePreDeviceCreate method loads initialization information into two structures that are passed as input parameters to the WdfDeviceCreate method.

GPIO_CLX_RegisterClient method

The GPIO_CLX_RegisterClient method registers a general-purpose I/O (GPIO) controller driver as a client of the GPIO framework extension (GpioClx).

GPIO_CLX_ReleaseInterruptLock method

The GPIO_CLX_ReleaseInterruptLock method releases an interrupt lock on the specified bank.

GPIO_CLX_UnregisterClient method

The GPIO_CLX_UnregisterClient method removes a general-purpose I/O (GPIO) controller driver's registration with the GPIO framework extension (GpioClx).

GpioClx Structures and Constants

This section describes the structures and constants that are defined for the GPIO framework extension (GpioClx). These structures and constants are used by the driver support methods and event callback functions in the GpioClx device driver interface (DDI).

GPIO reference in SDK header files

This section lists header files and reference used in general-purpose I/O (GPIO) controllers. The header files in this section are included in the Windows Software Development Kit (SDK).

 

In this section

Control CodeDescription

CLIENT_ClearActiveInterrupts

The CLIENT_ClearActiveInterrupts event callback function clears active interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_ConnectIoPins

The CLIENT_ConnectIoPins event callback function opens a logical connection to a set of general-purpose I/O (GPIO) pins and configures these pins for data read or write operations.

CLIENT_ControllerSpecificFunction

The CLIENT_ControllerSpecificFunction event callback function performs an operation that is specific to a particular general-purpose I/O (GPIO) controller.

CLIENT_DisableInterrupt

The CLIENT_DisableInterrupt event callback function disables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_DisconnectIoPins

The CLIENT_DisconnectIoPins event callback function closes a logical connection to a set of general-purpose I/O (GPIO) pins that are configured for data read or write operations.

CLIENT_EnableInterrupt

The CLIENT_EnableInterrupt event callback function enables interrupts on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_MaskInterrupts

The CLIENT_MaskInterrupts event callback function masks interrupts on a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_PrepareController

The CLIENT_PrepareController event callback function performs any operations that are needed to make the general-purpose I/O (GPIO) controller ready to be accessed by the GPIO controller driver.

CLIENT_PreProcessControllerInterrupt

The CLIENT_PreProcessControllerInterrupt event callback function performs any pre-processing of a general-purpose I/O (GPIO) interrupt that must be done immediately if the ISR is scheduled to run at a later time.

CLIENT_QueryActiveInterrupts

The CLIENT_QueryActiveInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins that are configured as interrupt inputs.

CLIENT_QueryControllerBasicInformation

The CLIENT_QueryControllerBasicInformation event callback function retrieves the hardware attributes of the general-purpose I/O (GPIO) controller.

CLIENT_QueryEnabledInterrupts

The CLIENT_QueryEnabledInterrupts event callback function queries the state of a set of general-purpose I/O (GPIO) pins to determine which pins are both configured as interrupt inputs and enabled for interrupts.

CLIENT_QuerySetControllerInformation

The CLIENT_QuerySetControllerInformation event callback function queries the general-purpose I/O (GPIO) controller driver for the specified set of attributes of the GPIO controller.

CLIENT_ReadGpioPins

The CLIENT_ReadGpioPins event callback function reads a set of general-purpose I/O (GPIO) pins that are configured as data inputs.

CLIENT_ReadGpioPinsUsingMask

The CLIENT_ReadGpioPinsUsingMask event callback function reads a bank of general-purpose I/O (GPIO) pins.

CLIENT_ReconfigureInterrupt

The CLIENT_ReconfigureInterrupt event callback function reconfigures a general-purpose I/O (GPIO) pin that is used as an interrupt input.

CLIENT_ReleaseController

The CLIENT_ReleaseController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device is no longer accessible.

CLIENT_RestoreBankHardwareContext

The CLIENT_RestoreBankHardwareContext event callback function restores the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_SaveBankHardwareContext

The CLIENT_SaveBankHardwareContext event callback function saves the hardware context of a bank of general-purpose I/O (GPIO) pins.

CLIENT_StartController

The CLIENT_StartController event callback function performs operations that are needed when the general-purpose I/O (GPIO) controller device enters the D0 power state.

CLIENT_StopController

The CLIENT_StopController event callback function performs operations that are needed to prepare the general-purpose I/O (GPIO) controller device to exit the D0 power state.

CLIENT_UnmaskInterrupt

The CLIENT_UnmaskInterrupt event callback function unmasks the interrupt on a general-purpose I/O (GPIO) pin that is configured as an interrupt input.

CLIENT_WriteGpioPins

The CLIENT_WriteGpioPins event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

CLIENT_WriteGpioPinsUsingMask

The CLIENT_WriteGpioPinsUsingMask event callback function writes to a set of general-purpose I/O (GPIO) pins that are configured as data outputs.

GPIO_CLX_AcquireInterruptLock method

The GPIO_CLX_AcquireInterruptLock method acquires an interrupt lock on a bank of pins in the general-purpose I/O (GPIO) controller.

GPIO_CLX_ProcessAddDevicePostDeviceCreate method

The GPIO_CLX_ProcessAddDevicePostDeviceCreate method passes a framework device object to the GPIO framework extension (GpioClx).

GPIO_CLX_ProcessAddDevicePreDeviceCreate method

The GPIO_CLX_ProcessAddDevicePreDeviceCreate method loads initialization information into two structures that are passed as input parameters to the WdfDeviceCreate method.

GPIO_CLX_RegisterClient method

The GPIO_CLX_RegisterClient method registers a general-purpose I/O (GPIO) controller driver as a client of the GPIO framework extension (GpioClx).

GPIO_CLX_ReleaseInterruptLock method

The GPIO_CLX_ReleaseInterruptLock method releases an interrupt lock on the specified bank.

GPIO_CLX_UnregisterClient method

The GPIO_CLX_UnregisterClient method removes a general-purpose I/O (GPIO) controller driver's registration with the GPIO framework extension (GpioClx).

GpioClx Structures and Constants

This section describes the structures and constants that are defined for the GPIO framework extension (GpioClx). These structures and constants are used by the driver support methods and event callback functions in the GpioClx device driver interface (DDI).

GPIO reference in SDK header files

This section lists header files and reference used in general-purpose I/O (GPIO) controllers. The header files in this section are included in the Windows Software Development Kit (SDK).

 

 

 

Send comments about this topic to Microsoft

Show: