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/[email protected]/ v1: https://lore.kernel.org/all/[email protected]/ 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

