WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
SIO

结构体

struct  hal_sio_tx_data
 SIO tx传输结构体。 更多...
 
struct  hal_sio_received_data
 SIO 接收数据。 更多...
 
struct  hal_sio_config
 SIO配置参数定义。 更多...
 
struct  hal_sio_funcs
 Driver层SIO和HAL层SIO的接口。 更多...
 

类型定义

typedef enum hal_sio_driver_mode hal_sio_driver_mode_t
 SIO设备模式。
 
typedef enum hal_sio_mode hal_sio_mode_t
 SIO 模式。
 
typedef enum hal_sio_interrupt hal_sio_interrupt_t
 SIO 中断类型。
 
typedef enum hal_sio_iming_mode hal_sio_timing_mode_t
 SIO时序模式。
 
typedef enum hal_sio_clk_edge hal_sio_clk_edge_t
 SIO 时钟边沿。
 
typedef enum hal_sio_voice_channel hal_sio_voice_channel_t
 SIO 声道。
 
typedef enum hal_sio_data_width hal_sio_data_width_t
 SIO 数据位宽。
 
typedef enum hal_sio_channel_number hal_sio_channel_number_t
 SIO 传输通道数。
 
typedef struct hal_sio_tx_data hal_sio_tx_data_t
 SIO tx传输结构体。
 
typedef struct hal_sio_received_data hal_sio_rx_data_t
 SIO 接收数据。
 
typedef struct hal_sio_config hal_sio_config_t
 SIO配置参数定义。
 
typedef void(* hal_sio_callback_t) (uint32_t *left_buff, uint32_t *right_buff, uint32_t length)
 HAL层SIO回调函数。
 
typedef errcode_t(* hal_sio_init_t) (sio_bus_t bus)
 HAL层SIO的初始化接口。
 
typedef void(* hal_sio_deinit_t) (sio_bus_t bus)
 HAL层SIO的去初始化接口。
 
typedef void(* hal_sio_set_config_t) (sio_bus_t bus, const hal_sio_config_t *config)
 HAL层SIO配置接口。
 
typedef errcode_t(* hal_sio_get_config_t) (sio_bus_t bus, hal_sio_config_t *config)
 HAL层SIO获取配置接口。
 
typedef void(* hal_sio_rx_enable_t) (sio_bus_t bus, bool en)
 HAL层SIO rx使能接口。
 
typedef void(* hal_sio_write_t) (sio_bus_t bus, hal_sio_tx_data_t *data, hal_sio_mode_t mode)
 HAL层SIO的写接口。
 
typedef void(* hal_sio_get_data_t) (sio_bus_t bus, hal_sio_rx_data_t *data)
 HAL层SIO获取数据接口。
 
typedef void(* hal_sio_register_t) (sio_bus_t bus, hal_sio_callback_t callback)
 HAL层SIO注册回调函数接口。
 
typedef void(* hal_sio_unregister_t) (sio_bus_t bus)
 HAL层SIO去注册回调函数接口。
 
typedef void(* hal_sio_loop_t) (sio_bus_t bus, bool en)
 HAL层SIO自测模式接口。
 
typedef void(* hal_sio_loop_trans_t) (sio_bus_t bus, hal_sio_tx_data_t *data, hal_sio_mode_t mode)
 HAL层SIO自测接口。
 
typedef struct hal_sio_funcs hal_sio_funcs_t
 Driver层SIO和HAL层SIO的接口。
 

枚举

enum  hal_sio_driver_mode { SLAVE , MASTER }
 SIO设备模式。 更多...
 
enum  hal_sio_mode { I2S_MODE = 0 , PCM_MODE , NONE_SIO_MODE }
 SIO 模式。 更多...
 
enum  hal_sio_interrupt {
  RX_INTR = 0 , TX_INTR , RX_RIGHT_FIFO_OVER , RX_LEFT_FIFO_OVER ,
  TX_RIGHT_FIFO_UNDER , TX_LEFT_FIFO_UNDER
}
 SIO 中断类型。 更多...
 
