OpenBIC
OpenSource Bridge-IC
hal_gpio.c File Reference
#include <zephyr.h>
#include <stdio.h>
#include <string.h>
#include <logging/log.h>
#include "hal_gpio.h"
#include "util_sys.h"
Include dependency graph for hal_gpio.c:

Macros

#define STACK_SIZE   2048
 

Functions

 LOG_MODULE_REGISTER (hal_gpio)
 
__weak bool plat_gpio_immediate_int_cb (uint8_t gpio_num)
 
void irq_callback (const struct device *dev, struct gpio_callback *cb, uint32_t pins)
 
int gpio_interrupt_conf (uint8_t gpio_num, gpio_flags_t flags)
 
uint8_t gpio_get_reg_value (uint8_t gpio_num, uint8_t reg_offset)
 
void gpio_cb_irq_init (uint8_t gpio_num, gpio_flags_t flags)
 
int gpio_conf (uint8_t gpio_num, int dir)
 
int gpio_get_direction (uint8_t gpio_num)
 
int gpio_get (uint8_t gpio_num)
 
int gpio_set (uint8_t gpio_num, uint8_t status)
 
void gpio_index_to_num (void)
 
void init_gpio_dev (void)
 
void scu_init (SCU_CFG cfg[], size_t size)
 
__weak bool pal_load_gpio_config (void)
 
int gpio_init (const struct device *args)
 

Variables

struct k_work gpio_work [TOTAL_GPIO_NUM]
 
uint8_t gpio_ind_to_num_table [TOTAL_GPIO_NUM]
 
uint8_t gpio_ind_to_num_table_cnt
 
__weak char * gpio_name [] = {}
 
GPIO_CFG gpio_cfg [GPIO_CFG_SIZE]
 
uint32_t GPIO_GROUP_REG_ACCESS [GPIO_GROUP_NUM]
 
uint32_t GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS []
 
const int GPIO_MULTI_FUNC_CFG_SIZE = ARRAY_SIZE(GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS)
 

Macro Definition Documentation

◆ STACK_SIZE

#define STACK_SIZE   2048

Function Documentation

◆ gpio_cb_irq_init()

void gpio_cb_irq_init ( uint8_t  gpio_num,
gpio_flags_t  flags 
)

◆ 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_index_to_num()

void gpio_index_to_num ( void  )

◆ 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 
)

◆ init_gpio_dev()

void init_gpio_dev ( void  )

◆ irq_callback()

void irq_callback ( const struct device *  dev,
struct gpio_callback *  cb,
uint32_t  pins 
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( hal_gpio  )

◆ pal_load_gpio_config()

__weak bool pal_load_gpio_config ( void  )

◆ plat_gpio_immediate_int_cb()

__weak bool plat_gpio_immediate_int_cb ( uint8_t  gpio_num)

◆ scu_init()

void scu_init ( SCU_CFG  cfg[],
size_t  size 
)

Variable Documentation

◆ gpio_cfg

Initial value:
= {
}

◆ GPIO_GROUP_REG_ACCESS

uint32_t GPIO_GROUP_REG_ACCESS[GPIO_GROUP_NUM]
Initial value:
= {
}

◆ gpio_ind_to_num_table

uint8_t gpio_ind_to_num_table[TOTAL_GPIO_NUM]

◆ gpio_ind_to_num_table_cnt

uint8_t gpio_ind_to_num_table_cnt

◆ GPIO_MULTI_FUNC_CFG_SIZE

const int GPIO_MULTI_FUNC_CFG_SIZE = ARRAY_SIZE(GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS)

◆ GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS

uint32_t GPIO_MULTI_FUNC_PIN_CTL_REG_ACCESS[]

◆ gpio_name

__weak char* gpio_name[] = {}

◆ gpio_work

struct k_work gpio_work[TOTAL_GPIO_NUM]