VSF Documented
Data Structures | Macros | Typedefs | Functions
i2s.c File Reference
#include "../driver.h"
#include "../vendor/plf/aic8800/src/driver/sysctrl/reg_sysctrl.h"
#include "../vendor/plf/aic8800/src/driver/sysctrl/sysctrl_api.h"
#include "../vendor/plf/aic8800/src/driver/aud_proc/aud_proc.h"
#include "../vendor/plf/aic8800/src/driver/dma/dma_api_bt.h"
#include "../vendor/audio/common/audio_types.h"
#include "hal/driver/common/i2s/i2s_template.inc"

Data Structures

struct  vsf_hw_i2s_const_t
 
struct  vsf_hw_i2s_t
 

Macros

#define VSF_HW_I2S_CFG_MULTI_CLASS   VSF_I2S_CFG_MULTI_CLASS
 
#define I2S_MCLK   12288000
 
#define SRC_MODE_NB   9
 
#define AUD_SRC_DIV_NB   6
 
#define AUD_PROC_WLEN(__N)   (((__N) & 3) << 10)
 
#define AUD_PROC_BCK_LRCK(__N)   (((__N) & 31) << 5)
 
#define VSF_I2S_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_I2S_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_I2S_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_I2S_CFG_IMP_LV0(__IDX, __HAL_OP)
 

Typedefs

typedef struct vsf_hw_i2s_const_t vsf_hw_i2s_const_t
 
typedef struct vsf_hw_i2s_t vsf_hw_i2s_t
 

Functions

vsf_err_t vsf_hw_i2s_init (vsf_hw_i2s_t *hw_i2s_ptr, vsf_i2s_cfg_t *cfg_ptr)
 
vsf_err_t vsf_hw_i2s_tx_init (vsf_hw_i2s_t *hw_i2s_ptr, vsf_i2s_cfg_t *cfg_ptr)
 
void vsf_hw_i2s_tx_fini (vsf_hw_i2s_t *hw_i2s_ptr)
 
vsf_err_t vsf_hw_i2s_tx_start (vsf_hw_i2s_t *hw_i2s_ptr)
 
vsf_err_t vsf_hw_i2s_rx_init (vsf_hw_i2s_t *hw_i2s_ptr, vsf_i2s_cfg_t *cfg_ptr)
 
void vsf_hw_i2s_rx_fini (vsf_hw_i2s_t *hw_i2s_ptr)
 
vsf_err_t vsf_hw_i2s_rx_start (vsf_hw_i2s_t *hw_i2s_ptr)
 
vsf_i2s_capability_t vsf_hw_i2s_capability (vsf_hw_i2s_t *hw_i2s_ptr)
 
void vsf_hw_i2s_fini (vsf_hw_i2s_t *hw_i2s_ptr)
 
fsm_rt_t vsf_hw_i2s_enable (vsf_hw_i2s_t *hw_i2s_ptr)
 
fsm_rt_t vsf_hw_i2s_disable (vsf_hw_i2s_t *hw_i2s_ptr)
 
vsf_i2s_status_t vsf_hw_i2s_status (vsf_hw_i2s_t *hw_i2s_ptr)
 

Macro Definition Documentation

◆ VSF_HW_I2S_CFG_MULTI_CLASS

#define VSF_HW_I2S_CFG_MULTI_CLASS   VSF_I2S_CFG_MULTI_CLASS

◆ I2S_MCLK

#define I2S_MCLK   12288000

◆ SRC_MODE_NB

#define SRC_MODE_NB   9

◆ AUD_SRC_DIV_NB

#define AUD_SRC_DIV_NB   6

◆ AUD_PROC_WLEN

#define AUD_PROC_WLEN (   __N)    (((__N) & 3) << 10)

◆ AUD_PROC_BCK_LRCK

#define AUD_PROC_BCK_LRCK (   __N)    (((__N) & 31) << 5)

◆ VSF_I2S_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_I2S_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_I2S_CFG_IMP_PREFIX

#define VSF_I2S_CFG_IMP_PREFIX   vsf_hw

◆ VSF_I2S_CFG_IMP_UPCASE_PREFIX

#define VSF_I2S_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_I2S_CFG_IMP_LV0

#define VSF_I2S_CFG_IMP_LV0 (   __IDX,
  __HAL_OP 
)
Value:
static const vsf_hw_i2s_const_t __vsf_hw_i2s ## __IDX ## _const = { \
.reg = VSF_HW_I2S ## __IDX ## _REG, \
.idx = VSF_HW_I2S ## __IDX ## _IDX, \
.tx.path = VSF_HW_I2S ## __IDX ## _TXPATH, \
.tx.dma_ch = VSF_HW_I2S ## __IDX ## _TXDMA_CH, \
.tx.dma_irqn = VSF_HW_I2S ## __IDX ## _TXDMA_IRQN, \
.rx.path = VSF_HW_I2S ## __IDX ## _RXPATH, \
.rx.dma_ch = VSF_HW_I2S ## __IDX ## _RXDMA_CH, \
.rx.dma_irqn = VSF_HW_I2S ## __IDX ## _RXDMA_IRQN, \
.oclk = VSF_HW_I2S ## __IDX ## _OCLK, \
}; \
vsf_hw_i2s_t vsf_hw_i2s ## __IDX = { \
.i2s_const = &__vsf_hw_i2s ## __IDX ## _const, \
__HAL_OP \
};
Definition i2s.c:47
HWP_AUD_PROC_T * reg
Definition i2s.c:48
Definition i2s.c:60
const vsf_hw_i2s_const_t * i2s_const
Definition i2s.c:65

Typedef Documentation

◆ vsf_hw_i2s_const_t

◆ vsf_hw_i2s_t

typedef struct vsf_hw_i2s_t vsf_hw_i2s_t

Function Documentation

◆ vsf_hw_i2s_init()

vsf_err_t vsf_hw_i2s_init ( vsf_hw_i2s_t hw_i2s_ptr,
vsf_i2s_cfg_t cfg_ptr 
)

◆ vsf_hw_i2s_tx_init()

vsf_err_t vsf_hw_i2s_tx_init ( vsf_hw_i2s_t hw_i2s_ptr,
vsf_i2s_cfg_t cfg_ptr 
)

◆ vsf_hw_i2s_tx_fini()

void vsf_hw_i2s_tx_fini ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_tx_start()

vsf_err_t vsf_hw_i2s_tx_start ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_rx_init()

vsf_err_t vsf_hw_i2s_rx_init ( vsf_hw_i2s_t hw_i2s_ptr,
vsf_i2s_cfg_t cfg_ptr 
)

◆ vsf_hw_i2s_rx_fini()

void vsf_hw_i2s_rx_fini ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_rx_start()

vsf_err_t vsf_hw_i2s_rx_start ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_capability()

vsf_i2s_capability_t vsf_hw_i2s_capability ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_fini()

void vsf_hw_i2s_fini ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_enable()

fsm_rt_t vsf_hw_i2s_enable ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_disable()

fsm_rt_t vsf_hw_i2s_disable ( vsf_hw_i2s_t hw_i2s_ptr)

◆ vsf_hw_i2s_status()

vsf_i2s_status_t vsf_hw_i2s_status ( vsf_hw_i2s_t hw_i2s_ptr)