29#ifndef LIBOPENCM3_GPIO_H
30#define LIBOPENCM3_GPIO_H
90#define GPIO_ADATA MMIO32(GPIO_BASE + 0x0)
92#define GPIO_ADIR MMIO32(GPIO_BASE + 0x4)
94#define GPIO_INTEN_A MMIO32(GPIO_BASE + 0x30)
96#define GPIO_INTMASK_A MMIO32(GPIO_BASE + 0x34)
98#define GPIO_INTLEVEL_A MMIO32(GPIO_BASE + 0x38)
100#define GPIO_INTPOLARITY_A MMIO32(GPIO_BASE + 0x3c)
102#define GPIO_INTSTAT_A MMIO32(GPIO_BASE + 0x40)
104#define GPIO_RAWINTSTAT_A MMIO32(GPIO_BASE + 0x44)
106#define GPIO_INTEOI_A MMIO32(GPIO_BASE + 0x48)
108#define GPIO_AEXT MMIO32(GPIO_BASE + 0x4c)
void gpio_int_clear(uint16_t gpios)
Clear the specified pin interrupts.
void gpio_int_type(uint16_t gpios, enum gpio_trig_type type)
Sets whether the pins are edge triggered or level triggered.
uint16_t gpio_get(uint16_t gpios)
Read a Group of Pins.
void gpio_int_mask(uint16_t gpios, enum gpio_int_masked masked)
Sets bits in the interrupt mask.
void gpio_output(uint16_t gpios)
Set the direction of a Group of Pins to Output.
void gpio_int_enable(uint16_t gpios, bool en)
Sets the pins as external interrupts, rather than normal GPIO.
void gpio_set(uint16_t gpios)
Set a Group of Pins.
void gpio_int_pol(uint16_t gpios, enum gpio_pol pol)
Sets the interrupt trigger polarity.
uint16_t gpio_int_status(void)
Gets the masked interrupt status.
void gpio_input(uint16_t gpios)
Set the direction of a Group of Pins to Input.
void gpio_clear(uint16_t gpios)
Clear a Group of Pins.
void gpio_toggle(uint16_t gpios)
Toggle a Group of Pins.
uint16_t gpio_int_raw_status(void)
Gets the raw unmasked interrupt status.