[PATCH 0/5] ASoC: support the ASUS ROG Xbox Ally X20 audio

From: Matthew Schwartz

Date: Fri Oct 16 2026 - 19:25:06 EST


The ASUS ROG Xbox Ally X20 (RC74XA) moves from the HDA codec and TAS2781
amps of the earlier ROG Ally models to SoundWire on ACP 7.0, with two
TAS2783 amps on link 0 and an RT721 on link 1. Its BIOS marks the ACP as
legacy DMIC only, no machine table entry matches the link layout, and
its TAS2783 firmware in linux-firmware uses the four-field name that
carries the BIOS speaker ID, so the speakers do not work today.

Patches 1 to 3 cover that: the ACP config override so the SoundWire
links are probed, the machine entry, and the speaker ID firmware name.
Patch 4 stops sdw_utils from creating the TAS2783 amp feedback capture
link when the BIOS declares an empty source port list, which otherwise
fails on every open. It touches the shared helper and the AMD and Intel
SoundWire machine drivers, but I was only able to test on AMD. Patch 5
makes rt721-sdca wait for its power domains to reach PS0, which removes
a burst of full scale samples at the start of headset mic capture.

Tested on an RC74XA with speaker playback on both amps, headphones, jack
detection, both microphones and suspend.

Matthew Schwartz (5):
ASoC: amd: acp-config: force SoundWire probe on ASUS RC74XA
ASoC: amd: acp: add ACP70 SoundWire machine entry for ASUS RC74XA
ASoC: tas2783-sdw: use the BIOS speaker ID in the firmware name
ASoC: sdw_utils: honor empty DisCo port lists when creating DAI links
ASoC: rt721-sdca: wait for PDEs to reach PS0 after powering them up

include/sound/soc_sdw_utils.h | 1 +
sound/soc/amd/acp-config.c | 7 ++++
sound/soc/amd/acp/acp-sdw-legacy-mach.c | 2 +-
sound/soc/amd/acp/acp-sdw-sof-mach.c | 2 +-
sound/soc/amd/acp/amd-acp70-acpi-match.c | 44 ++++++++++++++++++++++++
sound/soc/codecs/Kconfig | 1 +
sound/soc/codecs/rt721-sdca-sdw.c | 17 +++++++++
sound/soc/codecs/rt721-sdca.c | 33 ++++++++++++++++++
sound/soc/codecs/rt721-sdca.h | 1 +
sound/soc/codecs/tas2783-sdw.c | 42 ++++++++++++++++++++--
sound/soc/intel/boards/sof_sdw.c | 2 +-
sound/soc/sdw_utils/soc_sdw_utils.c | 36 +++++++++++++++++--
12 files changed, 179 insertions(+), 9 deletions(-)


base-commit: 2450a9bcd3423612f614ea15ff44966fed189191
--
2.56.0