enum  hal_sio_iming_mode { PCM_STD_MODE = 0 , PCM_UD_MODE , NONE_TIMING_MODE }
 SIO时序模式。 更多...
 
enum  hal_sio_transfer_mode_t { STD_MODE = 0 , MULTICHANNEL_MODE }
 SIO 传输路径模式。 更多...
 
enum  hal_sio_clk_edge { FALLING_EDGE = 0 , RISING_EDGE , NONE_EDGE }
 SIO 时钟边沿。 更多...
 
enum  hal_sio_voice_channel { SIO_LEFT = 0 , SIO_RIGHT , NONE_MODE }
 SIO 声道。 更多...
 
enum  hal_sio_data_width {
  RESERVED , SIXTEEN_BIT , EIGHTEEN_BIT , TWENTY_BIT ,
  TWENTY_FOUR_BIT , THIRTY_TWO_BIT
}
 SIO 数据位宽。 更多...
 
enum  hal_sio_channel_number { TWO_CH , FOUR_CH , EIGHT_CH , SIXTEEN_CH }
 SIO 传输通道数。 更多...
 

函数

errcode_t hal_sio_regs_init (sio_bus_t bus)
 初始化寄存器基地址列表。
 
void hal_sio_regs_deinit (sio_bus_t bus)
 去初始化寄存器基地址列表。
 
errcode_t hal_sio_register_funcs (sio_bus_t bus, hal_sio_funcs_t *funcs)
 注册 hal_sio_funcs_t 到 g_hal_sios_funcs。
 
errcode_t hal_sio_unregister_funcs (sio_bus_t bus)
 从g_hal_sios_funcs注销 hal_sio_funcs_t
 
hal_sio_funcs_thal_sio_get_funcs (sio_bus_t bus)
 获取Driver层sio和HAL层sio的接口实例。参考 hal_sio_funcs_t
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2023. All rights reserved.

Description: Provides hal sio
History:
2023-01-15, Create file.

类型定义说明

◆ hal_sio_callback_t

typedef void(* hal_sio_callback_t) (uint32_t *left_buff, uint32_t *right_buff, uint32_t length)

HAL层SIO回调函数。

◆ hal_sio_channel_number_t

SIO 传输通道数。

◆ hal_sio_clk_edge_t

SIO 时钟边沿。

◆ hal_sio_config_t

SIO配置参数定义。

◆ hal_sio_data_width_t

SIO 数据位宽。

◆ hal_sio_deinit_t

typedef void(* hal_sio_deinit_t) (sio_bus_t bus)

HAL层SIO的去初始化接口。

◆ hal_sio_driver_mode_t

SIO设备模式。

◆ hal_sio_funcs_t

Driver层SIO和HAL层SIO的接口。

◆ hal_sio_get_config_t

typedef errcode_t(* hal_sio_get_config_t) (sio_bus_t bus, hal_sio_config_t *config)

HAL层SIO获取配置接口。

◆ hal_sio_get_data_t

typedef void(* hal_sio_get_data_t) (sio_bus_t bus, hal_sio_rx_data_t *data)

HAL层SIO获取数据接口。

◆ hal_sio_init_t

typedef errcode_t(* hal_sio_init_t) (sio_bus_t bus)

HAL层SIO的初始化接口。

◆ hal_sio_interrupt_t

SIO 中断类型。

◆ hal_sio_loop_t

typedef void(* hal_sio_loop_t) (sio_bus_t bus, bool en)

HAL层SIO自测模式接口。

◆ hal_sio_loop_trans_t

typedef void(* hal_sio_loop_trans_t) (sio_bus_t bus, hal_sio_tx_data_t *data, hal_sio_mode_t mode)

HAL层SIO自测接口。

◆ hal_sio_mode_t

SIO 模式。

◆ hal_sio_register_t

typedef void(* hal_sio_register_t) (sio_bus_t bus, hal_sio_callback_t callback)

HAL层SIO注册回调函数接口。

◆ hal_sio_rx_data_t

SIO 接收数据。

◆ hal_sio_rx_enable_t

