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.

[参考译文] TLV320AIC3107:AM5728:tlv320aic3x-codec 2-0018:无法同步寄存器0x3-0x5

Guru**** 1698140 points
Other Parts Discussed in Thread: TLV320AIC3107, TLV320AIC3007
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1174069/tlv320aic3107-am5728-tlv320aic3x-codec-2-0018-unable-to-sync-registers-0x3-0x5

器件型号:TLV320AIC3107
主题中讨论的其他器件: TLV320AIC3007

我们采用了 am57xx -PHYcore 套件评估板、并以此为参考、我们正在创建定制板。 PHYCORE 板使用 tlv320aic3007编解码器、而我们使用 tlv320aic3107编解码器和 tlv320aic3x 作为驱动程序。 但我们似乎看到这个错误"tlv320aic3x-codec 2-0018:无法同步寄存器0x3-0x5"、这可能是什么问题?

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

    我将请我们的驱动器专家进行评论。

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

    首先设置正确的页面

    i2cset -y -f 0 4c 0 1  //switch to page 1
    i2cset -y -f 0 4c 0x3 2
    i2cset -y -f 0 4c 0x4 6.
    i2cset -y -f 0 4c 0x5 8.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、感谢您的回复... 我在这方面比较陌生、因此您可以对此做更多的解释、请。

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

    请仔细阅读数据表。 在数据表中、您会发现第0页和第1页中存在 reg0x3 ~ reg 0x5。 我想知道您要设置什么寄存器、PAGE 0或 PAGE 1?

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

    你(们)好  

    首先、将 tlv320aic3107编解码器连接到板载 i2c-3。

    我要在这里连接 DTS、

    ```μ A

    RDK_AUDIO:声音{
    兼容="简单音频卡";
    状态="正常";
    simple-audio-card、name ="phyCORE-AM57xx-RDK";
    simple-audio-card、小工具=
    "线路"、"线路输出"、
    "线路"、"线路输入"、
    "麦克风"、"麦克风插孔"、
    "耳机"、"耳机插孔";
    简单音频卡,路由=
    "线路输出"、"LLOUT"、
    "线路输出"、"RLOUT"、

    "LINE1R"、"线路输入"、
    "LINE1R"、"线路输入"、

    "MIC3L"、"Mic Jack"、
    "MIC3R"、"Mic Jack"、
    "MIC Jack"、"Mic Bias"、

    "HP 插孔"、"HPLOUT"、
    HP 插孔"、"HPROUT";
    simple-audio-card、format ="DSP_b";
    simple-audio-card、bitclock-master =<&sound0_master>;
    simple-audio-card、frame-master =<&sound0_master>;
    简单音频卡、位时钟反转;

    简单音频卡、CPU{
    Sound-Dai =<&McASP1>;
    系统时钟频率=<12000000>;
    };
    sound0_master:simple-audio-card、codec{
    sound-dai =<&tlv320aic3x>;
    时钟=<&clkout2_clk>;
    };

    };

    i2c3{(&I)

    tlv320aic3x:tlv320aic3x@18{
    #sound-di-cells =<0>;
    兼容="ti、tlv320aic3x";
    reg =<0x18>;
    RESET-GPIO =<&GPIO1 GPIO_ACTIVE_LOW>;
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&clkout2_pins_default>;
    pinctrl-1 =<&clkout2_pins_sleep>;

    状态="正常";
    ai3x-micbias vg =<2>;
    adc -稳定-ms =<40>;

    AVDD-SUPPLY =<&VDD_3V3>;
    IOVdd-supply =<&VDD_3V3>;
    DRVDD-SUPPLY =<&VDD_3V3>;
    DVDD 电源=<&AIC_DVDD>;
    };

    };

    ```μ A

    当内核正在加载或每当运行 aplay 命令时,我都会收到此错误  

    ```μ A

    tlv320aic3x-codec 2-0018:无法同步寄存器0x3-0x5"

    ```μ A

    根据您之前的答复,我假设4c 是从地址, 我尝试使用 i2cset 命令,

    i2cset -y -f 2 0x18 0 1 // 0x18是 tlvcodec 从地址。 此命令写入失败。

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

    尝试"i2cdump -y -f 2 0x18"和 "i2cdump -y -f 2 0x18"

    还有一件事、由于 tlvcodec 位于 i2c-3上、为什么日志是"tlv320aic3x-codec 2-0018:无法同步寄存器0x3-0x5"、而不是"tlv320aic3x-codec 3-0018:无法同步寄存器0x3-0x5"

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

    我们有5个 i2c,在/dev/中,它们是从 i2c 0-4映射的,因此我们已将 i2c_3映射到 i2c_2。

    连接 i2c dump 的输出 cmd:

    ```μ A

    root@am572x-bel-mmcrfic:~# i2cdump -y -f 2 0x18
    未指定大小(使用字节数据访问)
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    10:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    20:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    30:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    40:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    50:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    60:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    70:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    80:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    90:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    A0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    B0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    C0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    D0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    E0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
    F0:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX

    ```μ A

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

    我的问题是 DTSI 中的 i2c-3是否为 &i2c3?

    请检查硬件、因为根据您的日志、无法获得寄存器值。