106 #define GPIO_CFG_IO_MASK 0x00ff0000U 107 #define GPIO_CFG_IO_LSB 16U 108 #define GPIO_CFG_OUT_TYPE_MASK 0x00060000U 109 #define GPIO_CFG_OUT_TYPE_LSB 17U 110 #define GPIO_CFG_IN_TYPE_MASK 0x00060000U 111 #define GPIO_CFG_IN_TYPE_LSB 17U 112 #define GPIO_CFG_OUT_STRENGTH_MASK 0x00f00000U 113 #define GPIO_CFG_OUT_STRENGTH_LSB 20U 114 #define GPIO_CFG_INT_MASK 0x07000000U 115 #define GPIO_CFG_INT_LSB 24U 116 #define GPIO_CFG_OUT_BIT 19U 125 #define GPIO_CFG_OUTPUT (((uint32_t) 0) << GPIO_CFG_IO_LSB) 126 #define GPIO_CFG_OUT_STD (((uint32_t) 0) << GPIO_CFG_IO_LSB) 127 #define GPIO_CFG_OUT_OD_NOPULL (((uint32_t) 2) << GPIO_CFG_IO_LSB) 128 #define GPIO_CFG_OUT_OD_PU (((uint32_t) 4) << GPIO_CFG_IO_LSB) 129 #define GPIO_CFG_OUT_OD_PD (((uint32_t) 6) << GPIO_CFG_IO_LSB) 131 #define GPIO_CFG_OUT_HIGH (((uint32_t) 1) << GPIO_CFG_OUT_BIT) 132 #define GPIO_CFG_OUT_LOW (((uint32_t) 0) << GPIO_CFG_OUT_BIT) 134 #define GPIO_CFG_OUT_STR_LOW (((uint32_t) 0) << GPIO_CFG_OUT_STRENGTH_LSB) 135 #define GPIO_CFG_OUT_STR_MED (((uint32_t) 1) << GPIO_CFG_OUT_STRENGTH_LSB) 136 #define GPIO_CFG_OUT_STR_HIGH (((uint32_t) 2) << GPIO_CFG_OUT_STRENGTH_LSB) 138 #define GPIO_CFG_INPUT (((uint32_t) 1) << GPIO_CFG_IO_LSB) 139 #define GPIO_CFG_IN_NOPULL (((uint32_t) 1) << GPIO_CFG_IO_LSB) 140 #define GPIO_CFG_IN_PU (((uint32_t) 3) << GPIO_CFG_IO_LSB) 141 #define GPIO_CFG_IN_PD (((uint32_t) 5) << GPIO_CFG_IO_LSB) 147 #define GPIO_CFG_IN_INT_NONE (((uint32_t) 0) << GPIO_CFG_INT_LSB) 148 #define GPIO_CFG_IN_INT_FALLING (((uint32_t) 1) << GPIO_CFG_INT_LSB) 149 #define GPIO_CFG_IN_INT_RISING (((uint32_t) 2) << GPIO_CFG_INT_LSB) 150 #define GPIO_CFG_IN_INT_BOTH_EDGES (((uint32_t) 3) << GPIO_CFG_INT_LSB) 151 #define GPIO_CFG_IN_INT_LOW (((uint32_t) 4) << GPIO_CFG_INT_LSB) 152 #define GPIO_CFG_IN_INT_HIGH (((uint32_t) 5) << GPIO_CFG_INT_LSB) 163 #define GPIO_CFG_IN_INT_ONLY (((uint32_t) 1) << 27) 169 #define GPIO_DO_NOT_CONFIG 0x7fff0001U 176 typedef void (*GPIO_CallbackFxn)(void); 232 typedef struct GPIO_FxnTable_s {
256 typedef struct GPIO_Config_s {
269 #define GPIO_MAX_CONFIG_CNT (3U) void * object
Definition: GPIO.h:261
void GPIO_setConfig(uint32_t idx, GPIO_PinConfig pinConfig)
Configure the gpio pin.
void GPIO_init(void)
Initializes the GPIO module.
void GPIO_write(uint32_t idx, uint32_t value)
Writes the value to a GPIO pin.
The definition of a GPIO function table that contains the required set of functions to control a spec...
Definition: GPIO.h:232
GPIO_setConfigFxn setConfigFxn
Definition: GPIO.h:248
GPIO_clearIntFxn clearIntFxn
Definition: GPIO.h:240
void(* GPIO_clearIntFxn)(uint32_t idx)
Clear a GPIO pin interrupt flag.
Definition: GPIO.h:197
GPIO_InitFxn initFxn
Definition: GPIO.h:234
void(* GPIO_setConfigFxn)(uint32_t idx, GPIO_PinConfig pinConfig)
Configure the gpio pin.
Definition: GPIO.h:218
uint32_t(* GPIO_ReadFxn)(uint32_t idx)
Reads the value of a GPIO pin.
Definition: GPIO.h:186
uint32_t value
Definition: tisci_otp_revision.h:199
void(* GPIO_enableIntFxn)(uint32_t idx)
Enable a GPIO pin interrupt.
Definition: GPIO.h:207
GPIO Global configuration.
Definition: GPIO.h:256
void(* GPIO_InitFxn)(void)
Initializes the GPIO module.
Definition: GPIO.h:181
void GPIO_setCallback(uint32_t idx, GPIO_CallbackFxn callback)
Bind a callback function to a GPIO pin interrupt.
GPIO_Config GPIOConfigList[GPIO_MAX_CONFIG_CNT]
Definition: GPIO.h:270
void(* GPIO_CallbackFxn)(void)
GPIO callback function type.
Definition: GPIO.h:176
GPIO_toggleFxn toggleFxn
Definition: GPIO.h:250
GPIO_WriteFxn writeFxn
Definition: GPIO.h:238
void GPIO_toggle(uint32_t idx)
Toggles the current state of a GPIO.
GPIO_FxnTable const * fxnTablePtr
Definition: GPIO.h:258
void(* GPIO_setCallbackFxn)(uint32_t idx, GPIO_CallbackFxn callback)
Bind a callback function to a GPIO pin interrupt.
Definition: GPIO.h:212
uint32_t GPIO_PinConfig
GPIO pin configuration settings.
Definition: GPIO.h:100
GPIO_ReadFxn readFxn
Definition: GPIO.h:236
void GPIO_clearInt(uint32_t idx)
Clear a GPIO pin interrupt flag.
void(* GPIO_WriteFxn)(uint32_t idx, uint32_t value)
Writes the value to a GPIO pin.
Definition: GPIO.h:191
void(* GPIO_disableIntFxn)(uint32_t idx)
Disable a GPIO pin interrupt.
Definition: GPIO.h:202
GPIO_disableIntFxn disableIntFxn
Definition: GPIO.h:242
void const * hwAttrs
Definition: GPIO.h:264
void GPIO_enableInt(uint32_t idx)
Enable a GPIO pin interrupt.
void GPIO_disableInt(uint32_t idx)
Disable a GPIO pin interrupt.
GPIO_enableIntFxn enableIntFxn
Definition: GPIO.h:244
uint32_t GPIO_read(uint32_t idx)
Reads the value of a GPIO pin.
GPIO_setCallbackFxn setCallbackFxn
Definition: GPIO.h:246
#define GPIO_MAX_CONFIG_CNT
Definition: GPIO.h:269
void(* GPIO_toggleFxn)(uint32_t idx)
Toggles the current state of a GPIO.
Definition: GPIO.h:225