[PATCH 0/4] ASoC: Add support for GPIOs driven amplifiers

Herve Codina
2026-03-30T10:16:21Z

On some embedded system boards, audio amplifiers are designed using
discrete components such as op-amp, several resistors and switches to
either adjust the gain (switching resistors) or fully switch the
audio signal path (mute and/or bypass features).

Those switches are usually driven by simple GPIOs.

This kind of amplifiers are not handled in ASoC and the fallback is to
let the user-space handle those GPIOs out of the ALSA world.

In order to have those kind of amplifiers fully integrated in the audio
stack, this series introduces the audio-gpio-amp to handle them.

This new ASoC component allows to have the amplifiers seen as ASoC
auxiliarty devices and so it allows to control them through audio mixer
controls.

Best regards,
Hervé

Herve Codina (4):
of: Introduce of_property_read_s32_index()
ASoC: dt-bindings: Add support for the GPIOs driven amplifier
ASoC: codecs: Add support for the GPIOs driven amplifier
MAINTAINERS: Add the ASoC gpio amplifier entry

.../bindings/sound/audio-gpio-amp.yaml | 309 +++++++
MAINTAINERS | 7 +
include/linux/of.h | 7 +
sound/soc/codecs/Kconfig | 12 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/audio-gpio-amp.c | 765 ++++++++++++++++++
6 files changed, 1102 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/audio-gpio-amp.yaml
create mode 100644 sound/soc/codecs/audio-gpio-amp.c

--
2.53.0