Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pdm_chan_cfg Struct Reference

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.
 

Detailed Description

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:

  • bits 0-3 are for channel 0, bit 0 indicates LEFT or RIGHT
  • bits 4-7 are for channel 1, bit 4 indicates LEFT or RIGHT and so on.

CONSTRAINT: The LEFT and RIGHT channels of EACH PDM controller needs to be adjacent to each other.

Field Documentation

◆ act_chan_map_hi

uint32_t pdm_chan_cfg::act_chan_map_hi

Channels 8 to 15.

◆ act_chan_map_lo

uint32_t pdm_chan_cfg::act_chan_map_lo

Channels 0 to 7.

◆ act_num_chan

uint8_t pdm_chan_cfg::act_num_chan

Actual number of channels that the driver could configure.

◆ act_num_streams

uint8_t pdm_chan_cfg::act_num_streams

Actual number of streams that the driver could configure.

◆ req_chan_map_hi

uint32_t pdm_chan_cfg::req_chan_map_hi

Channels 8 to 15.

◆ req_chan_map_lo

uint32_t pdm_chan_cfg::req_chan_map_lo

Channels 0 to 7.

◆ req_num_chan

uint8_t pdm_chan_cfg::req_num_chan

Requested number of channels.

◆ req_num_streams

uint8_t pdm_chan_cfg::req_num_streams

Requested number of streams for each channel.


The documentation for this struct was generated from the following file: