[PATCH v3 0/7] ASoC: codecs: aw88261: fixes and cleanup

From: Val Packett

Date: Fri May 29 2026 - 16:26:30 EST


The Awinic smart speaker/amp drivers were merged in a very
"downstream-brained" state, where configuration was only really
determined by the binary "firmware" (register list) file instead
of properly participating in the ASoC system. Let's start
untangling this mess. This series makes aw88261 actually usable
on devices like fairphone-fp5, motorola-dubai and xiaomi-pipa.

v3:
- Set default volume to the halfway point
- Restored mute-until-powered-on behavior
- Made TDM slot_width override the hw_params physical_width
- Made set_tdm_slot(0) reset channel mapping to I2S default (L/R == 0/1)
- Pulled T-b tag

v2: https://lore.kernel.org/all/20260518220906.347958-1-val@xxxxxxxxxxxx/
v1: https://lore.kernel.org/all/20260420213250.215465-2-val@xxxxxxxxxxxx/

Val Packett (7):
ASoC: codecs: aw88261: support changing sample rate and bit width
ASoC: codecs: aw88261: add TDM support
ASoC: codecs: aw88261: reduce log spam
ASoC: codecs: aw88261: remove fade in/out on start/stop
ASoC: codecs: aw88261: remove async start
ASoC: codecs: aw88261: fix incorrect masks for boost regs
ASoC: codecs: aw88261: make volume control usable

sound/soc/codecs/aw88261.c | 627 ++++++++++++++++++++-----------------
sound/soc/codecs/aw88261.h | 185 ++++++++++-
2 files changed, 516 insertions(+), 296 deletions(-)

--
2.53.0