coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.h File Reference
#include <types.h>
#include <soc/addressmap.h>
Include dependency graph for gpio.h:

Go to the source code of this file.

Data Structures

union  gpio_t
 
struct  tlmm_gpio
 

Macros

#define TLMM_TILE_SIZE   0x00400000
 
#define TLMM_GPIO_OFF_DELTA   0x00001000
 
#define TLMM_GPIO_TILE_NUM   3
 
#define TLMM_GPIO_IN_OUT_OFF   0x4
 
#define TLMM_GPIO_ID_STATUS_OFF   0x10
 
#define GPIO_INTR_DECT_CTL_MASK   0x3
 
#define GPIO_INTR_RAW_STATUS_EN_MASK   0x1
 
#define GPIO_INTR_DECT_CTL_SHIFT   2
 
#define GPIO_INTR_RAW_STATUS_EN_SHIFT   4
 
#define GPIO_INTR_STATUS_MASK   0x1
 
#define GPIO_INTR_RAW_STATUS_ENABLE   1
 
#define GPIO_INTR_RAW_STATUS_DISABLE   0
 
#define GPIO_INTR_STATUS_ENABLE   1
 
#define GPIO_INTR_STATUS_DISABLE   0
 
#define GPIO_INPUT   0
 
#define GPIO_OUTPUT   1
 
#define GPIO_NO_PULL   0
 
#define GPIO_PULL_DOWN   1
 
#define GPIO_KEEPER   2
 
#define GPIO_PULL_UP   3
 
#define GPIO_2MA   0
 
#define GPIO_4MA   1
 
#define GPIO_6MA   2
 
#define GPIO_8MA   3
 
#define GPIO_10MA   4
 
#define GPIO_12MA   5
 
#define GPIO_14MA   6
 
#define GPIO_16MA   7
 
#define GPIO_DISABLE   0
 
#define GPIO_ENABLE   1
 
#define GPIO_CFG_PULL_BMSK   0x3
 
#define GPIO_CFG_FUNC_BMSK   0xF
 
#define GPIO_CFG_DRV_BMSK   0x7
 
#define GPIO_CFG_OE_BMSK   0x1
 
#define GPIO_CFG_PULL_SHFT   0
 
#define GPIO_CFG_FUNC_SHFT   2
 
#define GPIO_CFG_DRV_SHFT   6
 
#define GPIO_CFG_OE_SHFT   9
 
#define GPIO_IO_IN_BMSK   0x1
 
#define GPIO_IO_OUT_BMSK   0x1
 
#define GPIO_IO_IN_SHFT   0
 
#define GPIO_IO_OUT_SHFT   1
 
#define GPIO_ID_STATUS_BMSK   0x1
 
#define GPIO_NUM_MAX   149
 
#define GPIO_FUNC_GPIO   0
 
#define GPIO(num)   ((gpio_t){.addr = GPIO##num##_ADDR})
 
#define PIN(index, tlmm, func1, func2, func3, func4, func5, func6, func7)
 

Enumerations

enum  {
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) ,
  PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7) , PIN =(0, SOUTH, RES_1, RES_2, RES_3, RES_4, RES_5, RES_6, RES_7)
}
 
enum  gpio_irq_type {
  IRQ_TYPE_EDGE_RISING , IRQ_TYPE_EDGE_FALLING , IRQ_TYPE_LEVEL_HIGH , IRQ_TYPE_LEVEL_LOW ,
  IRQ_TYPE_LEVEL , IRQ_TYPE_RISING_EDGE , IRQ_TYPE_FALLING_EDGE , IRQ_TYPE_DUAL_EDGE ,
  IRQ_TYPE_LEVEL = 0 , IRQ_TYPE_RISING_EDGE = 1 , IRQ_TYPE_FALLING_EDGE = 2 , IRQ_TYPE_DUAL_EDGE = 3 ,
  IRQ_TYPE_EDGE_RISING = 0 , IRQ_TYPE_EDGE_FALLING , IRQ_TYPE_LEVEL_HIGH , IRQ_TYPE_LEVEL_LOW
}
 

Functions

void gpio_configure (gpio_t gpio, uint32_t func, uint32_t pull, uint32_t drive_str, uint32_t enable)
 
void gpio_input_irq (gpio_t gpio, enum gpio_irq_type type, uint32_t pull)
 
int gpio_irq_status (gpio_t gpio)
 

