主题中讨论的其他器件: PCM3168
集成 pcm3168a 编解码器驱动程序时我们会面临的问题。
目标器件和版本详细信息如下:
内核版本:- 4.19.35
CPU :- I. MX6Q
根据 https://bootlin.com/blog/eight-channels-audio-on-i-mx7-with-pcm3168/、我们按如下方式配置了器件树
sound-pcm3168a{
兼容="简单音频卡";
simple-audio-card、name ="pcm3168a-audio ";
simple-audio-card、小工具="扬声器"、"信道1out"、
"扬声器"、"通道2out"、
"扬声器"、"通道3out"、
"扬声器"、"通道4out"、
"扬声器"、"通道5out"、
"扬声器"、"Channel6out"、
"麦克风"、"通道1输入"、
"麦克风"、"通道2in"、
"麦克风"、"通道3输入"、
"麦克风"、"Channel4in"、
"麦克风"、"通道5in"、
"麦克风"、"信道6in";
simple-audio-card、路由="通道1out"、"AOUT1L"、
"通道2out"、"AOUT1R"、
"通道3out"、"AOUT2L"、
"通道4out"、"AOUT2R"、
"通道5out"、"AOUT3L"、
"通道6out"、"AOUT3R"、
"通道1IN"、"AIN1L"、
"通道2in"、"AIN1R"、
"通道3输入"、"AIN2L"、
"Channel4in"、"AIN2R"、
"通道5in"、"AIN3L"、
"Channel6in"、"AIN3R";
simple-audio-card、da-link@0 {
格式="left_j";
bitclock-master =<&pcm3168a_dac>;
FRAME-MASTER =<&pcm3168a_dac>;
SAI_DAI:CPU{
Sound-Dai =<和 esai>;
dia-tdm-slot-num =<8>;
da-tdm-slot-width =<32>;
};
pcm3168a_dac:编解码器{
sound-Dai =<&pcm3168a 0>;
Clocks =<&CODEC_osc>;
};
};
simple-audio-card、di-link@1 {
格式="left_j";
bitclock-master =<&pcm3168a_adc>;
FRAME-MASTER =<&pcm3168a_adc>;
CPU{
Sound-Dai =<和 esai>;
dia-tdm-slot-num =<8>;
da-tdm-slot-width =<32>;
};
pcm3168a_adc:编解码器{
sound-dai =<&pcm3168a 1>;
Clocks =<&CODEC_osc>;
};
};
};
// I2C
pcm3168a:音频编解码器@44 {
兼容="ti,pcm3168a";
寄存器=<0x44>;
#sound-Da-cells =<1>;
Clocks =<&CODEC_osc>;
时钟名称="scki";
VDD1-SUPPLY =<_AUDIO>;
VDD2-SUPPLY =<_AUDIO>;
VCCAD1-SUPPLY =<_AUDIO_5v0>;
VCCAD2-SUPPLY =<_AUDIO_5v0>;
VCCDA1-SUPPLY =<_AUDIO_5v0>;
VCCDA2-SUPPLY =<_AUDIO_5v0>;
};
//时钟
时钟{
codec_osc:anaclk2{
兼容="固定时钟";
#clock-cells =<0>;
时钟频率=<24576000>;
};
};
- 外部24.58MHz 振荡器连接到 SCKI/MCLK。
- 编解码器器件列表
- 当我以48000采样率播放采用"S24_LE"格式的声音时、会出现以下错误。
- 根据上述错误、我将模式更改为从模式和右对齐格式。 之后、我得到以下错误。