https://e2e.ti.com/support/audio-group/audio/f/audio-forum/808597/tlv320aic3111-linux-issue
器件型号:TLV320AIC3111您好!
我尝试将 TLV320AIC3111与运行 Linux 的 NXP i.MX8M 搭配使用。 我按照此处 http://www.ti.com/tool/tlv320aic31xxsw-linux;的说明 、使用 menuconfig 启用了 nd_SOC_TLV320AIC31XX、并在器件树中添加了以下条目:
i2c3{(&I)
时钟频率=<100000 >;
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_i2c3>;
状态="正常";
tlv320aic311x:tlv320aic311x@18{
兼容="ti、tlv320aic311x";
reg =<0x18>;
ai31xx 微偏置 vg = ;
RESET-GPIO =<&GPIO4 28 GPIO_ACTIVE_LOW>;
AVDD-SUPPLY =<音频板>;
HPVDD-SUPPLY =<音频板>;
SPRVDD 电源=<_AUDIO_board>;
SPLVDD-SUPPLY =<音频板>;
IOVdd-supply =<音频板>;
DVDD 电源=<音频板>;
};
};
Saa1{(&S)
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_sa1>;
分配的时钟=<&clk IMX8MM_CLK_SAI1_SRC>、
<&clk IMX8MM_CLK_SAI1_DIV>;
分配的时钟父级=<&clk IMX8MM_AUDIO_PLL1_OUT>;
分配的时钟速率=<0>、<24576000>;
状态="正常";
};
sound-tlv320aic311x{
兼容="ti、tlv320aic311x";
型号="tlv320aic311x-audio";
audio-CPU =<?Saa1?;
音频编解码器=<&tlv320aic311x>;
音频路由=
"左扬声器"、"SPL"、
"右侧扬声器"、"SPR"、
"MIC1LM"、"MIC";
};
目前、我使用的是与 USB 板分离的3111 EVM、因此稳压器实际上不在 i.MX 板的控制之下。 我在 tlv320aic31xx.c 中注释了以下几行:
/*表示(i = 0;i < array_size (aic31xx-> supplies);i++)
aic31xx-> suppli[i]。supply = aic31xx_supply_names[i];
RET = devm_reguler_bulk_get (aic31xx->dev、
array_size (aic31xx-> supplies)、
aic31xx->耗材);
如果(RET!= 0)
DEV_ERR(aic31xx->dev,“Failed to request supplies:%d\n", ret);*/
当我 grep "tlv"时,我在 dmesg 中得到以下错误:
[4.310678] tlv320aic31xx-codec: probe of 2-0018 failed with error 157556304 (错误157556304)
我使用的是 I2C 2、编解码器的地址为0x18、这让我想知道是否存在 I2C 问题。 我已成功将 I2C 用于此板上的其他器件、当我运行 i2cdetect 时、会显示18 - 2:
0 1 2 3 4 5 6 7 8 9 A b c d e f
00:------------ ------------ ------
10:UU UU UU UU UU ------ 18 ---------- ----
20:UU ---------- ------------ ------------
30:------------ ------------ ---- UU ------
40:40 ------------ ------------ ------------
50:50 ---------- ------------ ------------
60:------------ ------------ ------------ --
70:------------ ------
有什么想法吗?
谢谢、
Dave