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.

[参考译文] AM623:am6234 定制板 McASP0 无法使用编解码器 rt5628 播放音频 WAV

Guru**** 2540620 points
Other Parts Discussed in Thread: SK-AM62B-P1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551709/am623-am6234-custom-board-mcasp0-can-not-play-audio-wav-with-codec-rt5628

器件型号:AM623
主题中讨论的其他器件:SK-AM62B-P1

工具/软件:

尊敬的专家:

我们的定制电路板 McASP0 无法使用编解码器 rt5628 播放音频 WAV

这是我们现在的设置

 

【器件树】

       codec_audio:声音{

               compatible =“simple-audio-card";“;

               simple-audio-card、name =“am62xx-G04";</s>“

               简单音频卡、小工具=

                      “耳机“、“耳机插孔“、

                       “LINE",“,"LINE、"LINE OUT"“ OUT",“,</s>、

                       “麦克风“、“麦克风插孔“、

                       “线路“、“线路输入“;

               简单音频卡、路由=

                       “耳机插孔“、 “HPL 多路复用器输出“、

                       “耳机插孔“、 “HPR 多路复用器输出“;

               简单音频卡、format =“I2S_";“;/* I2S */

               简单音频卡、位时钟主控=<&CPU_MASTER>;

               simple-audio-card、frame-master =<&CPU_master>;

               简单的音频卡,位时钟反转;

 

               cpu_master:简单音频卡、cpu{

                       Sode-Dai =<&McASP0>;

                       系统时钟方向输出;

               };

 

               sound_master:简单音频卡、编解码器{

                       sound-dai =<&audio>;

                       /delete-property/ clocks;/*删除 SK-AM62B-P1 上的 tlv320_MCLK */

               };

       };

       MAIN_MCASP0_PINS_DEFAULT:MAIN-MCASP0-DEFAULT 引脚{

               pinctrl-single、pins =<

                       AM62X_IOPAD (0x1a4、PIN_INPUT、0)/*(B20) McASP0_ACLKx.McASP0_ACLKX */

                       AM62X_IOPAD (0x1a8、PIN_INPUT、0)/*(D20) McASP0_AFSX.MCASP0_AFSX */

                       AM62X_IOPAD (0x1a0、PIN_OUTPUT、0)/*(E18) McASP0_AXR0.McASP0_AXR0 */

               >;

       };

&McASP0{

       状态=“正常“;

       #sound-dai-cells =<0>;

 

       pinctrl-names =“default";“;

       pinctrl-0 =<&MAIN_McASP0_pins_default>;

 

       OP-MODE =<0>;         /* MCASP_IIS_MODE */

       TDM 时隙=<2>;

 

       serial-dir =< /* 0:不活动、1:TX、2:Rx */

             1 0 0 0

             0 0 0 0

             0 0 0 0

             0 0 0 0

       >;

       tx-num-evt =<0>;

       rx-num-evt =<0>;

};

&MAIN_i2c0{

       状态=“正常“;

       时钟频率=<10000>;

       /*将 rt5628 用于音频*/

       音频:音频编解码器@18{

               #sound-dai-cells =<0>;

               Compatible =“Realtek、rt5628“;

               reg =<0x18>;

       };

};

 

【我们拥有的内核日志】

[   1.548344]已探测 RT5628 音频编解码器

[   1.895897] ALSA 设备列表:

[   1.898894]  #0:am62xx-G04

 

【原理图】

[PINMUX]

B20

McASP0_ACLKX

音频

音频输出、音频 DAC ALC5629

D20

McASP0_AFSX

音频

E18

McASP0_AXR0

音频

谢谢