typedef void(* hal_sio_rx_enable_t) (sio_bus_t bus, bool en)

HAL层SIO rx使能接口。

◆ hal_sio_set_config_t

typedef void(* hal_sio_set_config_t) (sio_bus_t bus, const hal_sio_config_t *config)

HAL层SIO配置接口。

◆ hal_sio_timing_mode_t

SIO时序模式。

◆ hal_sio_tx_data_t

SIO tx传输结构体。

◆ hal_sio_unregister_t

typedef void(* hal_sio_unregister_t) (sio_bus_t bus)

HAL层SIO去注册回调函数接口。

◆ hal_sio_voice_channel_t

SIO 声道。

◆ hal_sio_write_t

typedef void(* hal_sio_write_t) (sio_bus_t bus, hal_sio_tx_data_t *data, hal_sio_mode_t mode)

HAL层SIO的写接口。

枚举类型说明

◆ hal_sio_channel_number

SIO 传输通道数。

枚举值
TWO_CH 

2通道。

FOUR_CH 

4通道。

EIGHT_CH 

8通道。

SIXTEEN_CH 

16通道。

◆ hal_sio_clk_edge

SIO 时钟边沿。

枚举值
FALLING_EDGE 

下降沿。

RISING_EDGE 

上升沿。

NONE_EDGE 

◆ hal_sio_data_width

SIO 数据位宽。

枚举值
RESERVED 

保留。

SIXTEEN_BIT 

16位。

EIGHTEEN_BIT 

18位。

TWENTY_BIT 

20位。

TWENTY_FOUR_BIT 

24位。

THIRTY_TWO_BIT 

32位。

◆ hal_sio_driver_mode

SIO设备模式。

枚举值
SLAVE 

从模式。

MASTER 

主模式。

◆ hal_sio_iming_mode

SIO时序模式。

枚举值
PCM_STD_MODE 

PCM标准时序模式。

PCM_UD_MODE 

PCM自定义时序模式。

NONE_TIMING_MODE 

◆ hal_sio_interrupt

SIO 中断类型。

枚举值
RX_INTR 

接收fifo高于阈值中断。

TX_INTR 

发送fifo高于阈值中断。

RX_RIGHT_FIFO_OVER 

右声道接收fifo上溢中断。

RX_LEFT_FIFO_OVER 

左声道接收fifo上溢中断。

TX_RIGHT_FIFO_UNDER 

右声道发送fifo上溢中断。

TX_LEFT_FIFO_UNDER 

左声道发送fifo上溢中断。

◆ hal_sio_mode

SIO 模式。

枚举值
I2S_MODE 

I2S 模式。

PCM_MODE 

PCM 模式。

NONE_SIO_MODE 

◆ hal_sio_transfer_mode_t

SIO 传输路径模式。

枚举值
STD_MODE 

标准模式。

MULTICHANNEL_MODE 

多路模式。

◆ hal_sio_voice_channel

SIO 声道。

枚举值
SIO_LEFT 

SIO 左声道。

SIO_RIGHT 

SIO 右声道。

NONE_MODE 

函数说明

◆ hal_sio_get_funcs()

hal_sio_funcs_t * hal_sio_get_funcs ( sio_bus_t  bus)

获取Driver层sio和HAL层sio的接口实例。参考 hal_sio_funcs_t

◆ hal_sio_register_funcs()

errcode_t hal_sio_register_funcs ( sio_bus_t  bus,
hal_sio_funcs_t funcs 
)

注册 hal_sio_funcs_t 到 g_hal_sios_funcs。

◆ hal_sio_regs_deinit()

void hal_sio_regs_deinit ( sio_bus_t  bus)

去初始化寄存器基地址列表。

◆ hal_sio_regs_init()

errcode_t hal_sio_regs_init ( sio_bus_t  bus)

初始化寄存器基地址列表。

◆ hal_sio_unregister_funcs()

errcode_t hal_sio_unregister_funcs ( sio_bus_t  bus)

从g_hal_sios_funcs注销 hal_sio_funcs_t