Need Help Using the adau1761 SigmaDSP in Linux-based Embedded System
Good afternoon.
I'm working with an ADAU1761 in a Linux-based embedded system. I have the codec working with the Linux OS, have generated DSP firmware with SigmaStudio, compiled it into a Linux firmware file and it appears to be loading properly.
I am not getting any audio through the DSP. The codec works properly otherwise.
Is there any documentation available on how to interact with the DSP firmware using Linux? I have scoured the site and come up empty, and the driver source code isn't providing many clues either.
The DSP Enable register (40F5) is getting set to 1, but the DSP Run register (40F6) is not getting set, and I cannot figure out why.
Any help would be greatly appreciated.
Jim Reese
FlexRadio Systems
Audio Signal Processors
SigmaDSP Audio Processors
adau1761
linux
SigmaDSP
Hi Jim,
I apologize for the delay in our response.
Are you able to get audio through the DSP when you are controlling the ADAU1761 directly from SigmaStudio?
If you would like to send along your SigmaStudio project, we will be happy to take a look. If you are not comfortable posting your project in a public discussion, we can start a private one.
Best regards,
Coleman
Hello Coleman.
Since my first message, I have found the issue with getting audio through the SigmaDSP, and that part is working properly. What I am unsure about is how to manipulate the registers which control the components inside the DSP firmware through the Linux driver.
I'm assuming I will need to write these controls into the Linux driver, and there is not a set of generic register controls within the Linux driver code. Am I correct about this?
Jim
I'm not really familiar with the Linux driver, so I'm not sure how much help this will be, but I'd like to provide a link to a tutorial showing how to export the parameter and register settings from your SigmaStudio project. It was created with microcontroller porting in mind, but it might be helpful for you.
More information on the ADAU1761 Linux driver can also be found here: https://wiki.analog.com/resources/tools-software/linux-drivers/sound/adau1361
Hi,
If the DSP running bit is not set this usually means there is no active path from either the audio inputs to the AIF nor from the AIF to the speaker. Have you configured the ALSA controls so that there is can be an active path? E.g. enabled mixer controls, etc?
Btw. I think it makes to move this thread to the Linux Software Drivers sub-community.
- Lars
Hi,
You need to create a kcontrol with custom put/get callbacks. In these callbacks you can then read and write firmware parameter using the codecs safeload registers.
Btw. have you seen our sigmatcp tool? It allows you to connect SigmaStudio to the codec connected to the Linux board via a TCP connections, this can be useful for debugging. Since you can for example change firmware parameters at runtime via the knobs and sliders in SigmaStudio.
Out of curiosity which controls did you add to the driver?
- Lars
Hi Lars.
I figured that part out, and have audio passing through the DSP now. I've actually added quite a few ALSA controls to the driver beyond those included in the original driver source.
What I'm trying to figure out now is how to control the registers inside the Sigma DSP firmware from Linux. I assume I will have to create kcontrols within the driver for everything in the Sigma DSP firmware we want to adjust in userspace. Can you confirm this? Do you have any examples of this using the Linux driver?
One of the other developers is working with Sigma Studio to create the firmware image, I'm doing the Linux part, so I'm not as familiar with Sigma Studio. I think I'm going to need to become more familiar...
Jim
I had not seen sigmatcp. It will be very helpful to us. Thanks!
The controls I added were for the hardware ALC, noise gate, Mic Bias switching, and controls for the mono output in "common mode" headphone mode.
You're welcome to the source if you'd like to have it.
Jim
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.