FreeRTOS port on GAP8/RISC-V
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gap8/pmsis/drivers/gpio/gpio.c File Reference

Data Structures

struct  gpio_itf_data_s
 

Functions

static void __pi_gpio_handler (void *arg)
 
static int32_t __pi_gpio_callback_add (struct gpio_itf_data_s *data, pi_gpio_callback_t *cb)
 
static int32_t __pi_gpio_callback_remove (struct gpio_itf_data_s *data, pi_gpio_callback_t *cb)
 
static void __pi_gpio_callback_fire (struct gpio_itf_data_s *data, pi_gpio_callback_t *cb)
 
static void gpio_handler (void *arg)
 
void pi_gpio_conf_init (struct pi_gpio_conf *conf)
 
int pi_gpio_open (struct pi_device *device)
 
void pi_gpio_close (struct pi_device *device)
 
int pi_gpio_pin_configure (struct pi_device *device, pi_gpio_e gpio, pi_gpio_flags_e flags)
 
int pi_gpio_pin_write (struct pi_device *device, uint32_t pin, uint32_t value)
 
int pi_gpio_pin_read (struct pi_device *device, uint32_t pin, uint32_t *value)
 
void pi_gpio_pin_notif_configure (struct pi_device *device, uint32_t pin, pi_gpio_notif_e irq_type)
 
void pi_gpio_pin_notif_clear (struct pi_device *device, uint32_t pin)
 
int pi_gpio_pin_notif_get (struct pi_device *device, uint32_t pin)
 
int pi_gpio_pin_task_add (struct pi_device *device, uint32_t pin, pi_task_t *task, pi_gpio_notif_e irq_type)
 
int pi_gpio_pin_task_remove (struct pi_device *device, uint32_t pin)
 
int pi_gpio_mask_configure (struct pi_device *device, uint32_t mask, pi_gpio_flags_e flags)
 
int pi_gpio_mask_write (struct pi_device *device, uint32_t mask, uint32_t value)
 
int pi_gpio_mask_read (struct pi_device *device, uint32_t mask, uint32_t *value)
 
int pi_gpio_mask_task_add (struct pi_device *device, uint32_t mask, pi_task_t *task, pi_gpio_notif_e irq_type)
 
int pi_gpio_mask_task_remove (struct pi_device *device, uint32_t mask)
 
int pi_gpio_callback_add (struct pi_device *device, pi_gpio_callback_t *cb)
 
int pi_gpio_callback_remove (struct pi_device *device, pi_gpio_callback_t *cb)
 

Variables

static struct gpio_itf_data_sg_gpio_itf_data [ARCHI_GPIO_NB_DEVICE]
 

Function Documentation

static int32_t __pi_gpio_callback_add ( struct gpio_itf_data_s data,
pi_gpio_callback_t *  cb 
)
static
static void __pi_gpio_callback_fire ( struct gpio_itf_data_s data,
pi_gpio_callback_t *  cb 
)
static
static int32_t __pi_gpio_callback_remove ( struct gpio_itf_data_s data,
pi_gpio_callback_t *  cb 
)
static
int pi_gpio_callback_add ( struct pi_device *  device,
pi_gpio_callback_t *  cb 
)
int pi_gpio_callback_remove ( struct pi_device *  device,
pi_gpio_callback_t *  cb 
)
void pi_gpio_conf_init ( struct pi_gpio_conf *  conf)
int pi_gpio_mask_configure ( struct pi_device *  device,
uint32_t  mask,
pi_gpio_flags_e  flags 
)
int pi_gpio_mask_read ( struct pi_device *  device,
uint32_t  mask,
uint32_t *  value 
)
int pi_gpio_mask_task_add ( struct pi_device *  device,
uint32_t  mask,
pi_task_t task,
pi_gpio_notif_e  irq_type 
)
int pi_gpio_mask_task_remove ( struct pi_device *  device,
uint32_t  mask 
)
int pi_gpio_mask_write ( struct pi_device *  device,
uint32_t  mask,
uint32_t  value 
)
void pi_gpio_pin_notif_clear ( struct pi_device *  device,
uint32_t  pin 
)
void pi_gpio_pin_notif_configure ( struct pi_device *  device,
uint32_t  pin,
pi_gpio_notif_e  irq_type 
)
int pi_gpio_pin_notif_get ( struct pi_device *  device,
uint32_t  pin 
)
int pi_gpio_pin_task_add ( struct pi_device *  device,
uint32_t  pin,
pi_task_t task,
pi_gpio_notif_e  irq_type 
)
int pi_gpio_pin_task_remove ( struct pi_device *  device,
uint32_t  pin 
)
int pi_gpio_pin_write ( struct pi_device *  device,
uint32_t  pin,
uint32_t  value 
)

Variable Documentation

struct gpio_itf_data_s* g_gpio_itf_data[ARCHI_GPIO_NB_DEVICE]
static