AM263Px MCU+ SDK: gpio.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Macros | Functions
gpio/v0/gpio.h File Reference
APIs for SOC Specific Device Drivers » APIs for GPIO

## Introduction

GPIO Driver API/interface file.

The GPIO pins are grouped into banks (16 pins per bank and 9 banks per GPIO instance). This means means that each GPIO module provides up to 144 dedicated general-purpose pins with input and output capabilities

Note: Not all GPIO pins and banks are present in a particular device. Refer device TRM for actual GPIO instances and pins supported

Go to the source code of this file.

## Macros
#define | GPIO_MAX_BANKS (9U)
| Maximum number of banks per instance/module. More...
#define | GPIO_MAX_PIN_PER_BANK (16U)
| Maximum number of pins per bank. More...
#define | GPIO_MAX_PIN_PER_INSTANCE (GPIO_MAX_BANKS * GPIO_MAX_PIN_PER_BANK)
| Maximum number of pins per instance/module. More...
#define | GPIO_BANKS_PER_REG (2U)
| Number of banks per register. More...
#define | GPIO_PINS_PER_REG (GPIO_BANKS_PER_REG * GPIO_MAX_PIN_PER_BANK)
| Number of pins per register - 32 pins. More...
#define | GPIO_PINS_PER_REG_SHIFT (5U)
| Number of pins per register - shift value - used instead of divide operator. More...
#define | GPIO_PINS_PER_BANK_SHIFT (4U)
| Number of pins per bank - shift value - used instead of divide operator. More...
#define | GPIO_GET_BANK_INDEX(pinNum) (((uint32_t) pinNum) >> GPIO_PINS_PER_BANK_SHIFT)
| Returns the bank index based on pin number. More...
#define | GPIO_GET_REG_INDEX(pinNum) (((uint32_t) pinNum) >> GPIO_PINS_PER_REG_SHIFT)
| Returns the register index based on pin number. More...
#define | GPIO_GET_BIT_POS(pinNum) (pinNum - ((GPIO_GET_REG_INDEX(pinNum)) << GPIO_PINS_PER_REG_SHIFT))
| Returns the bit position within a register based on pin number. More...
#define | GPIO_GET_BIT_MASK(pinNum) (((uint32_t) 1U) << GPIO_GET_BIT_POS(pinNum))
| Returns the bit mask within a register based on pin number. More...
#define | GPIO_GET_BANK_BIT_POS(pinNum) (pinNum - ((GPIO_GET_BANK_INDEX(pinNum)) << GPIO_PINS_PER_BANK_SHIFT))
| Returns the bit position within a bank based on pin number. More...
#define | GPIO_GET_BANK_BIT_MASK(pinNum) (((uint32_t) 1U) << GPIO_GET_BANK_BIT_POS(pinNum))
| Returns the bit mask within a bank based on pin number. More...
GPIO Pin Value
#define | GPIO_PIN_LOW (0U)
| GPIO pin is at logic low. More...
#define | GPIO_PIN_HIGH (1U)
| GPIO pin is at logic high. More...
GPIO Direction
#define | GPIO_DIRECTION_OUTPUT (0U)
#define | GPIO_DIRECTION_INPUT (1U)
GPIO Trigger Type
#define | GPIO_TRIG_TYPE_NONE (0U)
| No interrupt request on either rising or falling edges on the pin. More...
#define | GPIO_TRIG_TYPE_RISE_EDGE (1U)
| Interrupt request on occurrence of a rising edge on the input pin. More...
#define | GPIO_TRIG_TYPE_FALL_EDGE (2U)
| Interrupt request on occurrence of a falling edge on the input pin. More...
#define | GPIO_TRIG_TYPE_BOTH_EDGE (3U)
| Interrupt request on occurrence of a rising/falling edge on the input pin. More...

## Functions
void | GPIO_setDirMode (uint32_t baseAddr, uint32_t pinNum, uint32_t pinDir)
| This API configures the direction of a specified GPIO pin as being either input or output. More...
static void | GPIO_pinWriteHigh (uint32_t baseAddr, uint32_t pinNum)
| This API drives an output GPIO pin to a logic HIGH state. More...
static void | GPIO_pinWriteLow (uint32_t baseAddr, uint32_t pinNum)
| This API drives an output GPIO pin to a logic LOW state. More...
uint32_t | GPIO_pinRead (uint32_t baseAddr, uint32_t pinNum)
| This API reads the logic level(value) on a specified GPIO pin. More...
uint32_t | GPIO_pinOutValueRead (uint32_t baseAddr, uint32_t pinNum)
| This API determines the output logic level(value) on a specified GPIO pin. More...
void | GPIO_setTrigType (uint32_t baseAddr, uint32_t pinNum, uint32_t trigType)
| This API configures the trigger type for a specified input GPIO pin. More...
void | GPIO_bankIntrEnable (uint32_t baseAddr, uint32_t bankNum)
| This API enables the bank interrupt. This has to be called after setting all the GPIO pin triggers of a bank to get interrupt. More...
void | GPIO_bankIntrDisable (uint32_t baseAddr, uint32_t bankNum)
| This API disables the bank interrupt. More...
static uint32_t | GPIO_getIntrStatus (uint32_t baseAddr, uint32_t pinNum)
| This API determines the enabled interrupt status of a specified pin. More...
static void | GPIO_clearIntrStatus (uint32_t baseAddr, uint32_t pinNum)
| This API clears the enabled interrupt status of a specified GPIO pin. More...
static uint32_t | GPIO_getBankIntrStatus (uint32_t baseAddr, uint32_t bankNum)
| This API returns the interrupt status of the specified bank. More...
static void | GPIO_clearBankIntrStatus (uint32_t baseAddr, uint32_t bankNum, uint32_t intrStatus)
| This API clears the interrupt status of the specified bank. More...