https://www.kernel.org/doc/html/latest/sound/soc/dpcm.html
由machine驱动实现的be_hw_params_fixup callback可以重新配置 hw params来设置BE CPU DAI和codec DAI。我们把重新配置的硬件参数 称为BE hw params。把应用程序或hostless modem 设置的硬件参数称为FE hw params。例如aplay -D hw:0,2 -P -R 8000 -C 1 、arec -D hw:0,4 -P -R 8000 -C 1 命令,arec、aplay传递的采样率、声道数参数就是FE hw params。
DSP 基于BE hw params去配置 BE CPU DAI,同时把FE hw params转化为BE hw params或把BE hw params转化为
FE hw params,硬件参数的转化指的是pcm data的转化,这个转化是由DSP里的resampler模块完成。
基于 hw params的不同,pcm data分为FE pcm data和BE pcm data。FE PCM DATA可以是host CPU pcm data也可以是hostless modem pcm data即voice data。
hw params包括采样率、声道数等。
BE CPU DAI 和codec DAI 运行在 BE hw params中而不管FE hw params配置。
例如
BE CPU DAI 和codec DAI 运行在采样率为48KHz,声道数1的参数上,通过arec -C 1 -R 8000 -T 10 /data/rec1.wav或arec -C 1 -R 48000 -T 10 /data/rec2.wav命令来录音声道数1,采样率8KHz或48KHz的pcm data或者使用aplay -D hw:0,0 /data/file.wav命令播放wav文件指定采样率和声道数的pcm data。