VSF Documented
Data Structures | Macros | Typedefs | Functions
uart.c File Reference
#include "../driver.h"
#include "hal/vsf_hal.h"
#include "../vendor/plf/aic8800/src/driver/uart/reg_uart1.h"
#include "../vendor/plf/aic8800/src/driver/iomux/reg_iomux.h"
#include "../vendor/plf/aic8800/src/driver/ipc/reg_ipc_comreg.h"
#include "../vendor/plf/aic8800/src/driver/sysctrl/sysctrl_api.h"
#include "hal/driver/common/usart/usart_template.inc"

Data Structures

struct  __vsf_hw_usart_const_t
 
struct  __vsf_hw_usart_t
 

Macros

#define __VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS
 
#define VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS
 
#define VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_USART_CFG_IMP_PREFIX   __vsf_hw
 
#define VSF_USART_CFG_IMP_UPCASE_PREFIX   __VSF_HW
 
#define VSF_USART_CFG_IMP_COUNT_MASK_PREFIX   VSF_HW
 
#define VSF_USART_CFG_IMP_LV0(__IDX, __HAL_OP)
 
#define VSF_USART_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_USART_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_USART_CFG_IMP_REMAP_PREFIX   vsf_fifo2req
 
#define VSF_USART_CFG_IMP_LV0(__COUNT, __HAL_OP)
 

Typedefs

typedef struct __vsf_hw_usart_const_t __vsf_hw_usart_const_t
 
typedef struct __vsf_hw_usart_t __vsf_hw_usart_t
 

Functions

vsf_err_t __vsf_hw_usart_init (__vsf_hw_usart_t *hw_usart_ptr, vsf_usart_cfg_t *cfg_ptr)
 
void __vsf_hw_usart_fini (__vsf_hw_usart_t *hw_usart_ptr)
 
vsf_usart_capability_t __vsf_hw_usart_capability (__vsf_hw_usart_t *hw_usart_ptr)
 
fsm_rt_t __vsf_hw_usart_enable (__vsf_hw_usart_t *hw_usart_ptr)
 
fsm_rt_t __vsf_hw_usart_disable (__vsf_hw_usart_t *hw_usart_ptr)
 
void __vsf_hw_usart_irq_enable (__vsf_hw_usart_t *hw_usart_ptr, vsf_usart_irq_mask_t irq_mask)
 
void __vsf_hw_usart_irq_disable (__vsf_hw_usart_t *hw_usart_ptr, vsf_usart_irq_mask_t irq_mask)
 
vsf_usart_status_t __vsf_hw_usart_status (__vsf_hw_usart_t *hw_usart_ptr)
 
uint_fast16_t __vsf_hw_usart_rxfifo_get_data_count (__vsf_hw_usart_t *hw_usart_ptr)
 
uint_fast16_t __vsf_hw_usart_rxfifo_read (__vsf_hw_usart_t *hw_usart_ptr, void *buffer_ptr, uint_fast16_t count)
 
uint_fast16_t __vsf_hw_usart_txfifo_get_free_count (__vsf_hw_usart_t *hw_usart_ptr)
 
uint_fast16_t __vsf_hw_usart_txfifo_write (__vsf_hw_usart_t *hw_usart_ptr, void *buffer_ptr, uint_fast16_t count)
 

Macro Definition Documentation

◆ __VSF_HW_USART_CFG_MULTI_CLASS

#define __VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS

◆ VSF_HW_USART_CFG_MULTI_CLASS

#define VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS

◆ VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_USART_CFG_IMP_PREFIX [1/2]

#define VSF_USART_CFG_IMP_PREFIX   __vsf_hw

◆ VSF_USART_CFG_IMP_UPCASE_PREFIX [1/2]

#define VSF_USART_CFG_IMP_UPCASE_PREFIX   __VSF_HW

◆ VSF_USART_CFG_IMP_COUNT_MASK_PREFIX

#define VSF_USART_CFG_IMP_COUNT_MASK_PREFIX   VSF_HW

◆ VSF_USART_CFG_IMP_LV0 [1/2]

