大家好、
我们按照文档中的说明在 DTS 中配置了 tlv 编解码器[tlv320aic3101]。 我们使用的是驱动程序代码[tlv320aic3x.c]。 我们的主器件是处理器、可生成12.28MHz 的 MCLK 频率和1.53MHz 的 BCLK 频率
DTS 文件
&qupv3_SE3_i2c{
状态="ok";
tlv320aic3x_codec:tlv320aic3x@18{
兼容="ti、tlv320aic3x";
reg =<0x18>;
GPIO-reset =&tlv320aic321xx_rst_gpio;
DRVDD-SUPPLY =<&pm6150_L18>;
AVDD-SUPPLY =<&pm6150_L18>;
IOVdd-supply =<&pm6150_L10>;
DVDD 电源=<&pm6150_L10>;
};
};
使用 i2cdetect 命令、它显示驱动程序代码正在使用
/# i2cdetect -r -y 2.
0 1 2 3 4 5 6 7 8 9 A b c d e f
00:------------ ------------ ------
10:------------ ------ UU -------------- ----
20:------------ ------------ ------------ --
30:------------ ------------ ------------ --
40:------------ ------------ ------------ --
50:---------- ------------ ------------ --
60:------------ ------------ ------------ --
70:------------ ------
但是、在引导时、我们可以看到驱动程序代码正在使用、它从日志中进入 i2cprobe、init 和编解码器探针。 但我们在探测时无法看到 SCL 和 SDA 线上的活动。
此外、还可使用手动 i2cset 命令写入和读取数据。
编解码器未在声卡内注册[/proc/asound/cards]
但编解码器正在以下程序中注册:
/# cat /sys/kernel/debug/ASOC/编解码器
btfmslim_slave
tlv320aic3x-codec.2-0018
SND-SOC-Dummd.
请帮助我们找到根本原因、
此致、
Abhiram