HPM SDK
HPMicro Software Development Kit
hpm_smix_drv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_SMIX_DRV_H
9 #define HPM_SMIX_DRV_H
10 
11 #include "hpm_common.h"
12 #include "hpm_soc_feature.h"
13 #include "hpm_smix_regs.h"
14 #include <math.h>
15 
23 typedef enum {
33 
34 typedef enum {
39 
40 typedef enum {
45 
46 typedef enum {
50 
51 typedef enum {
60 
75 
79 
80 
81 typedef enum {
96 
97 
98 typedef struct {
99  uint32_t ctrl;
100  uint32_t trans_size;
101  uint32_t src_addr;
102  uint32_t reserved0;
103  uint32_t dst_addr;
104  uint32_t reserved1;
105  uint32_t linked_ptr;
106  uint32_t reserved2;
108 
109 
110 typedef struct {
111  uint8_t priority;
112  uint8_t src_burst_size;
113  uint8_t src_req_sel;
114  uint8_t dst_req_sel;
115  uint8_t src_mode;
116  uint8_t dst_mode;
117  uint8_t src_width;
118  uint8_t dst_width;
119  uint8_t src_addr_ctrl;
120  uint8_t dst_addr_ctrl;
124  uint32_t src_addr;
125  uint32_t dst_addr;
126  uint32_t linked_ptr;
127  uint32_t trans_bytes;
129 
130 
131 typedef enum {
138 
139 typedef enum {
149 
150 typedef struct {
152  uint8_t fifo_thr;
154  bool da_int_en;
158  bool active_en;
161  bool fadein_en;
163  bool mixer_en;
164 
165  uint16_t gain;
166  uint32_t length;
167  uint32_t fadein_delta;
168  uint32_t fadeout_delta;
169  uint8_t src_ch_mask;
171 
172 
173 typedef struct {
174  uint8_t fifo_thr;
176  bool dn_int_en;
177  uint8_t fir_shift;
180  uint8_t convert_rate;
181 
182  uint16_t gain;
183  uint32_t fadein_delta;
184  uint32_t fadeout_delta;
185  uint32_t length;
187 
188 #ifdef __cplusplus
189 extern "C" {
190 #endif
191 
199 static inline bool smix_dma_check_transfer_complete(SMIX_Type *ptr, uint8_t ch_index)
200 {
201  if ((SMIX_DMAC_TC_ST_CH_GET(ptr->DMAC_TC_ST) & (1U << ch_index)) != 0) {
202  ptr->DMAC_TC_ST = (1U << ch_index); /* W1C clear status*/
203  return true;
204  }
205  return false;
206 }
207 
215 static inline bool smix_dma_check_transfer_abort(SMIX_Type *ptr, uint8_t ch_index)
216 {
217  if ((SMIX_DMAC_ABRT_ST_CH_GET(ptr->DMAC_ABRT_ST) & (1U << ch_index)) != 0) {
218  ptr->DMAC_ABRT_ST = (1U << ch_index); /* W1C clear status*/
219  return true;
220  }
221  return false;
222 }
223 
231 static inline bool smix_dma_check_transfer_error(SMIX_Type *ptr, uint8_t ch_index)
232 {
233  if ((SMIX_DMAC_ERR_ST_CH_GET(ptr->DMAC_ERR_ST) & (1U << ch_index)) != 0) {
234  ptr->DMAC_ERR_ST = (1U << ch_index); /* W1C clear status*/
235  return true;
236  }
237  return false;
238 }
239 
247 static inline void smix_mixer_dst_enable_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
248 {
249  ptr->DST_CH[dst_ch].SOURCE_EN |= source_ch_mask;
250 }
251 
259 static inline void smix_mixer_dst_disable_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
260 {
261  ptr->DST_CH[dst_ch].SOURCE_EN &= ~source_ch_mask;
262 }
263 
271 static inline void smix_mixer_dst_active_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
272 {
273  ptr->DST_CH[dst_ch].SOURCE_ACT |= source_ch_mask;
274 }
275 
283 static inline void smix_mixer_dst_deactive_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
284 {
285  ptr->DST_CH[dst_ch].SOURCE_DEACT |= source_ch_mask;
286 }
287 
295 static inline void smix_mixer_dst_fadein_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
296 {
297  ptr->DST_CH[dst_ch].SOURCE_FADEIN_CTRL |= source_ch_mask;
298 }
299 
307 static inline void smix_mixer_dst_fadeout_source_channel(SMIX_Type *ptr, uint8_t dst_ch, uint32_t source_ch_mask)
308 {
309  ptr->DST_CH[dst_ch].SOURCE_MFADEOUT_CTRL |= source_ch_mask;
310 }
311 
319 static inline void smix_mixer_dst_enable(SMIX_Type *ptr)
320 {
323 }
324 
332 static inline void smix_mixer_dst_disable(SMIX_Type *ptr)
333 {
335 }
336 
343 static inline uint32_t smix_mixer_get_calsat_status(SMIX_Type *ptr)
344 {
345  return ptr->CALSAT_ST;
346 }
347 
355 static inline bool smix_mixer_check_dst_cal_saturation_error(SMIX_Type *ptr, uint8_t dst_ch)
356 {
357  return ((SMIX_CALSAT_ST_DST_GET(ptr->CALSAT_ST) & (1U << dst_ch)) != 0) ? true : false;
358 }
359 
367 static inline bool smix_mixer_check_source_cal_saturation_error(SMIX_Type *ptr, uint8_t source_ch)
368 {
369  return ((SMIX_CALSAT_ST_SRC_GET(ptr->CALSAT_ST) & (1U << source_ch)) != 0) ? true : false;
370 }
371 
379 static inline bool smix_mixer_check_dst_data_underflew(SMIX_Type *ptr, uint8_t dst_ch)
380 {
381  return ((SMIX_DATA_ST_DST_UNDL_GET(ptr->DATA_ST) & (1U << dst_ch)) != 0) ? true : false;
382 }
383 
391 static inline bool smix_mixer_check_dst_data_available(SMIX_Type *ptr, uint8_t dst_ch)
392 {
393  return ((SMIX_DATA_ST_DST_DA_GET(ptr->DATA_ST) & (1U << dst_ch)) != 0) ? true : false;
394 }
395 
403 static inline bool smix_mixer_check_source_data_needed(SMIX_Type *ptr, uint8_t source_ch)
404 {
405  return ((SMIX_DATA_ST_SRC_DN_GET(ptr->DATA_ST) & (1U << source_ch)) != 0) ? true : false;
406 }
407 
417 hpm_stat_t smix_mixer_config_dst_fadein_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms);
418 
428 hpm_stat_t smix_mixer_config_dst_fadeout_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms);
429 
439 hpm_stat_t smix_mixer_config_source_fadein_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms);
440 
450 hpm_stat_t smix_mixer_config_source_fadeout_delta(SMIX_Type *ptr, uint8_t ch, uint32_t target_sample_rate, uint32_t ms);
451 
459 
467 
475 
485 hpm_stat_t smix_config_dma_channel(SMIX_Type *ptr, uint8_t ch, smix_dma_ch_config_t *config, bool start);
486 
496 
506 
507 #ifdef __cplusplus
508 }
509 #endif
510 
515 #endif /* HPM_SMIX_DRV_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