#include <types.h>
#include "sdrv_ckgen.h"
#include "sdrv_common.h"
#include "sdrv_dma.h"
Go to the source code of this file.
- Copyright
- Copyright (c) 2021 Semidrive Semiconductor. All rights reserved.
◆ SDRV_PDM_CHANNELS_BYTES
◆ SDRV_PDM_CHANNELS_COUNT
| #define SDRV_PDM_CHANNELS_COUNT 1 |
◆ SDRV_PDM_DMA_BUF_TOTAL_SIZE
◆ SDRV_PDM_DMA_PERIOD_COUNT
| #define SDRV_PDM_DMA_PERIOD_COUNT 2 |
◆ SDRV_PDM_DMA_PERIOD_FRAME_SIZE
| #define SDRV_PDM_DMA_PERIOD_FRAME_SIZE 1024 * 4 |
◆ SDRV_PDM_DMA_PERIOD_SIZE
| #define SDRV_PDM_DMA_PERIOD_SIZE |
Value:
#define SDRV_PDM_DMA_PERIOD_FRAME_SIZE
Definition: sdrv_pdm.h:23
#define SDRV_PDM_CHANNELS_COUNT
Definition: sdrv_pdm.h:21
#define SDRV_PDM_CHANNELS_BYTES
Definition: sdrv_pdm.h:22
◆ SDRV_PDM_XFER_NUM_TRANSFERS
| #define SDRV_PDM_XFER_NUM_TRANSFERS (4U) |
◆ sdrv_pdm_callback
◆ sdrv_pdm_channel_t
◆ sdrv_pdm_config_t
◆ sdrv_pdm_dma_buf_t
pdm dma buff descriptions
◆ sdrv_pdm_dma_data_t
pdm dma fifo descriptions
◆ sdrv_pdm_gain_t
◆ sdrv_pdm_params_t
◆ sdrv_pdm_sample_rate_t
◆ sdrv_pdm_sample_width_t
◆ sdrv_pdm_status_t
◆ sdrv_pdm_stream_t
pdm capture stream descriptions
◆ sdrv_pdm_t
◆ sdrv_pdm_transfer_t
◆ sdrv_pdm_channel
pdm channel
| Enumerator |
|---|
| SDRV_PDM_CHANNEL_LEFT | |
| SDRV_PDM_CHANNEL_RIGHT | |
| SDRV_PDM_CHANNEL_STEREO | |
◆ sdrv_pdm_gain
pdm gain
| Enumerator |
|---|
| SDRV_PDM_GAIN_N6DB | |
| SDRV_PDM_GAIN_N12DB | |
| SDRV_PDM_GAIN_N18DB | |
| SDRV_PDM_GAIN_N24DB | |
| SDRV_PDM_GAIN_P0DB | |
| SDRV_PDM_GAIN_P6DB | |
| SDRV_PDM_GAIN_P12DB | |
| SDRV_PDM_GAIN_P18DB | |
| SDRV_PDM_GAIN_P24DB | |
◆ sdrv_pdm_sample_rate
pdm sample rate
| Enumerator |
|---|
| SDRV_PDM_SR_5512 | |
| SDRV_PDM_SR_8000 | |
| SDRV_PDM_SR_11025 | |
| SDRV_PDM_SR_16000 | |
| SDRV_PDM_SR_22050 | |
| SDRV_PDM_SR_32000 | |
| SDRV_PDM_SR_44100 | |
| SDRV_PDM_SR_48000 | |
| SDRV_PDM_SR_64000 | |
| SDRV_PDM_SR_88200 | |
| SDRV_PDM_SR_96000 | |
| SDRV_PDM_SR_176400 | |
| SDRV_PDM_SR_192000 | |
◆ sdrv_pdm_sample_width
pdm sample width
| Enumerator |
|---|
| SDRV_PDM_SAMPLE_WIDTH_8BITS | |
| SDRV_PDM_SAMPLE_WIDTH_16BITS | |
| SDRV_PDM_SAMPLE_WIDTH_24BITS | |
| SDRV_PDM_SAMPLE_WIDTH_32BITS | |
◆ sdrv_pdm_status
pdm status
| Enumerator |
|---|
| SDRV_PDM_STATUS_SUCCESS | |
| SDRV_PDM_STATUS_FAIL | |
| SDRV_PDM_STATUS_INVALID_PARAMS | |
| SDRV_PDM_STATUS_OVERRUN | |
| SDRV_PDM_STATUS_UNDERRUN | |
◆ sdrv_pdm_create_transfer()
sdrv_pdm_create_transfer
This function is used to create transfer and attach transfer callback
- Parameters
-
| [in] | pdm | sdrv pdm controller |
| [in] | callback | sdrv pdm transfer callback function. |
| [in] | context | sdrv pdm transfer callback param. |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_get_default_params()
sdrv_pdm_get_default_params
This function is used to get pdm default params
- Parameters
-
| [in] | pdm | sdrv pdm controller |
| [out] | params | sdrv pdm params |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_init()
sdrv pdm controller initialization.
This function is used to initialize pdm module function.
- Parameters
-
| [in] | pdm | sdrv pdm controller |
| [in] | cfg | sdrv pdm controller configurations |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_set_params()
sdrv_pdm_set_params
This function is used to set pdm params
- Parameters
-
| [in] | pdm | sdrv pdm controller |
| [in] | params | sdrv pdm params |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_start()
sdrv_pdm_start
This function is used to start pdm transfer
- Parameters
-
| [in] | pdm | sdrv pdm controller |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_stop()
sdrv_pdm_stop
This function is used to stop pdm transfer
- Parameters
-
| [in] | pdm | sdrv pdm controller |
- Returns
- sdrv_pdm_status_t
◆ sdrv_pdm_submit_transfer()
sdrv_pdm_submit_transfer
This function is used to submit transfer, which's max num is SDRV_PDM_XFER_NUM_BUFFERS
- Parameters
-
| [in] | pdm | sdrv pdm controller |
| [in] | transfer | sdrv pdm transfer |
- Returns
- sdrv_pdm_status_t