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.

AM335x 音频请大家帮帮忙?

Other Parts Discussed in Thread: TLV320AIC3106, AM3358

  大家好!

      am335x  用的是3104的芯片,i2c,i2s,都配置好了,但是不能播放,下面是启动信息。(音频板块人太少,所以就发在这个板块了,请谅解!)

ALSA: Restoring mixer settings...                                               
No state is present for card EVM                 请问这个是啥问题,                              
Found hardware: "AM335X_EVM" "" "" "" ""                                        
Hardware is initialized using a generic method                                  
No state is present for card EVM                                                
Configuring network interfaces... [   10.216857] net eth0: CPSW phy found : id 1
udhcpc (v1.20.2) started                                  

  • 我们的demo板上是TLV320AIC3106,应该和3104类似,Linux上有完整的驱动,不知道您有没有参考过

  • 你好!

        参考过了,都配置好了但播放音乐出错

    那个播放音乐崩溃的问题已经解决了,现在又遇到了新的问题,log在下面,请大家帮帮忙,看看额,新人一枚。 root@am335x-evm:/test# aplay -v 123.wav
    Playing WAVE '123.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    Plug PCM: Hardware PCM card 0 'AM335X EVM' device 0 subdevice 0
    Its setup is:
      stream       : PLAYBACK
      access       : RW_INTERLEAVED
      format       : S16_LE
      subformat    : STD
      channels     : 2
      rate         : 44100
      exact rate   : 44100 (44100/1)
      msbits       : 16
      buffer_size  : 32768
      period_size  : 2048
      period_time  : 46439
      tstamp_mode  : NONE
      period_step  : 1
      avail_min    : 2048
      period_event : 0
      start_threshold  : 32768
      stop_threshold   : 32768
      silence_threshold: 0
      silence_size : 0
      boundary     : 1073741824
      appl_ptr     : 0
      hw_ptr       : 0
    [ 2454.069274] playback write error (DMA or IRQ trouble?)
    aplay: pcm_write:1710: write error: Input/output error
    root@am335x-evm:/test#

  • 请问你有修改过底层驱动么?感觉MCASP的驱动有问题啊

  • 你好!

         就是这个的问题,数据传输不行,不知道那有问题。

  • 您好:我也遇到了一个问题,可是音频那边都没有人解答,log如下,请帮我看下阿

    root@am335x-evm:/test# aplay 123.wav
    Playing WAVE '123.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    [   79.918731] playback write error (DMA or IRQ trouble?)
    aplay: pcm_write:1710: write error: Input/output error

  • 您好:

       我感觉MCASP这边的驱动应该没有问题,我们现在芯片晶振不起振,会是这个原因造成的吗?

    [    1.628143] +++++++++++++++zhouqun aic3x_i2c_probe
    [    1.633270] control_type = SND_SOC_I2C
    [    1.637329] ++++++snd_soc_register_codec:0
    [    1.641754] +++++++++++++++zhouqun aic3x_i2c_probe
    [    1.646820] control_type = SND_SOC_I2C
    [    1.650848] ++++++snd_soc_register_codec:0
    [    1.656677] ++++zhouqun am335x_evm?
    [    1.661071] ++++++++++soc_bind_dai_link
    [    1.665130] ++++++++zhouqun:binding TLV320AIC3X at idx 0
    [    1.671020] +++++++++++++++ aic3x_probe
    [    1.676788] ++++++++++++++aic3x_probe FINISHED
    [    1.684295] +++++zhouqun:evm_aic3x_init
    [    1.689910] asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
    [    1.702545] ALSA device list:
    [    1.705718]   #0: AM335X EVM

  • 目前我们 复用为mcasp0_ahclkx ,不过我们实际测试 并没有 发现输出时钟。请问是不是还需要设置别的关键寄存器么?

    NA

    A14

    MCASP0_AHCLKX

    mcasp0_ahclkx

    0

    I/O

     

     

     

    eQEP0_strobe

    1

    I/O

     

     

     

    mcasp0_axr3

    2

    I/O

     

     

     

    mcasp1_axr1

    3

    I/O

     

     

     

    EMU4

    4

    I/O

     

     

     

    pr1_pru0_pru_r30_7

    5

    O

     

     

     

    pr1_pru0_pru_r31_7

    6

    I

     

     

     

    gpio3_21

    7

    I/O

    附件是我们目前的原理图。

  • 请问您硬件部分是怎么设计的,也就是AM335x是怎么链接3104的,哪个做主,哪个做从。

  • 您好:

       硬件设计见附件,TLV3104做从设备,AM3358做主设备,这里哦们硬件设计的添加了一个M7037芯片,起echo cancellation作用,但是目前这片没有贴上去,不知道有没有影响。谢谢额。困扰我很久了。

    7037.pdf
  • 您好:  

       我在调试3104的时候,dmesg的时候出现了好多终端是怎么回事,3104这里用的I2C2。log如下:帮忙看下阿,谢谢阿

    root@am335x-evm:/test# dmesg
    dr: 0x0024, len: 1, flags: 0x1, stop: 1
    [   86.080474] omap_i2c omap_i2c.1: IRQ (ISR = 0x3000)
    [   86.080505] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)
    [   86.080566] SR 1: curr=925000, delta_v=-19540, calc=905460, act=925000, gain=14
    [   87.329101] i2c i2c-1: master_xfer[0] W, addr=0x24, len=1
    [   87.329132] i2c i2c-1: master_xfer[1] R, addr=0x24, len=1
    [   87.329223] omap_i2c omap_i2c.1: addr: 0x0024, len: 1, flags: 0x0, stop: 0
    [   87.329284] omap_i2c omap_i2c.1: IRQ (ISR = 0x4000)
    [   87.329467] omap_i2c omap_i2c.1: IRQ (ISR = 0x1004)
    [   87.329528] omap_i2c omap_i2c.1: addr: 0x0024, len: 1, flags: 0x1, stop: 1
    [   87.329742] omap_i2c omap_i2c.1: IRQ (ISR = 0x3000)
    [   87.329772] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)
    [   87.329833] i2c i2c-1: master_xfer[0] W, addr=0x24, len=1
    [   87.329864] i2c i2c-1: master_xfer[1] R, addr=0x24, len=1
    [   87.329895] omap_i2c omap_i2c.1: addr: 0x0024, len: 1, flags: 0x0, stop: 0
    [   87.329956] omap_i2c omap_i2c.1: IRQ (ISR = 0x4000)
    [   87.330139] omap_i2c omap_i2c.1: IRQ (ISR = 0x1004)
    [   87.330169] omap_i2c omap_i2c.1: addr: 0x0024, len: 1, flags: 0x1, stop: 1
    [   87.330413] omap_i2c omap_i2c.1: IRQ (ISR = 0x3000)
    [   87.330444] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)