This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TLV320AIC3254:TLV320AIC3254 Linux 驱动程序

Guru**** 2394305 points
Other Parts Discussed in Thread: TLV320AIC3254

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/682188/linux-tlv320aic3254-tlv320aic3254-linux-driver

器件型号:TLV320AIC3254

工具/软件:Linux

您好!

我们尝试使用 TLV320AIC3254EVM 将每个 I2S 的 TLV320AIC3254与 iMX6平台集成。

http://www.ti.com/tool/tlv320aic32x4sw-linux 下的驱动程序进行通信

我们看不到正在生成任何 I2S 时钟(BCLK、WCLK)。 我们提供24MHz MCLK。

开源驱动程序也适用于 AIC3254吗? 我想、因为驱动程序不会对 miniDSP 进行编程。 对于基本的 ADC/DAC I2S 操作、是否需要这样做?

固件加载以及此处 提到的驱动程序页面的相关信息、请访问 https://e2e.ti.com/support/data_converters/audio_converters/f/64/t/266169

当前处于脱机状态。 该信息是否有其他来源?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们通过将最新版本的开放源码驱动程序反向移植到我们的 BSP 来解决时钟问题。

    尽管捕获仍然丢失、但回放现在仍正常工作。 如果您想了解该问题可能会出现的任何指示。

    我们的 devicetree 配置:

    + 声音{
    + 兼容="TDX、imx6q-apali-TLV320AIC3254"、
    + "简单音频卡";
    +
    + /*pinctrl-names ="default";
    + pinctrl-0 =<*/
    +
    simple-audio-card、name ="TLV320AIC3254";
    + simple-audio-card、format ="I2S";
    + simple-audio-card、bitclock-master =<&codec_da>;
    + simple-audio-card、frame-master =<&codec_da>;
    + simple-audio-card、小工具=
    + "麦克风"、"麦克风插孔"、
    + "线路"、"线路输入"、
    + "线路"、"线路输出"、
    + "耳机"、"耳机插孔";
    + 简单音频卡,路由=
    + "IN1_L"、"线路输入"、
    + "IN1_R"、"线路输入"、
    + "in3_R"、"麦克风插孔"、
    + "CM_L"、"麦克风插孔"、
    + "CM_R"、"麦克风插孔"、
    + "线路输出"、"LOL"、
    + "线路输出"、"左"、
    + "耳机插孔"、"HPL"、
    + "耳机插孔"、"HPR";
    +
    + cpu_dai:简单音频卡、CPU{
    + Sound-Dai =<&SSI1>;
    + };
    +
    + codec_dai:simple-audio-card、codec{
    + sound-dai =<&codec_tlv>;
    + 时钟=<&CLKS 201>;
    + };
    + };
    
    
    
    +
    ++审核多路复用器{
    + pinctrl-names ="默认值";
    + pinctrl-0 =<&pinctrl_aud5 &pinctrl_aud5_MCLK>;
    +
    SSI1{
    + FSL、audmux-port =<0>;
    + FSL、端口配置=<
    + (IMX_AUDMUX_V2_PTCR_SYN |
    + IMX_AUDMUX_V2_PTCR_TFSEL (4)|
    + IMX_AUDMUX_V2_PTCR_TCSEL (4)|
    + IMX_AUDMUX_V2_PTCR_TFSDIR |
    + IMX_AUDMUX_V2_PTCR_TCLKDIR)
    + IMX_AUDMUX_V2_PDCR_RXDSEL (4)
    + >;
    + };
    +
    + pins5{
    + FSL、audmux-port =<4>;
    + FSL、端口配置=<
    + IMX_AUDMUX_V2_PTCR_SYN
    + IMX_AUDMUX_V2_PDCR_RXDSEL (0)
    + >;
    + };
    +};
    
    
    +
    + codec_tlv:tlv320aic32x4@18{
    + 兼容="ti、tlv320aic32x4";
    + #sound-di-cells =<0>;
    + reg =<0x18>;
    + 时钟=<&CLKS 201>;
    + 时钟名称="MCLK";
    + dV-supply =<Registered_1p8v>;
    + AV-SUPPLY =<Registered_1_p8v>;
    + IOV-SUPPLY =<Registered_3p3v>;
    + };
    



    我们的寄存器映射(通过 i2cdump -f -y 1 0x18获得):
    之前为空闲状态/之后为捕获状态

    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:00 60 00 03 A1 08 07 80 00 88 82 00 80 02 ..` ????
    10:00 08 88 84 40 01 00 04 00 01 0c 00 01 84 00????@???????????
    -20:00 00 00 88 22 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00……
    +20:00 00 00 00 cc 22 11 00 00 00 00 00 00 00 00 00 00 00 00 00……
    30:00 00 00 00 12 03 02 00 00 01 01 00 18… ?????????
    40:0°C ea 00 6F 38 00 00 00 00 00 ee 10 D8 7e E3 ???.o8… ???~?
    -50:00 00 88 0d 0d 00 00 00 3f 00 00 00 00 00 00 00 00 00 00...?...?
    +50:00 c0 88 0d 0d 00 00 00 3f 00 00 00 00 00 00 00 00……………………………………………………
    60:7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..........
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Anton、

    欢迎使用 E2E、感谢您关注我们的产品!

    我们目前不支持 Linux 驱动程序开发、因此有关驱动程序的唯一信息位于您提到的 wiki 页面中、有关 AIC3254的驱动程序、请参阅此链接。

    驱动程序代码不包含从 PurePath Studio 生成的 miniDSP 代码、要导出代码、您需要按照此 Wiki 条目中的步骤进行操作。

    此致、

     Diego Melendez López í a
      音频应用工程师