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

Functions

static void __pi_hyper_handler (void *arg)
 
static void __pi_hyper_handle_pending_transfer (struct hyper_driver_fifo_s *fifo)
 
static void __pi_hyper_handle_end_of_task (struct pi_task *task)
 
static uint32_t __pi_hyper_task_fifo_enqueue (struct hyper_driver_fifo_s *fifo, struct pi_task *task)
 
static struct pi_task * __pi_hyper_task_fifo_pop (struct hyper_driver_fifo_s *fifo)
 
static void __pi_hyper_copy_exec (struct hyper_driver_fifo_s *fifo, struct pi_task *task)
 
static void __pi_hyper_copy_2d_exec (struct hyper_driver_fifo_s *fifo, struct pi_task *task)
 
static void __pi_hyper_settings (struct hyper_driver_conf_s *conf, uint8_t hyper_type)
 
void __pi_hyper_handler_irq (void *arg)
 
static uint8_t __pi_hyper_clk_div_get (uint32_t baudrate)
 
void __pi_hyper_conf_init (struct pi_hyper_conf *conf)
 Init hyperbus configuration structure. More...
 
int32_t __pi_hyper_open (struct pi_hyper_conf *conf, struct hyper_driver_conf_s **driver_conf)
 Open hyperbus device. More...
 
void __pi_hyper_close (struct hyper_driver_conf_s *conf)
 Close hyperbus device. More...
 
void __pi_hyper_copy_2d (struct hyper_driver_conf_s *conf, struct hyper_transfer_s *transfer, struct pi_task *task)
 Enqueue 2D transfer. More...
 
int32_t __pi_hyper_ioctl (struct hyper_driver_conf_s *conf, uint32_t cmd, void *arg)
 

Variables

struct hyper_driver_fifo_sg_hyper_driver_fifo [UDMA_NB_HYPER]
 

Function Documentation

static uint8_t __pi_hyper_clk_div_get ( uint32_t  baudrate)
inlinestatic

References HYPER_TRACE, and pi_freq_get().

Referenced by __pi_hyper_open().

void __pi_hyper_conf_init ( struct pi_hyper_conf *  conf)
Parameters
confPointer to hyperbus conf.

Referenced by pi_hyper_conf_init().

void __pi_hyper_copy_2d ( struct hyper_driver_conf_s conf,
struct hyper_transfer_s transfer,
struct pi_task *  task 
)
static void __pi_hyper_copy_exec ( struct hyper_driver_fifo_s fifo,
struct pi_task *  task 
)
static
static void __pi_hyper_handle_end_of_task ( struct pi_task *  task)
static
static void __pi_hyper_handle_pending_transfer ( struct hyper_driver_fifo_s fifo)
static
static void __pi_hyper_handler ( void *  arg)
static
int32_t __pi_hyper_ioctl ( struct hyper_driver_conf_s conf,
uint32_t  cmd,
void *  arg 
)
int32_t __pi_hyper_open ( struct pi_hyper_conf *  conf,
struct hyper_driver_conf_s **  driver_conf 
)
static uint32_t __pi_hyper_task_fifo_enqueue ( struct hyper_driver_fifo_s fifo,
struct pi_task *  task 
)
static
static struct pi_task * __pi_hyper_task_fifo_pop ( struct hyper_driver_fifo_s fifo)
static

Variable Documentation

struct hyper_driver_fifo_s* g_hyper_driver_fifo[UDMA_NB_HYPER]