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