Macro Definition Documentation

◆ GPIO

#define GPIO (   num)    ((gpio_t){.addr = GPIO##num##_ADDR})

Definition at line 91 of file gpio.h.

◆ GPIO_10MA

#define GPIO_10MA   4

Definition at line 54 of file gpio.h.

◆ GPIO_12MA

#define GPIO_12MA   5

Definition at line 55 of file gpio.h.

◆ GPIO_14MA

#define GPIO_14MA   6

Definition at line 56 of file gpio.h.

◆ GPIO_16MA

#define GPIO_16MA   7

Definition at line 57 of file gpio.h.

◆ GPIO_2MA

#define GPIO_2MA   0

Definition at line 50 of file gpio.h.

◆ GPIO_4MA

#define GPIO_4MA   1

Definition at line 51 of file gpio.h.

◆ GPIO_6MA

#define GPIO_6MA   2

Definition at line 52 of file gpio.h.

◆ GPIO_8MA

#define GPIO_8MA   3

Definition at line 53 of file gpio.h.

◆ GPIO_CFG_DRV_BMSK

#define GPIO_CFG_DRV_BMSK   0x7

Definition at line 66 of file gpio.h.

◆ GPIO_CFG_DRV_SHFT

#define GPIO_CFG_DRV_SHFT   6

Definition at line 72 of file gpio.h.

◆ GPIO_CFG_FUNC_BMSK

#define GPIO_CFG_FUNC_BMSK   0xF

Definition at line 65 of file gpio.h.

◆ GPIO_CFG_FUNC_SHFT

#define GPIO_CFG_FUNC_SHFT   2

Definition at line 71 of file gpio.h.

◆ GPIO_CFG_OE_BMSK

#define GPIO_CFG_OE_BMSK   0x1

Definition at line 67 of file gpio.h.

◆ GPIO_CFG_OE_SHFT

#define GPIO_CFG_OE_SHFT   9

Definition at line 73 of file gpio.h.

◆ GPIO_CFG_PULL_BMSK

#define GPIO_CFG_PULL_BMSK   0x3

Definition at line 64 of file gpio.h.

◆ GPIO_CFG_PULL_SHFT

#define GPIO_CFG_PULL_SHFT   0

Definition at line 70 of file gpio.h.

◆ GPIO_DISABLE

#define GPIO_DISABLE   0

Definition at line 60 of file gpio.h.

◆ GPIO_ENABLE

#define GPIO_ENABLE   1

Definition at line 61 of file gpio.h.

◆ GPIO_FUNC_GPIO

#define GPIO_FUNC_GPIO   0

Definition at line 89 of file gpio.h.

◆ GPIO_ID_STATUS_BMSK

#define GPIO_ID_STATUS_BMSK   0x1

Definition at line 84 of file gpio.h.

◆ GPIO_INPUT

#define GPIO_INPUT   0

Definition at line 40 of file gpio.h.

◆ GPIO_INTR_DECT_CTL_MASK

#define GPIO_INTR_DECT_CTL_MASK   0x3

Definition at line 21 of file gpio.h.

◆ GPIO_INTR_DECT_CTL_SHIFT

#define GPIO_INTR_DECT_CTL_SHIFT   2

Definition at line 25 of file gpio.h.

◆ GPIO_INTR_RAW_STATUS_DISABLE

#define GPIO_INTR_RAW_STATUS_DISABLE   0

Definition at line 33 of file gpio.h.

◆ GPIO_INTR_RAW_STATUS_EN_MASK

#define GPIO_INTR_RAW_STATUS_EN_MASK   0x1

Definition at line 22 of file gpio.h.

◆ GPIO_INTR_RAW_STATUS_EN_SHIFT

#define GPIO_INTR_RAW_STATUS_EN_SHIFT   4

Definition at line 26 of file gpio.h.

◆ GPIO_INTR_RAW_STATUS_ENABLE

#define GPIO_INTR_RAW_STATUS_ENABLE   1

Definition at line 32 of file gpio.h.

◆ GPIO_INTR_STATUS_DISABLE

#define GPIO_INTR_STATUS_DISABLE   0

Definition at line 37 of file gpio.h.

◆ GPIO_INTR_STATUS_ENABLE

#define GPIO_INTR_STATUS_ENABLE   1

Definition at line 36 of file gpio.h.

◆ GPIO_INTR_STATUS_MASK