#define VSF_USART_CFG_IMP_LV0 (   __IDX,
  __HAL_OP 
)
Value:
static const __vsf_hw_usart_const_t __vsf_hw_usart ## __IDX ## _clock = { \
.reg = (uart_reg_t *)VSF_HW_USART ## __IDX ## _REG, \
.irqn = UART ## __IDX ## _IRQn, \
.hclk = CSC_HCLKME_UART ## __IDX ## _EN_BIT, \
.oclk = CSC_OCLKME_UART ## __IDX ## _EN_BIT, \
.perclk = PER_UART ## __IDX, \
}; \
__vsf_hw_usart_t __vsf_hw_usart ## __IDX = { \
.usart_const = &__vsf_hw_usart ## __IDX ## _clock, \
__HAL_OP \
}; \
void UART ## __IDX ## _IRQHandler(void) \
{ \
__vsf_hw_usart_irq_handler(&__vsf_hw_usart ## __IDX); \
vsf_hal_irq_leave(ctx); \
}
uint32_t uintptr_t
Definition stdint.h:38
Definition uart.c:43
uart_reg_t * reg
Definition uart.c:45
Definition uart.c:52
const __vsf_hw_usart_const_t * usart_const
Definition uart.c:56
Definition i_reg_uart.h:245
uintptr_t vsf_hal_irq_enter(void)
Definition vsf_hal.c:59

◆ VSF_USART_CFG_IMP_PREFIX [2/2]

#define VSF_USART_CFG_IMP_PREFIX   vsf_hw

◆ VSF_USART_CFG_IMP_UPCASE_PREFIX [2/2]

#define VSF_USART_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_USART_CFG_IMP_REMAP_PREFIX

#define VSF_USART_CFG_IMP_REMAP_PREFIX   vsf_fifo2req

◆ VSF_USART_CFG_IMP_LV0 [2/2]

#define VSF_USART_CFG_IMP_LV0 (   __COUNT,
  __HAL_OP 
)
Value:
vsf_hw_usart ## __COUNT, __vsf_hw_usart ## __COUNT)
#define VSF_USART_CFG_IMP_PREFIX
Definition uart.c:290
#define describe_fifo2req_usart(__prefix, __name, __usart)
Definition fifo2req_usart.h:53

Typedef Documentation

◆ __vsf_hw_usart_const_t

◆ __vsf_hw_usart_t

Function Documentation

◆ __vsf_hw_usart_init()

vsf_err_t __vsf_hw_usart_init ( __vsf_hw_usart_t hw_usart_ptr,
vsf_usart_cfg_t cfg_ptr 
)

◆ __vsf_hw_usart_fini()

void __vsf_hw_usart_fini ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_capability()

vsf_usart_capability_t __vsf_hw_usart_capability ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_enable()

fsm_rt_t __vsf_hw_usart_enable ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_disable()

fsm_rt_t __vsf_hw_usart_disable ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_irq_enable()

void __vsf_hw_usart_irq_enable ( __vsf_hw_usart_t hw_usart_ptr,
vsf_usart_irq_mask_t  irq_mask 
)

◆ __vsf_hw_usart_irq_disable()

void __vsf_hw_usart_irq_disable ( __vsf_hw_usart_t hw_usart_ptr,
vsf_usart_irq_mask_t  irq_mask 
)

◆ __vsf_hw_usart_status()

vsf_usart_status_t __vsf_hw_usart_status ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_rxfifo_get_data_count()

uint_fast16_t __vsf_hw_usart_rxfifo_get_data_count ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_rxfifo_read()

uint_fast16_t __vsf_hw_usart_rxfifo_read ( __vsf_hw_usart_t hw_usart_ptr,
void *  buffer_ptr,
uint_fast16_t  count 
)

◆ __vsf_hw_usart_txfifo_get_free_count()

uint_fast16_t __vsf_hw_usart_txfifo_get_free_count ( __vsf_hw_usart_t hw_usart_ptr)

◆ __vsf_hw_usart_txfifo_write()

uint_fast16_t __vsf_hw_usart_txfifo_write ( __vsf_hw_usart_t hw_usart_ptr,
void *  buffer_ptr,
uint_fast16_t  count 
)