Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Mapping/ordering of the PDM channels to logical PCM output channel. More...
#include <dmic.h>
Data Fields | |
uint8_t | req_num_chan |
Requested number of channels. | |
uint8_t | act_num_chan |
Actual number of channels that the driver could configure. | |
uint8_t | req_num_streams |
Requested number of streams for each channel. | |
uint8_t | act_num_streams |
Actual number of streams that the driver could configure. | |
Requested channel map | |
uint32_t | req_chan_map_lo |
Channels 0 to 7. | |
uint32_t | req_chan_map_hi |
Channels 8 to 15. | |
Actual channel map that the driver could configure | |
uint32_t | act_chan_map_lo |
Channels 0 to 7. | |
uint32_t | act_chan_map_hi |
Channels 8 to 15. | |
Mapping/ordering of the PDM channels to logical PCM output channel.
Since each controller can have 2 audio channels (stereo), there can be a total of 8x2=16 channels. The actual number of channels shall be described in act_num_chan.
If 2 streams are enabled, the channel order will be the same for both streams.
Each channel is described as a 4-bit number, the least significant bit indicates LEFT/RIGHT selection of the PDM controller.
The most significant 3 bits indicate the PDM controller number:
CONSTRAINT: The LEFT and RIGHT channels of EACH PDM controller needs to be adjacent to each other.
uint32_t pdm_chan_cfg::act_chan_map_hi |
Channels 8 to 15.
uint32_t pdm_chan_cfg::act_chan_map_lo |
Channels 0 to 7.
uint8_t pdm_chan_cfg::act_num_chan |
Actual number of channels that the driver could configure.
uint8_t pdm_chan_cfg::act_num_streams |
Actual number of streams that the driver could configure.
uint32_t pdm_chan_cfg::req_chan_map_hi |
Channels 8 to 15.
uint32_t pdm_chan_cfg::req_chan_map_lo |
Channels 0 to 7.
uint8_t pdm_chan_cfg::req_num_chan |
Requested number of channels.
uint8_t pdm_chan_cfg::req_num_streams |
Requested number of streams for each channel.