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 dependency graph for gpio.h:

Go to the source code of this file.

Macros

#define GPIO_FUNC_ENABLE   1
 
#define GPIO_FUNC_DISABLE   0
 
#define FUNC_SEL_1   1
 
#define FUNC_SEL_3   3
 
#define FUNC_SEL_GPIO   0
 
#define GPIO_DRV_STR_10MA   0x4
 
#define GPIO_DRV_STR_11MA   0x7
 
#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_MAX_NUM   68
 
#define GPIO_CFG_PULL_MASK   0x3
 
#define GPIO_CFG_FUNC_MASK   0xF
 
#define GPIO_CFG_DRV_MASK   0x7
 
#define GPIO_CFG_OE_MASK   0x1
 
#define GPIO_CFG_PULL_SHIFT   0
 
#define GPIO_CFG_FUNC_SHIFT   2
 
#define GPIO_CFG_DRV_SHIFT   6
 
#define GPIO_CFG_OE_SHIFT   9
 
#define GPIO_IO_IN_MASK   0x1
 
#define GPIO_IO_OUT_MASK   0x1
 
#define GPIO_IO_IN_SHIFT   0
 
#define GPIO_IO_OUT_SHIFT   1
 

Typedefs

typedef u32 gpio_t
 

Functions

void gpio_tlmm_config_set (gpio_t gpio, unsigned int func, unsigned int pull, unsigned int drvstr, unsigned int enable)
 
void gpio_tlmm_config_get (gpio_t gpio, unsigned int *func, unsigned int *pull, unsigned int *drvstr, unsigned int *enable)
 
void gpio_io_config_set (gpio_t gpio, unsigned int out)
 
static void gpio_tlmm_config (unsigned int gpio, unsigned int func, unsigned int dir, unsigned int pull, unsigned int drvstr, unsigned int enable)
 

Macro Definition Documentation

◆ FUNC_SEL_1

#define FUNC_SEL_1   1

Definition at line 11 of file gpio.h.

◆ FUNC_SEL_3

#define FUNC_SEL_3   3

Definition at line 12 of file gpio.h.

◆ FUNC_SEL_GPIO

#define FUNC_SEL_GPIO   0

Definition at line 13 of file gpio.h.

◆ GPIO_10MA

#define GPIO_10MA   4

Definition at line 32 of file gpio.h.

◆ GPIO_12MA

#define GPIO_12MA   5

Definition at line 33 of file gpio.h.

◆ GPIO_14MA

#define GPIO_14MA   6

Definition at line 34 of file gpio.h.

◆ GPIO_16MA

#define GPIO_16MA   7

Definition at line 35 of file gpio.h.

◆ GPIO_2MA

#define GPIO_2MA   0

Definition at line 28 of file gpio.h.

◆ GPIO_4MA

#define GPIO_4MA   1

Definition at line 29 of file gpio.h.

◆ GPIO_6MA

#define GPIO_6MA   2

Definition at line 30 of file gpio.h.

◆ GPIO_8MA

#define GPIO_8MA   3

Definition at line 31 of file gpio.h.

◆ GPIO_CFG_DRV_MASK

#define GPIO_CFG_DRV_MASK   0x7

Definition at line 47 of file gpio.h.

◆ GPIO_CFG_DRV_SHIFT

#define GPIO_CFG_DRV_SHIFT   6

Definition at line 53 of file gpio.h.

◆ GPIO_CFG_FUNC_MASK

#define GPIO_CFG_FUNC_MASK   0xF

Definition at line 46 of file gpio.h.

◆ GPIO_CFG_FUNC_SHIFT

#define GPIO_CFG_FUNC_SHIFT   2

Definition at line 52 of file gpio.h.

◆ GPIO_CFG_OE_MASK

#define GPIO_CFG_OE_MASK   0x1

Definition at line 48 of file gpio.h.

◆ GPIO_CFG_OE_SHIFT

#define GPIO_CFG_OE_SHIFT   9

Definition at line 54 of file gpio.h.

◆ GPIO_CFG_PULL_MASK

#define GPIO_CFG_PULL_MASK   0x3

Definition at line 45 of file gpio.h.

◆ GPIO_CFG_PULL_SHIFT

#define GPIO_CFG_PULL_SHIFT   0

Definition at line 51 of file gpio.h.

◆ GPIO_DISABLE

#define GPIO_DISABLE   0

Definition at line 38 of file gpio.h.

◆ GPIO_DRV_STR_10MA

#define GPIO_DRV_STR_10MA   0x4

Definition at line 14 of file gpio.h.

◆ GPIO_DRV_STR_11MA

#define GPIO_DRV_STR_11MA   0x7

Definition at line 15 of file gpio.h.

◆ GPIO_ENABLE

#define GPIO_ENABLE   1

Definition at line 39 of file gpio.h.

◆ GPIO_FUNC_DISABLE

#define GPIO_FUNC_DISABLE   0

Definition at line 10 of file gpio.h.

◆ GPIO_FUNC_ENABLE

#define GPIO_FUNC_ENABLE   1

Definition at line 9 of file gpio.h.

◆ GPIO_INPUT

#define GPIO_INPUT   0

Definition at line 18 of file gpio.h.

◆ GPIO_IO_IN_MASK

#define GPIO_IO_IN_MASK   0x1

Definition at line 57 of file gpio.h.

◆ GPIO_IO_IN_SHIFT

#define GPIO_IO_IN_SHIFT   0

Definition at line 61 of file gpio.h.

◆ GPIO_IO_OUT_MASK

#define GPIO_IO_OUT_MASK   0x1

Definition at line 58 of file gpio.h.

◆ GPIO_IO_OUT_SHIFT

#define GPIO_IO_OUT_SHIFT   1

Definition at line 62 of file gpio.h.

◆ GPIO_KEEPER

#define GPIO_KEEPER   2

Definition at line 24 of file gpio.h.

◆ GPIO_MAX_NUM

#define GPIO_MAX_NUM   68

Definition at line 42 of file gpio.h.

◆ GPIO_NO_PULL

#define GPIO_NO_PULL   0

Definition at line 22 of file gpio.h.

◆ GPIO_OUTPUT

#define GPIO_OUTPUT   1

Definition at line 19 of file gpio.h.

◆ GPIO_PULL_DOWN

#define GPIO_PULL_DOWN   1

Definition at line 23 of file gpio.h.

◆ GPIO_PULL_UP

#define GPIO_PULL_UP   3

Definition at line 25 of file gpio.h.

Typedef Documentation

◆ gpio_t

typedef u32 gpio_t

Definition at line 64 of file gpio.h.

Function Documentation

◆ gpio_io_config_set()

void gpio_io_config_set ( gpio_t  gpio,
unsigned int  out 
)

◆ gpio_tlmm_config()

static void gpio_tlmm_config ( unsigned int  gpio,
unsigned int  func,
unsigned int  dir,
unsigned int  pull,
unsigned int  drvstr,
unsigned int  enable 
)
inlinestatic

Definition at line 77 of file gpio.h.

References gpio_tlmm_config_set(), and pull.

Here is the call graph for this function:

◆ gpio_tlmm_config_get()

void gpio_tlmm_config_get ( gpio_t  gpio,
unsigned int *  func,
unsigned int *  pull,
unsigned int *  drvstr,
unsigned int *  enable 
)

◆ gpio_tlmm_config_set()

void gpio_tlmm_config_set ( gpio_t  gpio,
unsigned int  func,
unsigned int  pull,
unsigned int  drvstr,
unsigned int  enable 
)