Daniel

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

    尊敬的 Daniel:

    运行 aplay alsa 命令时看到什么错误?

    此致、

    Suren

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

    您好、 Suren

    avplay -Dplughw:0、0 file_example_WAV_2MG.wav

    播放波形“file_Example_WAV_2mg.wav:有符号 16 位小端字节序、速率 44100 Hz、立体声

    ALSA 库 pcm_params.c:2235:(snd1_pcm_hw_finje_slave) 从 PCM 不可用

    aplay:set_params:1358:此 PCM 的配置已中断:没有可用的配置

    谢谢

    Daniel

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

    尊敬的 Daniel:

    请与您的更改共享整个 DTS 文件。  

    播放 48kHz 文件对当前更改是否正常工作?

    您也可以共享 k3conf 转储时钟| grep -i McASP0 的输出

    此致、

    Suren  

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

    您好、 Suren  

    如何“k3conf 转储时钟的输出| grep -i McASP0“

    【器件树】

           codec_audio:声音{

                   compatible =“simple-audio-card";“;

                   simple-audio-card、name =“am62xx-G04";</s>“

                   简单音频卡、小工具=

                          “耳机“、“耳机插孔“、

                           “LINE",“,"LINE、"LINE OUT"“ OUT",“,</s>、

                           “麦克风“、“麦克风插孔“、

                           “线路“、“线路输入“;

                   简单音频卡、路由=

                           “耳机插孔“、 “HPL 多路复用器输出“、

                           “耳机插孔“、 “HPR 多路复用器输出“;

                   简单音频卡、format =“I2S_";“;/* I2S */

                   简单音频卡、位时钟主控=<&CPU_MASTER>;

                   simple-audio-card、frame-master =<&CPU_master>;

                   简单的音频卡,位时钟反转;

     

                   cpu_master:简单音频卡、cpu{

                           Sode-Dai =<&McASP0>;

                           系统时钟方向输出;

                   };

     

                   sound_master:简单音频卡、编解码器{

                           sound-dai =<&audio>;

                           /delete-property/ clocks;/*删除 SK-AM62B-P1 上的 tlv320_MCLK */

                   };

           };

           MAIN_MCASP0_PINS_DEFAULT:MAIN-MCASP0-DEFAULT 引脚{

                   pinctrl-single、pins =<

                           AM62X_IOPAD (0x1a4、PIN_INPUT、0)/*(B20) McASP0_ACLKx.McASP0_ACLKX */

                           AM62X_IOPAD (0x1a8、PIN_INPUT、0)/*(D20) McASP0_AFSX.MCASP0_AFSX */

                           AM62X_IOPAD (0x1a0、PIN_OUTPUT、0)/*(E18) McASP0_AXR0.McASP0_AXR0 */

                   >;

           };

    &McASP0{

           状态=“正常“;

           #sound-dai-cells =<0>;

     

           pinctrl-names =“default";“;

           pinctrl-0 =<&MAIN_McASP0_pins_default>;

     

           OP-MODE =<0>;         /* MCASP_IIS_MODE */

           TDM 时隙=<2>;

     

           serial-dir =< /* 0:不活动、1:TX、2:Rx */

                 1 0 0 0

                 0 0 0 0

                 0 0 0 0

                 0 0 0 0

           >;

           tx-num-evt =<0>;

           rx-num-evt =<0>;

    };

    &MAIN_i2c0{

           状态=“正常“;

           时钟频率=<10000>;

           /*将 rt5628 用于音频*/

           音频:音频编解码器@18{

                   #sound-dai-cells =<0>;

                   Compatible =“Realtek、rt5628“;

                   reg =<0x18>;

           };

    };

    谢谢

    Daniel

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

    Daniel、

    如果使用 MCASP 作为主器件、则在器件树中、PIN 配置应更改为 PIN_OUPUT、而不是 PIN_INPUT。

    此致、

    Suren

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

    您好、Suren

    是否意味着所有三个引脚都设置为 PIN_OUTPUT?

    变化也是一样的误差

           MAIN_MCASP0_PINS_DEFAULT:MAIN-MCASP0-DEFAULT 引脚{

                   pinctrl-single、pins =<

                           AM62X_IOPAD (0x1a4、PIN_OUTPUT、0)/*(B20) McASP0_ACLKx.McASP0_ACLKX */

                           AM62X_IOPAD (0x1a8、PIN_OUTPUT、0)/*(D20) McASP0_AFSX.MCASP0_AFSX */

                           AM62X_IOPAD (0x1a0、PIN_OUTPUT、0)/*(E18) McASP0_AXR0.McASP0_AXR0 */

                   >;

           };

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

    您好、 Suren

    您能提供一些建议吗?

    谢谢

    Daniel

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

    尊敬的 Daniel:

    请共享 aplay -l 命令的输出?

    您是否能够注册声卡? 此外,您是否能够探测 BCLK/WCLK?

    此致、

    Suren

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

    您好、 Suren

    您是否能够探测 BCLK/WCLK?  <=如何执行此操作?

    谢谢

    Daniel

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

    尊敬的 Daniel:

    我看到您可以通过更改注册您的声卡。  

    BCLK 和 WCLK 指向已连接到编解码器的 MCASP ACLKX 和 FSX 引脚。 您需要在逻辑分析仪/示波器上探测这些引脚、看看是否看到时钟

    您是否也在使用 tisdk-default-image(因为您在终端上看不到 k3conf)?  

    此致、

    Suren

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

    您好、Suren

    BCLK 和 WCLK 指向已连接到编解码器的 MCASP ACLKX 和 FSX 引脚。 您需要在逻辑分析仪/示波器上探测这些引脚、看看是否看到时钟

    =>  ACLKX 上没有时钟   

    您是否也在使用 tisdk-default-image(因为您在终端上看不到 k3conf)?  

    =>我们正在使用 TI 的内置函数

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03_Buildroot/exports/docs/buildroot/Building_Buildroot_Image.html

    此致、

    Scott

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

    您好、 Suren

    您能提供一些建议吗?

    谢谢

    Daniel

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

    您好、 Suren

    我们尝试在设备树中添加 McASP_MCLK、并且 avplay cmd 看起来像正在播放 wav 文件、但仍然没有声音。

     MCASP0_ACLKX 上的逻辑分析仪/示波器显示 12MHz。

    McASP_MCLK:McASP-MCLK{
    #clock-cells =<0>;
    兼容=“固定时钟“;
    时钟频率=<12288000>;
    };
    codec_audio:声音{
    compatible =“simple-audio-card";“;
    simple-audio-card、name =“am62xx-G04";</s>“
    简单音频卡、小工具=
    “耳机“、“耳机插孔“、
    “LINE",“,"LINE、"LINE OUT"“ OUT",“,</s>、
    “麦克风“、“麦克风插孔“、
    “线路“、“线路输入“;
    简单音频卡、路由=
    “耳机插孔“、“HPL 多路复用器输出“、
    “耳机插孔“、“HPR 多路复用器输出“;
    简单音频卡、format =“I2S_";“;/* I2S */
    简单音频卡、位时钟主控=<&CPU_MASTER>;
    simple-audio-card、frame-master =<&CPU_master>;
    简单的音频卡,位时钟反转;

    cpu_master:简单音频卡、cpu{
    Sode-Dai =<&McASP0>;
    时钟=<&McASP_MCLK>;
    系统时钟方向输出;
    };

    sound_master:简单音频卡、编解码器{
    sound-dai =<&audio>;
    /delete-property/ clocks;/*删除 SK-AM62B-P1 上的 tlv320_MCLK */
    };
    };

    此致

    Scott

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

    您好、Scott:

    如果您在 ACLKX 上看到 12MHz、您是否还可以探测 McASP0 的 FSX 和 AXR0。  

    在您进行探测时、请分享其中每一项的屏幕截图。

    此外、您是否可以使用默认的 TISDK 来构建而不是内置、并拥有 k3conf 实用程序。

    此致、

    Suren

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

    您好、Suren

    这里是使用 prebuild img 的 k3conf 转储。  

     电流以及逻辑分析仪/示波器 的电压

    此致、

    Scott

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

    您好、Scott:  

    在 Linux 中、RT5628 的编解码器驱动程序在哪里? 您是否启用了它?

    此致、

    Suren

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

    您好、Suren

    我们将 config_snd_SOC_RT5628 添加到 Linux 内部版本中、包括 linux-11.01.05/sound/sound/sdecs/rt5628.c soc 和 rt5628.h

    此致、

    Scott

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

    您好、Scott:

    我在上游 Linux 内核中没有看到此驱动程序? 您确定拥有合适的驱动程序吗?

    此致、

    Suren

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

    您好、 Suren

    我们自己来添加它。 我们可以检查什么内容吗?

    此致、

    Scott

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

    如何验证您添加的编解码器是否正常工作?

    此致、

    Suren

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

    您好、 Suren

    编解码器来自 供应商。

    此致、

    Scott

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

    Scott、

    我想知道如何独立验证编解码器是否正常工作? 供应商是否能够在这里通过播放声音/捕获声音来帮助您单独测试编解码器。

    如果您能够验证编解码器是否正常运行、我将能够帮助您发布该消息。 您能否从编解码器中回放数据输入到数据、看看您是否能够播放任何声音。

    此致、

    Suren