Post Go back to editing

ssm4567 驱动初始化时soft_reset写入0,出错,返回-5,其它寄存器写入默认值正常,可以正常读出

Hi ADI,

   we using ssm4567 on linux 3.10, while driver init, write soft_reset(0xff) to 0, return error code -5. other register can read write ok. what's the problem?



attach debug log
[edited by: sarvdo at 1:43 AM (GMT -5) on 10 Nov 2021]
Parents
  • Hi ADI,

       we using ssm4567 on  allwinner A40i platform(Linux 3.10).i2c(0x34) interface can detect and read register value as following,but while insmod the codec driver module which got from github.com, the Soft_reset(0xff) return -5.(issue #1)

       #2 issue, which we are using tinymix cmd, to config the control path, there is no any control path return.

      #3. how to config the control path?

Reply
  • Hi ADI,

       we using ssm4567 on  allwinner A40i platform(Linux 3.10).i2c(0x34) interface can detect and read register value as following,but while insmod the codec driver module which got from github.com, the Soft_reset(0xff) return -5.(issue #1)

       #2 issue, which we are using tinymix cmd, to config the control path, there is no any control path return.

      #3. how to config the control path?

Children
  • Hello sarvdo,

    I moved this over to the Linux part of the forum. I think they can help more than I can. The address you are writing to is 0xFF, that is not the address of the Soft Reset register so the driver must be translating to the correct address? 0xF890 is the correct address. I am not certain why it would return a -5. When you engage the soft reset the DSP will need to be reprogrammed. I am not sure if you are using Selfboot or not. 

    You mentioned the control path. This part has no standard or default signal path. You have to program the DSP using SigmaStudio and then the control objects will have addresses that have to be defined in any control programs. I think the Linux driver is only for the registers. This is why I moved this over to this forum so someone who is more knowledgeable of the Linux drivers. 

    We do have this tutorial for microcontroller interfacing which might be helpful for you. 

    Interfacing SigmaDSP Processors with a Microcontroller [Analog Devices Wiki]

    Dave T

  • Hi ADI:

       Thanks a lot for help reply for the audio issue. 

        Now we has another audio issue:

    there is no sound(speaker is silent) from speaker when aplay it, but play the same fie with other codec chip & play it on PC is ok. some *.wav file the volume is very low. the other *.wav file is OK

    mount -t debugfs none /sys/kernel/debug/
    echo -n "file soc-core.c +p" >/sys/kernel/debug/dynamic_debug/control

    insmod /lib/modules/3.10.65/snd-soc-ssm4567.ko
    insmod /lib/modules/3.10.65/snd-soc-ssm4567-i2c.ko

    tinymix  -D 1 3 1
    tinymix  -D 1 4 1
    tinymix  -D 1 8 hub_enable

    aplay  /mnt/ring03.wav -f S16_LE -Dplughw:1,0 -r 44100   //is silent.
    aplay  /mnt/notify.wav -f S16_LE -Dplughw:1,0 -r 44100    //is ok
    aplay  /mnt/music.wav  -f S32_LE -Dplughw:1,0 -r 44100  //volume very low.

    How to debug these issues?

  • Dear DaveThib,

    Could you help to look at this ?

    Thanks a lot for your continuously support.

  • Dear Robert,

    This question is a duplicate of the topic posted here: there-is-no-sound-speaker-is-silent-from-speaker-when-aplay-it-but-play-the-same-fie-with-other-codec-chip-play-it-on-pc-is-ok-some-wav-file-the-volume-is-very-low-the-other-wav-file-is-ok

    It was answered there and this topic is marked as "Answered" by the creator so please let's leave this closed and continue on the other topic.

    Thank you

  • Hi the first  attach wav file is "ring03.wav" 9seconds which so voice issue.

    the second 1 seconds file is "notify" which is ok wav file.

  • Hello hirobert, 

    It does look like the discussion is continuing on the new thread. 

    Dave T