Ics43432 microphone driver

When working with the ics43432 microphone and embedded devices running Linux Embedded (Yocto) solutions, are there any available drivers for the Linux platform for this microphone that would provide the volume (boost) recording controls?
Or are the only available options to rely on Alsa plugins for softvol and software emulated volume controls?

Dear @ebrodlic, how are you?

First, I’d like to confirm which module are you using. We don’t have any Verdin iMX6 Module as you tagged here. Is this a Verdin?

Second, about your question you should probably ensure that your image in Yocto is being compiled with the proper driver for your device. It’s available on the main Linux Github so I think you may not experience much trouble to add this to your image: linux/ics43432.c at master · torvalds/linux · GitHub. I’ve also checked and you can find it on a normal Menuconfig. Therefore, you should probably add it to your defconfig file if it’s not there already.

To control the audio, our default images already come with alsamixer but if you want, you can also add the pulseaudio packages. In this article, we discuss a bit how to deal with audio on Linux: Audio (Linux) | Toradex Developer Center. Maybe you can find interesting hints from it.

Best regards,
Guilherme

Hello @gclaudino.tx ,

Apologies for the iMX6 tag, must have accidentally selected that one, we are using: Verdin imx8mm.
Yes, I can see the devicetree reference the ics43432 card and codec, and the microphone does work.

Was mainly curious when working with alsamixer, this seems to be the only sound device that does not have a boost control by default. And by the looks of it, the only way to have one is to define softvol control ourselves.
Any chance this is a limitation of the device or driver?

Hi @ebrodlic

Thanks for the clarification! I’ve updated the tag to show the right module.

Looking at the page you sent about softvol, it states that “This is often necessary if the sound card can’t control the volume by hardware.” Therefore, I suppose it’s linked to the device you’re using and/or its driver. I’ll see how can we make the existence of softvol available on our documentation.

Is there something else that I could help you with? If no, could you please tag the post as solved?

Best regards,
Guilherme

Thanks for the reply, marked as solved.

1 Like