#define GPIO_INTR_STATUS_MASK   0x1

Definition at line 29 of file gpio.h.

◆ GPIO_IO_IN_BMSK

#define GPIO_IO_IN_BMSK   0x1

Definition at line 76 of file gpio.h.

◆ GPIO_IO_IN_SHFT

#define GPIO_IO_IN_SHFT   0

Definition at line 80 of file gpio.h.

◆ GPIO_IO_OUT_BMSK

#define GPIO_IO_OUT_BMSK   0x1

Definition at line 77 of file gpio.h.

◆ GPIO_IO_OUT_SHFT

#define GPIO_IO_OUT_SHFT   1

Definition at line 81 of file gpio.h.

◆ GPIO_KEEPER

#define GPIO_KEEPER   2

Definition at line 46 of file gpio.h.

◆ GPIO_NO_PULL

#define GPIO_NO_PULL   0

Definition at line 44 of file gpio.h.

◆ GPIO_NUM_MAX

#define GPIO_NUM_MAX   149

Definition at line 87 of file gpio.h.

◆ GPIO_OUTPUT

#define GPIO_OUTPUT   1

Definition at line 41 of file gpio.h.

◆ GPIO_PULL_DOWN

#define GPIO_PULL_DOWN   1

Definition at line 45 of file gpio.h.

◆ GPIO_PULL_UP

#define GPIO_PULL_UP   3

Definition at line 47 of file gpio.h.

◆ PIN

#define PIN (   index,
  tlmm,
  func1,
  func2,
  func3,
  func4,
  func5,
  func6,
  func7 
)
Value:
GPIO##index##_ADDR = TLMM_##tlmm##_TILE_BASE + index * TLMM_GPIO_OFF_DELTA, \
GPIO##index##_FUNC_##func1 = 1, \
GPIO##index##_FUNC_##func2 = 2, \
GPIO##index##_FUNC_##func3 = 3, \
GPIO##index##_FUNC_##func4 = 4, \
GPIO##index##_FUNC_##func5 = 5, \
GPIO##index##_FUNC_##func6 = 6, \
GPIO##index##_FUNC_##func7 = 7
#define TLMM_GPIO_OFF_DELTA
Definition: gpio.h:14
#define GPIO(num)
Definition: gpio.h:91

Definition at line 93 of file gpio.h.

◆ TLMM_GPIO_ID_STATUS_OFF

#define TLMM_GPIO_ID_STATUS_OFF   0x10

Definition at line 18 of file gpio.h.

◆ TLMM_GPIO_IN_OUT_OFF

#define TLMM_GPIO_IN_OUT_OFF   0x4

Definition at line 17 of file gpio.h.

◆ TLMM_GPIO_OFF_DELTA

#define TLMM_GPIO_OFF_DELTA   0x00001000

Definition at line 14 of file gpio.h.

◆ TLMM_GPIO_TILE_NUM

#define TLMM_GPIO_TILE_NUM   3

Definition at line 15 of file gpio.h.

◆ TLMM_TILE_SIZE

#define TLMM_TILE_SIZE   0x00400000

Definition at line 13 of file gpio.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 
PIN 

Definition at line 103 of file gpio.h.

◆ gpio_irq_type

Enumerator
IRQ_TYPE_EDGE_RISING 
IRQ_TYPE_EDGE_FALLING 
IRQ_TYPE_LEVEL_HIGH 
IRQ_TYPE_LEVEL_LOW 
IRQ_TYPE_LEVEL 
IRQ_TYPE_RISING_EDGE 
IRQ_TYPE_FALLING_EDGE 
IRQ_TYPE_DUAL_EDGE 
IRQ_TYPE_LEVEL 
IRQ_TYPE_RISING_EDGE 
IRQ_TYPE_FALLING_EDGE 
IRQ_TYPE_DUAL_EDGE 
IRQ_TYPE_EDGE_RISING 
IRQ_TYPE_EDGE_FALLING 
IRQ_TYPE_LEVEL_HIGH 
IRQ_TYPE_LEVEL_LOW 

Definition at line 313 of file gpio.h.

Function Documentation

◆ gpio_configure()

◆ gpio_input_irq()

void gpio_input_irq ( gpio_t  gpio,
enum gpio_irq_type  type,
uint32_t  pull 
)

◆ gpio_irq_status()

int gpio_irq_status ( gpio_t  gpio)

Definition at line 79 of file gpio.c.