ASoC: Serving gpio_desc in codec driver with I2C GPIO expander?

Pavel Hofman pavel.hofman at ivitera.com
Tue Apr 27 12:06:34 CEST 2021


Hi,

Please is there any reasonable way to use an existing codec driver
controlled by gpio_desc (e.g.
https://elixir.bootlin.com/linux/v5.12/source/sound/soc/codecs/ak4458.c#L47
) where the actual pins are provided by outputs of an I2C GPIO expander?

I am trying to decide whether to base my setup (ADC + DAC + clock
generator + I2S DAI, all controlled via I2C + pins via I2C GPIO
expander) purely on ASoC, or whether to keep the ASoC driver minimal
(like asoc-simple-card) and do all the I2C settings in userspace as part
of the software which writes/reads audio data. It seems the ASoC path is
way more complicated as it involves multiple layers of abstractions
prone to errors from my side.

Thank you very much for your opinion and suggestions.

Best regards,

Pavel.


More information about the Alsa-devel mailing list