OpenBIC
OpenSource Bridge-IC
hal_gpio.h File Reference
#include <drivers/gpio.h>
#include <devicetree.h>
Include dependency graph for hal_gpio.h:

Go to the source code of this file.

Classes

struct  _GPIO_CFG_
 
struct  _SET_GPIO_VALUE_CFG_
 
struct  _SCU_CFG_
 

Macros

#define GEN_ENUM(ENUM)   ENUM,
 
#define GEN_STR(STR)   #STR,
 
#define ENABLE   1
 
#define DISABLE   0
 
#define CHIP_GPIO   0
 
#define CHIP_SGPIO   1
 
#define GPIO_LOW   0
 
#define GPIO_HIGH   1
 
#define GPIO_STACK_SIZE   3072
 
#define OPEN_DRAIN   0
 
#define PUSH_PULL   1
 
#define GPIO_CFG_SIZE   168
 

Typedefs

typedef struct _GPIO_CFG_ GPIO_CFG
 
typedef struct _SET_GPIO_VALUE_CFG_ SET_GPIO_VALUE_CFG
 
typedef struct _SCU_CFG_ SCU_CFG
 

Enumerations

enum  GPIO_GROUP { FOREACH_GPIO =(GEN_ENUM) }
 
enum  POWER_STATUS { POWER_ON = GPIO_HIGH , POWER_OFF = GPIO_LOW }
 
enum  CONTROL_STATUS { CONTROL_ON = GPIO_HIGH , CONTROL_OFF = GPIO_LOW }
 
enum  GPIO_STATUS { LOW_ACTIVE = GPIO_LOW , LOW_INACTIVE = GPIO_HIGH , HIGH_ACTIVE = GPIO_HIGH , HIGH_INACTIVE = GPIO_LOW }
 

Functions

void gpio_show (void)
 
int gpio_get (uint8_t)
 
int gpio_set (uint8_t, uint8_t)
 
bool pal_load_gpio_config (void)
 
int gpio_init (const struct device *args)
 
int gpio_interrupt_conf (uint8_t, gpio_flags_t)
 
uint8_t gpio_get_reg_value (uint8_t gpio_num, uint8_t reg_offset)
 
int gpio_conf (uint8_t gpio_num, int dir)
 
int gpio_get_direction (uint8_t gpio_num)
 
void scu_init (SCU_CFG cfg[], size_t size)
 

Variables

uint32_t GPIO_GROUP_REG_ACCESS []
 
uint32_t GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS []
 
const int GPIO_MULTI_FUNC_CFG_SIZE
 
GPIO_CFG gpio_cfg []
 
char * gpio_name []
 
uint8_t gpio_ind_to_num_table []
 
uint8_t gpio_ind_to_num_table_cnt
 

Macro Definition Documentation

◆ CHIP_GPIO

#define CHIP_GPIO   0

◆ CHIP_SGPIO

#define CHIP_SGPIO   1

◆ DISABLE

#define DISABLE   0

◆ ENABLE

#define ENABLE   1

◆ GEN_ENUM

#define GEN_ENUM (   ENUM)    ENUM,

◆ GEN_STR

#define GEN_STR (   STR)    #STR,

◆ GPIO_CFG_SIZE

#define GPIO_CFG_SIZE   168

◆ GPIO_HIGH

#define GPIO_HIGH   1

◆ GPIO_LOW

#define GPIO_LOW   0

◆ GPIO_STACK_SIZE

#define GPIO_STACK_SIZE   3072

◆ OPEN_DRAIN

#define OPEN_DRAIN   0

◆ PUSH_PULL

#define PUSH_PULL   1

Typedef Documentation

◆ GPIO_CFG

typedef struct _GPIO_CFG_ GPIO_CFG

◆ SCU_CFG

typedef struct _SCU_CFG_ SCU_CFG

◆ SET_GPIO_VALUE_CFG

Enumeration Type Documentation

◆ CONTROL_STATUS

Enumerator
CONTROL_ON 
CONTROL_OFF 

◆ GPIO_GROUP

enum GPIO_GROUP
Enumerator
FOREACH_GPIO 

◆ GPIO_STATUS

Enumerator
LOW_ACTIVE 
LOW_INACTIVE 
HIGH_ACTIVE 
HIGH_INACTIVE 

◆ POWER_STATUS

Enumerator
POWER_ON 
POWER_OFF 

Function Documentation

◆ gpio_conf()

int gpio_conf ( uint8_t  gpio_num,
int  dir 
)

◆ gpio_get()

int gpio_get ( uint8_t  gpio_num)

◆ gpio_get_direction()

int gpio_get_direction ( uint8_t  gpio_num)

◆ gpio_get_reg_value()

uint8_t gpio_get_reg_value ( uint8_t  gpio_num,
uint8_t  reg_offset 
)

◆ gpio_init()

int gpio_init ( const struct device *  args)
Here is the call graph for this function:

◆ gpio_interrupt_conf()

int gpio_interrupt_conf ( uint8_t  gpio_num,
gpio_flags_t  flags 
)

◆ gpio_set()

int gpio_set ( uint8_t  gpio_num,
uint8_t  status 
)

◆ gpio_show()

void gpio_show ( void  )

◆ pal_load_gpio_config()

bool pal_load_gpio_config ( void  )
Here is the call graph for this function:

◆ scu_init()

void scu_init ( SCU_CFG  cfg[],
size_t  size 
)

Variable Documentation

◆ gpio_cfg

GPIO_CFG gpio_cfg[]
extern

◆ GPIO_GROUP_REG_ACCESS

uint32_t GPIO_GROUP_REG_ACCESS[]
extern

◆ gpio_ind_to_num_table

uint8_t gpio_ind_to_num_table[]
extern

◆ gpio_ind_to_num_table_cnt

uint8_t gpio_ind_to_num_table_cnt
extern

◆ GPIO_MULTI_FUNC_CFG_SIZE

const int GPIO_MULTI_FUNC_CFG_SIZE
extern

◆ GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS

uint32_t GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS[]
extern

◆ gpio_name

char* gpio_name[]
extern