30#include "syna_device.h"
31#include "pdm_registers.h"
34#if CONFIG_MODULE_DMA_ENABLED
1183 uint8_t channel,
float volume_db);
dmic_instance_en
DMIC instances for CM52.
Definition sl2610_cm52.h:619
struct dmic_capability_s dmic_capability_t
DMIC instance capability description.
struct dmic_data_path_config_s dmic_data_path_config_t
Unified DMIC data-path configuration.
struct dmic_channel_config_s dmic_channel_config_t
DMIC channel configuration structure.
struct dmic_fifo_config_s dmic_fifo_config_t
DMIC RX FIFO configuration structure.
struct dmic_dma_config_s dmic_dma_config_t
Generic DMA configuration.
struct dmic_io_config_s dmic_io_config_t
DMIC I/O configuration structure.
void(* dmic_event_cb_t)(dmic_instance_en instance, uint8_t channel, dmic_event_en event, uint32_t offset, uint32_t size, void *user_data)
DMIC event callback function type.
Definition dmic.h:853
struct dmic_buffer_context_s dmic_buffer_context_t
DMIC buffer context structure.
dmic_event_en
DMIC event notifications.
Definition dmic.h:574
dmic_gain_ctrl_en
Microphone Gain Control.
Definition dmic.h:634
dmic_decimation_ratio_en
Decimation ratios for DMIC output.
Definition dmic.h:617
dmic_status_en
Error codes for DMIC module.
Definition dmic.h:594
dmic_in_phase_en
DMIC Input Phase.
Definition dmic.h:626
dmic_boost_en
Input boost levels.
Definition dmic.h:653
dmic_buffer_mode_en
DMIC buffer mode capability bitmask.
Definition dmic.h:693
dmic_transfer_mode_en
DMIC transfer mode capability bitmask.
Definition dmic.h:681
dmic_int_en
FIFO interrupt mask configuration.
Definition dmic.h:664
dmic_sample_size_en
DMIC sample size selector.
Definition dmic.h:708
uint32_t dmic_cutoff_freq_t
DMIC HPF cutoff selector type.
Definition dmic.h:676
@ DMIC_EVENT_UNDERFLOW
Definition dmic.h:578
@ DMIC_EVENT_OVERFLOW
Definition dmic.h:576
@ DMIC_EVENT_INVALID_CONFIG
Definition dmic.h:581
@ DMIC_EVENT_NONE
Definition dmic.h:575
@ DMIC_EVENT_FULL
Definition dmic.h:577
@ DMIC_EVENT_READ_PARTIAL_COMPLETE
Definition dmic.h:584
@ DMIC_EVENT_READ_COMPLETE
Definition dmic.h:582
@ DMIC_EVENT_ALMOST_FULL
Definition dmic.h:579
@ DMIC_EVENT_ERROR
Definition dmic.h:585
@ DMIC_EVENT_READ_NOT_READY
Definition dmic.h:583
@ DMIC_EVENT_MUTE_ENABLED
Definition dmic.h:580
@ DMIC_GAIN_POS_2_5DB
Definition dmic.h:646
@ DMIC_GAIN_NEG_1DB
Definition dmic.h:639
@ DMIC_GAIN_NEG_2_5DB
Definition dmic.h:636
@ DMIC_GAIN_NEG_0_5DB
Definition dmic.h:640
@ DMIC_GAIN_NEG_1_5DB
Definition dmic.h:638
@ DMIC_GAIN_POS_1_5DB
Definition dmic.h:644
@ DMIC_GAIN_POS_3DB
Definition dmic.h:647
@ DMIC_GAIN_NEG_3DB
Definition dmic.h:635
@ DMIC_GAIN_POS_0_5DB
Definition dmic.h:642
@ DMIC_GAIN_NEG_2DB
Definition dmic.h:637
@ DMIC_GAIN_POS_2DB
Definition dmic.h:645
@ DMIC_GAIN_POS_1DB
Definition dmic.h:643
@ DMIC_GAIN_0DB
Definition dmic.h:641
@ DMIC_DECIMATE_BY_16
Definition dmic.h:620
@ DMIC_DECIMATE_BY_32
Definition dmic.h:619
@ DMIC_DECIMATE_BY_64
Definition dmic.h:618
@ DMIC_ERROR_INVALID_CONTEXT
Definition dmic.h:606
@ DMIC_ERROR_DATA_STUCK
Definition dmic.h:598
@ DMIC_ERROR_INVALID_BOOST
Definition dmic.h:601
@ DMIC_ERROR
Definition dmic.h:596
@ DMIC_ERROR_NOT_CLEARED
Definition dmic.h:605
@ DMIC_ERROR_DMA_FAILED
Definition dmic.h:608
@ DMIC_ERROR_INVALID_PHASE
Definition dmic.h:603
@ DMIC_OK
Definition dmic.h:595
@ DMIC_ERROR_INVALID_PARAM
Definition dmic.h:607
@ DMIC_ERROR_INVALID_GAIN
Definition dmic.h:600
@ DMIC_ERROR_OVERFLOW
Definition dmic.h:599
@ DMIC_ERROR_UNKNOWN
Definition dmic.h:609
@ DMIC_ERROR_TIMEOUT
Definition dmic.h:597
@ DMIC_ERROR_INVALID_CONFIG
Definition dmic.h:611
@ DMIC_ERROR_NOT_SUPPORTED
Definition dmic.h:610
@ DMIC_ERROR_INVALID_CLK_DIV
Definition dmic.h:602
@ DMIC_ERROR_MUTE_STATE
Definition dmic.h:604
@ DMIC_PHASE_NEG_EDGE_ALIGN_POS
Definition dmic.h:628
@ DMIC_PHASE_POS_EDGE_ALIGN_NEG
Definition dmic.h:627
@ DMIC_BOOST_18DB
Definition dmic.h:657
@ DMIC_BOOST_6DB
Definition dmic.h:655
@ DMIC_BOOST_12DB
Definition dmic.h:656
@ DMIC_BOOST_0DB
Definition dmic.h:654
@ DMIC_BOOST_24DB
Definition dmic.h:658
@ DMIC_BUFFER_MODE_PER_CHANNEL
Definition dmic.h:695
@ DMIC_BUFFER_MODE_INTERLEAVED
Definition dmic.h:696
@ DMIC_BUFFER_MODE_NONE
Definition dmic.h:694
@ DMIC_TRANSFER_MODE_NONE
Definition dmic.h:682
@ DMIC_TRANSFER_MODE_FIFO
Definition dmic.h:683
@ DMIC_TRANSFER_MODE_DMA
Definition dmic.h:684
@ DMIC_INT_AFULL
Definition dmic.h:665
@ DMIC_INT_OVER
Definition dmic.h:667
@ DMIC_INT_FULL
Definition dmic.h:666
@ DMIC_SAMPLE_24BIT
Definition dmic.h:710
@ DMIC_SAMPLE_32BIT
Definition dmic.h:711
@ DMIC_SAMPLE_16BIT
Definition dmic.h:709
dmic_status_en dmic_set_channel_gain(dmic_instance_en instance, dmic_channel_en channel, dmic_gain_ctrl_en gain_ctrl)
dmic_status_en dmic_register_callback(dmic_instance_en instance, dmic_event_cb_t event_cb, void *user_data)
dmic_status_en dmic_reset(dmic_instance_en instance)
dmic_status_en dmic_config_channel(dmic_instance_en instance, uint8_t channel, const dmic_channel_config_t *cfg)
dmic_status_en dmic_enable_interrupts(dmic_instance_en instance, uint32_t mask)
dmic_status_en dmic_disable(dmic_instance_en instance)
dmic_status_en dmic_config_data_path(dmic_instance_en instance, const dmic_data_path_config_t *cfg)
dmic_status_en dmic_read(dmic_instance_en instance, dmic_buffer_context_t *buf, int32_t timeout)
dmic_status_en dmic_set_channel_boost(dmic_instance_en instance, dmic_channel_en channel, dmic_boost_en boost_level)
dmic_status_en dmic_get_capability(dmic_instance_en instance, dmic_capability_t *capability)
dmic_status_en dmic_configure_io(dmic_instance_en instance, const dmic_io_config_t *dmic_config)
dmic_status_en dmic_isr(dmic_instance_en instance)
dmic_status_en dmic_start(dmic_instance_en instance)
INIT_CODE dmic_status_en dmic_init(dmic_instance_en instance)
dmic_status_en dmic_enable(dmic_instance_en instance)
dmic_status_en dmic_set_channel_volume(dmic_instance_en instance, uint8_t channel, float volume_db)
dmic_status_en dmic_stop(dmic_instance_en instance)
dmic_status_en dmic_read_nonblocking(dmic_instance_en instance, dmic_buffer_context_t *buf)
DMIC buffer context structure.
Definition dmic.h:807
uint8_t * buffer
Definition dmic.h:809
uint32_t buffer_size
Definition dmic.h:810
uint8_t channel
Definition dmic.h:808
uint32_t available_bytes
Definition dmic.h:812
uint32_t offset_bytes
Definition dmic.h:811
DMIC instance capability description.
Definition dmic.h:822
bool has_gain
Definition dmic.h:829
bool has_iir
Definition dmic.h:831
uint32_t buffer_modes
Definition dmic.h:825
bool has_dma
Definition dmic.h:827
uint32_t transfer_modes
Definition dmic.h:824
bool has_hwvad
Definition dmic.h:828
uint32_t max_clk_hz
Definition dmic.h:833
uint8_t num_channels
Definition dmic.h:823
bool has_fifo
Definition dmic.h:826
uint32_t clk_id
Definition dmic.h:832
bool has_boost
Definition dmic.h:830
DMIC channel configuration structure.
Definition dmic.h:746
bool enable_ll_filter
Definition dmic.h:750
bool enable_hpf
Definition dmic.h:751
dmic_cutoff_freq_t hpf_cutoff_freq
Definition dmic.h:747
bool enable_low_power
Definition dmic.h:749
bool enable_iir
Definition dmic.h:752
bool enable
Definition dmic.h:748
Unified DMIC data-path configuration.
Definition dmic.h:792
dmic_transfer_mode_en transfer_mode
Definition dmic.h:794
uint8_t channel
Definition dmic.h:793
dmic_fifo_config_t fifo
Definition dmic.h:797
dmic_dma_config_t dma
Definition dmic.h:796
Generic DMA configuration.
Definition dmic.h:772
uint32_t buffer_bytes
Definition dmic.h:775
uint32_t frame_bytes
Definition dmic.h:777
void * buffer
Definition dmic.h:774
uint32_t period_bytes
Definition dmic.h:776
DMIC RX FIFO configuration structure.
Definition dmic.h:761
bool int_almost_full_enable
Definition dmic.h:764
bool int_overflow_enable
Definition dmic.h:766
bool enable
Definition dmic.h:762
bool int_full_enable
Definition dmic.h:765
uint16_t threshold
Definition dmic.h:763
DMIC I/O configuration structure.
Definition dmic.h:732
bool polarity_reversal
Definition dmic.h:735
dmic_in_phase_en input_phase
Definition dmic.h:737
bool channel_swap
Definition dmic.h:736
uint32_t pdm_clk_Hz
Definition dmic.h:734
uint32_t fs_Hz
Definition dmic.h:733