12 #include "hpm_soc_feature.h"
uint32_t hpm_stat_t
Definition: hpm_common.h:119
hpm_stat_t smix_mixer_config_dst_ch(SMIX_Type *ptr, uint8_t ch, smix_mixer_dst_config_t *dst)
smix mixer config dst channel
Definition: hpm_smix_drv.c:146
smix_mixer_rate_convert_t
Definition: hpm_smix_drv.h:139
static bool smix_mixer_check_dst_data_available(SMIX_Type *ptr, uint8_t dst_ch)
smix mixer check dst channel data available
Definition: hpm_smix_drv.h:391
hpm_stat_t smix_mixer_config_source_fadein_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms)
smix mixer config source channel fadein delta
Definition: hpm_smix_drv.c:212
static uint32_t smix_mixer_get_calsat_status(SMIX_Type *ptr)
smix mixer get calculate saturation register value
Definition: hpm_smix_drv.h:343
static void smix_mixer_dst_enable_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer enable source channel for dst
Definition: hpm_smix_drv.h:247
smix_dma_req_t
Definition: hpm_smix_drv.h:51
smix_dma_transfer_width_t
Definition: hpm_smix_drv.h:34
static bool smix_dma_check_transfer_abort(SMIX_Type *ptr, uint8_t ch_index)
smix dma check transfer abort status
Definition: hpm_smix_drv.h:215
smix_dma_address_control_t
Definition: hpm_smix_drv.h:40
smix_src_clk_source_t
Definition: hpm_smix_drv.h:81
static void smix_mixer_dst_deactive_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer deactive source channel for dst
Definition: hpm_smix_drv.h:283
static bool smix_mixer_check_source_data_needed(SMIX_Type *ptr, uint8_t source_ch)
smix mixer check source channel data available
Definition: hpm_smix_drv.h:403
static bool smix_mixer_check_dst_cal_saturation_error(SMIX_Type *ptr, uint8_t dst_ch)
smix mixer check dst channel calculate saturation error
Definition: hpm_smix_drv.h:355
smix_dma_handshake_mode_t
Definition: hpm_smix_drv.h:46
static void smix_mixer_dst_disable(SMIX_Type *ptr)
smix mixer disable dst channel
Definition: hpm_smix_drv.h:332
hpm_stat_t smix_mixer_config_source_fadeout_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms)
smix mixer config source channel fadeout delta
Definition: hpm_smix_drv.c:223
void smix_get_mixer_source_ch_default_config(SMIX_Type *ptr, smix_mixer_source_config_t *config)
smix get source channel default config
Definition: hpm_smix_drv.c:56
static bool smix_dma_check_transfer_error(SMIX_Type *ptr, uint8_t ch_index)
smix dma check transfer error status
Definition: hpm_smix_drv.h:231
void smix_get_dma_default_ch_config(SMIX_Type *ptr, smix_dma_ch_config_t *config)
smix get dma channel default config
Definition: hpm_smix_drv.c:10
smix_mixer_gain_t
Definition: hpm_smix_drv.h:131
static bool smix_dma_check_transfer_complete(SMIX_Type *ptr, uint8_t ch_index)
smix dma check transfer complete status
Definition: hpm_smix_drv.h:199
hpm_stat_t smix_config_dma_channel(SMIX_Type *ptr, uint8_t ch, smix_dma_ch_config_t *config, bool start)
smix config dma channel
Definition: hpm_smix_drv.c:73
smix_dma_transfer_burst_t
Definition: hpm_smix_drv.h:23
static void smix_mixer_dst_active_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer active source channel for dst
Definition: hpm_smix_drv.h:271
hpm_stat_t smix_mixer_config_source_ch(SMIX_Type *ptr, uint8_t ch, smix_mixer_source_config_t *src)
smix mixer config source channel
Definition: hpm_smix_drv.c:116
static void smix_mixer_dst_disable_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer disable source channel for dst
Definition: hpm_smix_drv.h:259
static void smix_mixer_dst_fadein_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer fadein source channel for dst
Definition: hpm_smix_drv.h:295
static bool smix_mixer_check_source_cal_saturation_error(SMIX_Type *ptr, uint8_t source_ch)
smix mixer check source channel calculate saturation error
Definition: hpm_smix_drv.h:367
hpm_stat_t smix_mixer_config_dst_fadein_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms)
smix mixer config dst channel fadein delta
Definition: hpm_smix_drv.c:189
static bool smix_mixer_check_dst_data_underflew(SMIX_Type *ptr, uint8_t dst_ch)
smix mixer check dst channel data ubderflew
Definition: hpm_smix_drv.h:379
static void smix_mixer_dst_fadeout_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
smix mixer fadeout source channel for dst
Definition: hpm_smix_drv.h:307
hpm_stat_t smix_mixer_config_dst_fadeout_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms)
smix mixer config dst channel fadeout delta
Definition: hpm_smix_drv.c:200
void smix_get_mixer_dst_ch_default_config(SMIX_Type *ptr, smix_mixer_dst_config_t *config)
smix get dst channel default config
Definition: hpm_smix_drv.c:32
static void smix_mixer_dst_enable(SMIX_Type *ptr)
smix mixer enable dst channel
Definition: hpm_smix_drv.h:319
@ smix_mixer_upper_12x_sample
Definition: hpm_smix_drv.h:146
@ smix_mixer_upper_6x_sample
Definition: hpm_smix_drv.h:144
@ smix_mixer_upper_8x_sample
Definition: hpm_smix_drv.h:145
@ smix_mixer_upper_3x_sample
Definition: hpm_smix_drv.h:142
@ smix_mixer_upper_2x_sample
Definition: hpm_smix_drv.h:141
@ smix_mixer_no_rate_convert
Definition: hpm_smix_drv.h:140
@ smix_mixer_upper_4x_sample
Definition: hpm_smix_drv.h:143
@ smix_mixer_lower_2x_sample
Definition: hpm_smix_drv.h:147
@ smix_dma_req_mixer_src_ch12
Definition: hpm_smix_drv.h:73
@ smix_dma_req_i2s1_tx
Definition: hpm_smix_drv.h:55
@ smix_dma_req_mixer_dst_ch0
Definition: hpm_smix_drv.h:76
@ smix_dma_req_mixer_src_ch6
Definition: hpm_smix_drv.h:67
@ smix_dma_req_i2s3_rx
Definition: hpm_smix_drv.h:58
@ smix_dma_req_mixer_src_ch9
Definition: hpm_smix_drv.h:70
@ smix_dma_req_mixer_dst_ch1
Definition: hpm_smix_drv.h:77
@ smix_dma_req_i2s0_rx
Definition: hpm_smix_drv.h:52
@ smix_dma_req_mixer_src_ch3
Definition: hpm_smix_drv.h:64
@ smix_dma_req_i2s1_rx
Definition: hpm_smix_drv.h:54
@ smix_dma_req_i2s2_tx
Definition: hpm_smix_drv.h:57
@ smix_dma_req_mixer_src_ch4
Definition: hpm_smix_drv.h:65
@ smix_dma_req_mixer_src_ch5
Definition: hpm_smix_drv.h:66
@ smix_dma_req_mixer_src_ch1
Definition: hpm_smix_drv.h:62
@ smix_dma_req_i2s0_tx
Definition: hpm_smix_drv.h:53
@ smix_dma_req_mixer_src_ch2
Definition: hpm_smix_drv.h:63
@ smix_dma_req_mixer_src_ch10
Definition: hpm_smix_drv.h:71
@ smix_dma_req_mixer_src_ch13
Definition: hpm_smix_drv.h:74
@ smix_dma_req_i2s3_tx
Definition: hpm_smix_drv.h:59
@ smix_dma_req_i2s2_rx
Definition: hpm_smix_drv.h:56
@ smix_dma_req_mixer_src_ch11
Definition: hpm_smix_drv.h:72
@ smix_dma_req_mixer_src_ch0
Definition: hpm_smix_drv.h:61
@ smix_dma_req_mixer_src_ch8
Definition: hpm_smix_drv.h:69
@ smix_dma_req_mixer_src_ch7
Definition: hpm_smix_drv.h:68
@ smix_dma_transfer_byte
Definition: hpm_smix_drv.h:35
@ smix_dma_transfer_word
Definition: hpm_smix_drv.h:37
@ smix_dma_transfer_half_word
Definition: hpm_smix_drv.h:36
@ smix_dma_address_fixed
Definition: hpm_smix_drv.h:43
@ smix_dma_address_increment
Definition: hpm_smix_drv.h:41
@ smix_dma_address_decrement
Definition: hpm_smix_drv.h:42
@ smix_src_clk_i2s1_mclk
Definition: hpm_smix_drv.h:87
@ smix_src_clk_i2s2_fclk
Definition: hpm_smix_drv.h:89
@ smix_src_clk_i2s1_fclk
Definition: hpm_smix_drv.h:86
@ smix_src_clk_none
Definition: hpm_smix_drv.h:94
@ smix_src_clk_i2s0_mclk
Definition: hpm_smix_drv.h:84
@ smix_src_clk_i2s0_bclk
Definition: hpm_smix_drv.h:82
@ smix_src_clk_i2s3_fclk
Definition: hpm_smix_drv.h:92
@ smix_src_clk_i2s2_bclk
Definition: hpm_smix_drv.h:88
@ smix_src_clk_i2s1_bclk
Definition: hpm_smix_drv.h:85
@ smix_src_clk_i2s2_mclk
Definition: hpm_smix_drv.h:90
@ smix_src_clk_i2s3_bclk
Definition: hpm_smix_drv.h:91
@ smix_src_clk_i2s0_fclk
Definition: hpm_smix_drv.h:83
@ smix_src_clk_i2s3_mclk
Definition: hpm_smix_drv.h:93
@ smix_dma_mode_handshake
Definition: hpm_smix_drv.h:48
@ smix_dma_mode_normal
Definition: hpm_smix_drv.h:47
@ smix_mixer_gain_decrease_12db
Definition: hpm_smix_drv.h:132
@ smix_mixer_gain_decrease_6db
Definition: hpm_smix_drv.h:133
@ smix_mixer_gain_increase_12db
Definition: hpm_smix_drv.h:136
@ smix_mixer_gain_0db
Definition: hpm_smix_drv.h:134
@ smix_mixer_gain_increase_6db
Definition: hpm_smix_drv.h:135
@ smix_dma_transfer_burst_32t
Definition: hpm_smix_drv.h:29
@ smix_dma_transfer_burst_2t
Definition: hpm_smix_drv.h:25
@ smix_dma_transfer_burst_1t
Definition: hpm_smix_drv.h:24
@ smix_dma_transfer_burst_4t
Definition: hpm_smix_drv.h:26
@ smix_dma_transfer_burst_64t
Definition: hpm_smix_drv.h:30
@ smix_dma_transfer_burst_16t
Definition: hpm_smix_drv.h:28
@ smix_dma_transfer_burst_128t
Definition: hpm_smix_drv.h:31
@ smix_dma_transfer_burst_8t
Definition: hpm_smix_drv.h:27
#define SMIX_DATA_ST_DST_UNDL_GET(x)
Definition: hpm_smix_regs.h:416
#define SMIX_DMAC_TC_ST_CH_GET(x)
Definition: hpm_smix_regs.h:88
#define SMIX_DATA_ST_DST_DA_GET(x)
Definition: hpm_smix_regs.h:407
#define SMIX_DATA_ST_SRC_DN_GET(x)
Definition: hpm_smix_regs.h:425
#define SMIX_CALSAT_ST_DST_GET(x)
Definition: hpm_smix_regs.h:366
#define SMIX_CALSAT_ST_SRC_GET(x)
Definition: hpm_smix_regs.h:376
#define SMIX_DMAC_ABRT_ST_CH_GET(x)
Definition: hpm_smix_regs.h:99
#define SMIX_DMAC_ERR_ST_CH_GET(x)
Definition: hpm_smix_regs.h:114
#define SMIX_DST_CH_CTRL_DST_EN_MASK
Definition: hpm_smix_regs.h:544
Definition: hpm_smix_regs.h:12
__RW uint32_t DMAC_TC_ST
Definition: hpm_smix_regs.h:14
__RW uint32_t SOURCE_ACT
Definition: hpm_smix_regs.h:48
__RW uint32_t SOURCE_FADEIN_CTRL
Definition: hpm_smix_regs.h:50
__RW uint32_t DMAC_ABRT_ST
Definition: hpm_smix_regs.h:15
__RW uint32_t SOURCE_MFADEOUT_CTRL
Definition: hpm_smix_regs.h:52
struct SMIX_Type::@461 DST_CH[2]
__RW uint32_t CTRL
Definition: hpm_smix_regs.h:39
__RW uint32_t SOURCE_EN
Definition: hpm_smix_regs.h:47
__RW uint32_t DMAC_ERR_ST
Definition: hpm_smix_regs.h:16
__RW uint32_t SOURCE_DEACT
Definition: hpm_smix_regs.h:49
__R uint32_t DATA_ST
Definition: hpm_smix_regs.h:36
__RW uint32_t CALSAT_ST
Definition: hpm_smix_regs.h:34
Definition: hpm_smix_drv.h:110
uint8_t src_mode
Definition: hpm_smix_drv.h:115
uint8_t dst_req_sel
Definition: hpm_smix_drv.h:114
bool error_int_en
Definition: hpm_smix_drv.h:122
uint32_t dst_addr
Definition: hpm_smix_drv.h:125
uint32_t linked_ptr
Definition: hpm_smix_drv.h:126
uint8_t dst_mode
Definition: hpm_smix_drv.h:116
uint8_t dst_addr_ctrl
Definition: hpm_smix_drv.h:120
uint8_t src_width
Definition: hpm_smix_drv.h:117
bool abort_int_en
Definition: hpm_smix_drv.h:121
uint8_t src_req_sel
Definition: hpm_smix_drv.h:113
bool complete_int_en
Definition: hpm_smix_drv.h:123
uint32_t src_addr
Definition: hpm_smix_drv.h:124
uint8_t src_addr_ctrl
Definition: hpm_smix_drv.h:119
uint8_t src_burst_size
Definition: hpm_smix_drv.h:112
uint8_t priority
Definition: hpm_smix_drv.h:111
uint32_t trans_bytes
Definition: hpm_smix_drv.h:127
uint8_t dst_width
Definition: hpm_smix_drv.h:118
Definition: hpm_smix_drv.h:98
uint32_t dst_addr
Definition: hpm_smix_drv.h:103
uint32_t reserved1
Definition: hpm_smix_drv.h:104
uint32_t src_addr
Definition: hpm_smix_drv.h:101
uint32_t ctrl
Definition: hpm_smix_drv.h:99
uint32_t trans_size
Definition: hpm_smix_drv.h:100
uint32_t reserved2
Definition: hpm_smix_drv.h:106
uint32_t reserved0
Definition: hpm_smix_drv.h:102
uint32_t linked_ptr
Definition: hpm_smix_drv.h:105
Definition: hpm_smix_drv.h:150
bool channel_en
Definition: hpm_smix_drv.h:162
bool active_en
Definition: hpm_smix_drv.h:158
bool underflow_int_en
Definition: hpm_smix_drv.h:151
bool fadeout_done_int_en
Definition: hpm_smix_drv.h:156
uint16_t gain
Definition: hpm_smix_drv.h:165
bool deactivate_en
Definition: hpm_smix_drv.h:157
bool calsat_int_en
Definition: hpm_smix_drv.h:153
uint32_t fadein_delta
Definition: hpm_smix_drv.h:167
bool fadein_en
Definition: hpm_smix_drv.h:161
uint8_t fifo_thr
Definition: hpm_smix_drv.h:152
bool auto_deactivate_en
Definition: hpm_smix_drv.h:155
uint32_t fadeout_delta
Definition: hpm_smix_drv.h:168
uint8_t src_ch_mask
Definition: hpm_smix_drv.h:169
uint32_t length
Definition: hpm_smix_drv.h:166
bool fadeout_now_en
Definition: hpm_smix_drv.h:159
bool fadeout_auto_en
Definition: hpm_smix_drv.h:160
bool da_int_en
Definition: hpm_smix_drv.h:154
bool mixer_en
Definition: hpm_smix_drv.h:163
Definition: hpm_smix_drv.h:173
bool dn_int_en
Definition: hpm_smix_drv.h:176
uint8_t fir_shift
Definition: hpm_smix_drv.h:177
uint32_t fadein_delta
Definition: hpm_smix_drv.h:183
uint8_t convert_rate
Definition: hpm_smix_drv.h:180
uint32_t fadeout_delta
Definition: hpm_smix_drv.h:184
bool fadeout_int_en
Definition: hpm_smix_drv.h:179
bool auto_deactivate_en
Definition: hpm_smix_drv.h:178
bool calsat_int_en
Definition: hpm_smix_drv.h:175
uint8_t fifo_thr
Definition: hpm_smix_drv.h:174
uint16_t gain
Definition: hpm_smix_drv.h:182
uint32_t length
Definition: hpm_smix_drv.h:185