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.

[参考译文] TLV320DAC3100:尝试播放声音、从编解码器&quot 获得;无法同步寄存器0x1b-0x1b。 -6"

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1281607/tlv320dac3100-trying-to-play-sound-got-from-codec-unable-to-sync-registers-0x1b-0x1b--6

器件型号:TLV320DAC3100

您好!

我们使用 TLV320DAC3100和 NXP 的 imx8mN-DDR4芯片一起播放声音。

ALSA 检测到声卡。

但我收到以下警告:

# dmesg | grep -i tlv
...
[19647.08h.39m.34s.087] [    4.622645] tlv320aic31xx-codec 3-0018: 3-0018 supply HPVDD not found, using dummy regulator
[19647.08h.39m.34s.130] [    4.631175] tlv320aic31xx-codec 3-0018: 3-0018 supply SPRVDD not found, using dummy regulator
[19647.08h.39m.34s.130] [    4.639783] tlv320aic31xx-codec 3-0018: 3-0018 supply SPLVDD not found, using dummy regulator
[19647.08h.39m.34s.130] [    4.648361] tlv320aic31xx-codec 3-0018: 3-0018 supply AVDD not found, using dummy regulator
[19647.08h.39m.34s.130] [    4.656763] tlv320aic31xx-codec 3-0018: 3-0018 supply IOVDD not found, using dummy regulator
[19647.08h.39m.34s.130] [    4.665260] tlv320aic31xx-codec 3-0018: 3-0018 supply DVDD not found, using dummy regulator
[19647.08h.39m.34s.180] [    5.152043] asoc-simple-card sound-tlv320dac31: tlv320dac31xx-hifi <-> 30030000.sai mapping ok
[19647.08h.39m.34s.180] [    5.160681] asoc-simple-card sound-tlv320dac31: ASoC: no DMI vendor name!
[19647.08h.39m.34s.180] [    5.170311] tlv320aic31xx-codec 3-0018: Unable to sync registers 0x1b-0x1b. -6
[19647.08h.39m.34s.180] [    5.182315] tlv320aic31xx-codec 3-0018: Failed to restore cache: -6

[19647.08h.39m.16s.622] root@imx8mnddr4evk:~# dmesg | grep -i sai
[19647.08h.39m.28s.269] [    5.134587] debugfs: Directory '30030000.sai' with parent 'Audio Output' already present!
[19647.08h.39m.28s.295] [    5.152043] asoc-simple-card sound-tlv320dac31: tlv320dac31xx-hifi <-> 30030000.sai mapping ok


这是的输出。 aplay -L:

[19647.08h.29m.35s.440] null
[19647.08h.29m.35s.440]     Discard all samples (playback) or generate zero samples (capture)
[19647.08h.29m.35s.440] sysdefault:CARD=Output
[19647.08h.29m.35s.440]     Audio Output,
[19647.08h.29m.35s.440]     Default Audio Device

以下是 DTS 文件中的相关段:

...
sound-tlv320dac31
兼容="简单音频卡"
simple-audio-card、name ="音频输出"
simple-audio 卡、格式="I2S"
simple-audio-card、bitclock-master =<&sound_codec>
simple-audio-card、frame-master =<&sound_codec>
simple-audio-card、widget ="耳机"、"耳机插孔"
简单音频卡、路由=
"耳机插孔""HPL"、
"耳机插孔""HPR"

简单音频卡、CPU
sound-Dai =<&sa3>
};

sound_codec:简单音频卡,编解码器{
sound-Dai =<&tlv320aic31xx>
system-clock-frequency =<12000000>/*这匹配 said 3 */
};
};
i2c4 (&I)
时钟频率=<400000>
pinctrl-names ="默认""GPIO"
pinctrl-0 =<&pinctrL_i2c4>
pinctrl-1 =<&pinctrL_i2c4_GPIO>
SCL-GPIO =<&GPIO5 20 GPIO_ACTIVE_HIGH>
SDA-GPIO =<&GPIO5 21 GPIO_ACTIVE_HIGH>
状态="可以"

tlv320aic31xxtlv320aic31xx@18 {
#sound-Da-cells =<0>;
兼容="ti, tlv320dac3100";
寄存器=<0x18>

RESET-GPIO =<&GPIO4 29 GPIO_ACTIVE_LOW>
};
};
pinctrl_i2c4:i2c4grp
FSL、Pins =<
MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
>;
};
pinctrl_i2c4_GPIOi2c4grp-gpo
FSL、Pins =<
MX8MN_IOMUXC_I2C4_SCL_GPIO5_IO20 0x1c3
MX8MN_IOMUXC_I2C4_SDA_GPIO5_IO21 0x1c3
>;
};
pinctrl_sai3:sai3grp
FSL、Pins =<
MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6
MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
>;
};
说3 (&S)
#sound-Da-cells =<0>;
pinctrl-names ="默认"
pinctrl-0 =<&pinctrl_sai3>
分配的时钟=<&clk IMX8MN_CLK_SAI3>
分配的时钟父级=<&clk IMX8MN_AUDIO_PLL1_OUT>
指定的时钟速率=<12000000>
时钟=<&clk IMX8MN_CLK_SAI3_IPG>、<&clk IMX8MN_CLK_DULE>
<&clk IMX8MN_CLK_SAI3_ROOT>、<&clk IMX8MN_CLK_DUEME>
<&clk IMX8MN_CLK_DUEME>、<&clk IMX8MN_AUDIO_PLL1_OUT>
< clk IMX8MN_AUDIO_PLL2_OUT>
时钟名称="总线""mclk0""mclk1"、"mclk2"、"mclk3"、 "pll8k"、"pll11k"
FSL、SAI-异 步;
状态="可以"
};


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

    您好、Ophir、

    您能否告诉我您当前使用的是哪种驱动程序代码、因为我在 TI.com 的代码中找不到该日志消息、  

    有关 DTS、请以这种注意事项 为示例、网址为 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt。

    您也可以执行相同操作。

    谢谢

    凯文

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

    好的、我们修复了硬件中的一些问题、现在我没有收到我之前提到的错误("无法同步寄存器")。

    [19653.09h.03m.44s.640] root@imx8mnddr4evk:~# dmesg | grep -i tlv
    [19653.09h.03m.50s.285] [    4.977660] asoc-simple-card sound-tlv320dac31: tlv320dac31xx-hifi <-> 30030000.sai mapping ok
    [19653.09h.03m.50s.285] [    4.986313] asoc-simple-card sound-tlv320dac31: ASoC: no DMI vendor name!


    但是、使用 aplay 时不会播放声音。

    有什么建议吗?

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

    您好、Ophir、

    您可以向我们分享以下三项重要信息:

    1.输入 aplay 后可以看到什么打印日志?  

    2.进入 aplay 后 page0和 page1的寄存器转储、使用 i2cdump 命令来捕获强化函数、  

    3. I2S 时钟的细节,采样率, BCLK?

     

    谢谢

    凯文