数据结构设计
2 Dec 2024
Read time: 1 minute(s)
- aic_i2s
struct aic_i2s { struct clk *clk; struct reset_control *rst; struct regmap *regmap; struct snd_dmaengine_dai_dma_data playback_dma_data; struct snd_dmaengine_dai_dma_data capture_dma_data; unsigned int mclk_freq; unsigned int bclk_ratio; unsigned int format; unsigned int slots; unsigned int slot_width; };
部分变量说明:-
playback_dma_data:播放时的音频数据结构,用于配置 DMA 传输的目的地址,数据宽度等信息
-
capture_dma_data:录音时音频数据结构,用于配置 DMA 传输的起始地址,数据宽度等信息
-
mclk_freq:I2S 的 MCLK 时钟频率
-
bclk_ratio:LRCK 与 BCLK 的比率
-
format:设置 S 的传输格式
-
slots:设置 S 的通道数
-
slot_width:设置 S 的每个通道占用位数
-
- aic_i2s_clk_div
struct aic_i2s_clk_div { u8 div; /* bclk 和 mclk 的分频系数 */ u8 val; /* 分频系数 div 所对应的寄存器的值 */ };