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.

[参考译文] TLV320AIC3104:关于 DMA 控制

Guru**** 2538960 points
Other Parts Discussed in Thread: TLV320AIC3104

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1030421/tlv320aic3104-about-dma-control

器件型号:TLV320AIC3104

现在我在  imx8mm 中使用 TLV320AIC3104,因为 imx8mm 的 DMA 不是操作的,当我使用 aplay commond 时,日志会关闭

root@imx8qxpmek:~# aplay --device default:card=imx8mevkcodec Front_Right.wav
播放波'Front_right.wav':[7169.215073] tlv320aic3x-codec 1-001b:无法同步寄存器0x3-0x3。 -6.
有符号16位小端序、速率48000Hz、单声道
[7169.27833] IMX-sdma 302c0000.dma-controller:sdma 固件未就绪!
aplay:PCM_WRITE:2061:WRITE error:Cannot allocate memory (A 播放:PCM_WRITE:2061:写入错误

那么、我想问 TLV320AIC3104是否需要 DMA 控制?

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

    您好、Zhang、

    不清楚问题是什么、 TLV320AIC3104 本身与 DMA 控制器无关。 这似乎与驱动程序有关、您是否有关于使用的驱动程序的信息、它是否是 TI 驱动程序?

    Brian

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

    您好 Brian

    我已经解决了这个问题,打开了 DMA 控制器。内核版本是4.14.98,用于 NXP imx8mm 板,

    现在我有一个新问题,

    当我使用 aplay 显示 vocie 时,似乎同步时钟有问题。MCLK 输出正常,但它没有同步时钟(BCLK)的输出,消息 是:

    root@imx8mevk:~# aplay Front_Right.wav
    播放波'Front_right.wav':[501.493379] tlv320aic3xx[1067] params_rate (params)= 48000
    有符号16位小端字节序、比率[501.500959] tlv320aic3xx[1069] fsref= 48000
    48000Hz、单声道
    [501.508073] tlv320aic3xx[1072] aic3x->SYSCLK=24576000
    [501.514668] tlv320aic3xx[1079] pll_q=4
    [501.518531] tlv320aic3xx[1080/BYPASS_PLL=1
    [501.523535] tlv320aic3x-codec 1-001b:无法同步寄存器0x3-0x3。 -6.

    请告诉我如何解决此问题吗?

    设备树中的声音节点是  

    sound-tlv320aic3x {
            兼容 =" 简单音频卡"
            simple-audio-card、name = "imx8mm-evk-codec"
            simple-audio-card、format = "I2S"
            simple-audio-card、bitclock-master = <&dailink0_master>
            simple-audio-card、frame-master = <&dailink0_master>
            // 简单音频卡,小工具 =
            //  "扬声器"、 "外部 扬声器";
            // simple-audio-card,路由 =
            //  "MIC_IN"、 "麦克风 插孔"、
            //  "外部 扬声器"、 "line_out";
            简单音频卡、CPU {
                ??Sound-Dai = <?Sa义3>;             
            };
            dailink0_master: simple-audio-card、codec {
                sound-dai = <&tlv320aic3x>
                //Clocks = <12000000>;
                //Clocks = <&tlv320aic3104_clock>;
                时钟 = <&clk  IMX8MM_CLK_SAI3>
            };
        };
    Saa3 {(&S)
        pinctrl-names = "default"
        #sound-di-cells = <0>
        pinctrl-0 = <&pinctrl_sa3>
        分配的时钟 = <&clk  IMX8MM_CLK_SAI3>
        分配的时钟父级 = <&clk  IMX8MM_AUDIO_PLL1_OUT>
        分配的时钟速率 = <24576000>
        状态 = "正常"
    };
    i2c2 {(&I)
        时钟频率 = <100000 >;
        pinctrl-names = "default"
        pinctrl-0 = <&pinctrl_i2c2>
        状态 = "正常"

        tlv320aic3x: tlv320aic3x@1b {
            兼容 = "ti、tlv320aic3104"
            #sound-di-cells = <0>
            reg = <0x1b>
            RESET-GPIO = <&GPIO4  28  GPIO_ACTIVE_HIGH_>
            状态 = "正常"
        };
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前、我们无法支持与驱动程序相关的查询