主题中讨论的其他器件: PCM5142
大家好、
我们正在开发 PCM5242音频 DAC、该 DAC 采用 ANdorid11代码库中的 NXP 处理器。
我已将所有更改集成到 DTSI 和驱动程序文件中。
更改后、DAC 已成功注册。
我检查了所有时钟,如 WCLK MCLK BCLK 和 DIN 引脚,我们在播放音频文件时可以正确获取所有时钟。 但没有声音。
我们所面临的错误:
e AUDIO_HW_PRIMARY:START_OUTPUT 流:无效 PCM 卡 ID:-1
i audio_hw_primary:start_output_stream:primary:1、out:0xee944630、device:131072、address:、mode:0、 标志0x2
i AUDIO_HW_PRIMARY:select_output_device()、耳机0、耳机0、扬声器2
D AUDIO_HW_PRIMARY:START_OUTPUT 流:PCM_OPEN:卡:-1、PCM_DEVICE_ID:0、速率:48000、通道:2、格式:0、 PERIOD_SIZE:0xc0、标志:9
看起来不存在卡:
I2C 转储:
1.音频未播放时:
2.尝试播放音频文件时
DTSI 更改:
sound-pcm512x{
兼容="简单音频卡";
simple-audio-card、name ="pcm512x-audio";
simple-audio-card、format ="I2S";
simple-audio-card、bitclock-master =<&dailink0_master4>;
simple-audio-card、frame-master =<&dailink0_master4>;
simple-audio-card、小工具=
"线路"、"左线路输出插孔"、
"线路"、"右侧线路输出插孔";
简单音频卡,路由=
"左侧线路输出插孔"、"OUTL"、
"右侧线路输出插孔"、"输出器";
dailink0_master4:简单音频卡、CPU{
??Sound-Dai =<?Sa义5>;
};
简单音频卡、编解码器{
sound-dai =<&pcm5242>;
时钟=<&clk IMX8MM_CLK_SAI5_root>;
};
};
pcm5242:pcm5242@4c{
兼容="ti、pcm5242";
#sound-di-cells =<0>;
reg =<0x4c>;
AVDD-SUPPLY =<_3V3_VExt>;
DVDD 电源=<_3V3_VExt>;
CPVDD 电源=<_3V3_VExt>;
时钟=<&ext_osc_22m>、<&ext_osc_24m>;
时钟名称="sclk0"、"sclk1";
};
Saa5{(&S)
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_sa5>;
分配的时钟=<&clk IMX8MM_CLK_SAI5>;
分配的时钟父级=<&clk IMX8MM_AUDIO_PLL1_OUT>;
分配的时钟速率=<24576000>;
状态="正常";
};
pinctrl_sai5:sai5grp{
FSL、引脚=<
MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK 0xd6/* MCLK*/
MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6/* BCLK*/
MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6 /* DIN*/
MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6 /* WCLK*/
>;
};
注:我们没有正确的驱动程序。 我们使用不同系列的驱动程序、即 pcm5142。
sound/soc/codecs/pcm512x-i2c.c
sound/soc/codecs/pcm512x.c
需要您的紧急支持
谢谢
Divyesh