253 Commits
Author SHA1 Message Date
Srinivas Kandagatla b4c1510fe6 Topology shikra iqs and cqs (#71)
Add AudioReach topology support for Shikra IQS and CQS EVK boards. The
new board topologies describe the validated playback and capture paths,
using MDSP as the processing domain for Shikra while leaving existing
platforms on their default ADSP domain. IQS exposes playback, DMIC
capture, and headset capture frontends, while CQS exposes the minimal
playback and capture frontends matching its available backend DAIs.

This also adds reusable Audio IF module/subgraph support for
serial-interface backends used by Shikra. The Audio IF helpers allow
board files to describe I2S/TDM style playback and capture endpoints
through board-specific interface parameters, while keeping the common
module graph reusable for other platforms.

Validation was performed for speaker playback, headset playback, DMIC
capture, and headset capture on IQS. Speaker playback and DMIC capture
were validated on CQS.
2026-09-30 14:21:14 +01:00
Mohit Sharma 076bba8a7a topology: qcom: add Shikra CQS EVK topology
Add the CQS speaker playback, headset playback, DMIC

capture, and headset capture paths.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-30 16:00:39 +05:30
Mohit Sharma a9c3fee9e6 topology: qcom: add Shikra IQS EVK topology
Add the IQS playback, DMIC capture, and headset capture

paths using Audio IF helpers and the MDSP domain override.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-30 15:59:17 +05:30
Mohit Sharma f1f253ae0f topology: audioreach: allow domain override
Let stream and device subgraphs use an optional processor

domain override while keeping ADSP as the default.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-30 15:56:12 +05:30
Mohit Sharma 681aa778b5 topology: audioreach: add Audio IF capture helper
Add a reusable Audio IF source subgraph for serial

interface capture paths.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-30 15:56:04 +05:30
Prasad Kumpatla 68f50a2e48 topology: audioreach: add Audio IF playback helper
Add a reusable Audio IF device-subgraph helper and playback
template.

The helper follows the existing backend topology pattern used for
other device endpoints, while carrying the Audio IF-specific
serial-interface configuration needed by the unified Audio IF sink
module.

This keeps board topologies focused on instance data and makes the
playback subgraph reusable across platforms.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-30 15:53:42 +05:30
Prasad Kumpatla 6a2774d624 topology: audioreach: add Audio IF module support
Add the Audio IF module definitions used by newer Qualcomm
AudioReach topologies.

Add the Audio IF sink and source module IDs, the related
interface-configuration tokens, and module macros describing the
unified serial-interface endpoint configuration.

The new definitions are generic and can be reused by board
topologies describing TDM, PCM, or I2S style Audio IF backends.

Signed-off-by: Mohit Sharma <mohis@qti.qualcomm.com>
2026-09-21 10:43:12 +05:30
Srinivas Kandagatla 993a17dcb6 glymur: Add Asus Zenbook A14 (UX3407NA) (#78)
The Asus Zenbook A14 (UX3407NA) is a Qualcomm Glymur-based laptop
featuring:

- 2 speakers
- 2 DMICs
- 3 HDMI/DP ports
- Headphone jack

Add support for speakers and DMICs for now, as work is still pending for
the others.
2026-09-18 07:38:59 +01:00
Bjorn Andersson 54304cb263 glymur: Add Asus Zenbook A14 (UX3407NA)
The Asus Zenbook A14 (UX3407NA) is a Qualcomm Glymur-based laptop
featuring:

- 2 speakers
- 2 DMICs
- 3 HDMI/DP ports
- Headphone jack

Add support for speakers and DMICs for now, as work is still pending for
the others.

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
2026-09-15 18:38:06 -05:00
Srinivas Kandagatla aab5c37c4f audioreach: x1e80100: add topology for Microsoft Surface Pro 11 (#76)
Add topology for Surface Pro 11: two WSA8845 speakers, a two-microphone
VA DMIC array and two DisplayPort/HDMI outputs via the USB-C ports.

Devicetree changes for DP/HDMI submitted here:

https://lore.kernel.org/all/20260831-surface-pro-11-dp-audio-v1-1-fb9c0d3216b7@gmail.com/
2026-09-14 12:15:11 +01:00
Srinivas Kandagatla ac1a7d5e5c eliza: Reuse SM8550 topology for Eliza CQS EVK (#73)
Add support for eliza-cqs-evk topology with reuse of SM8550.

Added support for eliza-cqs-evk topology by reusing the existing SM8550
configuration. Validated speaker playback and microphone recording
functionality on eliza-cqs-evk hardware using the generated topology
file.
2026-09-14 12:13:41 +01:00
Srinivas Kandagatla e9d612be5c ASoC: qcom: X1E80100-LENOVO-IdeaCentre-Mini: add topology (#74)
Add an AudioReach topology for the Lenovo IdeaCentre Mini 01Q8X10 (board
91B6). This is a Snapdragon X Elite mini PC, not a laptop:

  - no WSA speakers
  - no VA / built-in digital mics
  - WCD938x headset jack (playback + headset mic)
  - three DisplayPort / USB-C DP backends (DISPLAY_PORT_RX_0/1/2)

Frontend layout:

  MM1  hw:*,0   WCD RX_CODEC_DMA_RX_0   headphones
  MM3  hw:*,2   WCD TX_CODEC_DMA_TX_3   headset mic
  MM5  hw:*,4   DISPLAY_PORT_RX_0
  MM6  hw:*,5   DISPLAY_PORT_RX_1
  MM7  hw:*,6   DISPLAY_PORT_RX_2

Each DP port gets its own multimedia frontend instead of sharing MM1
with the headset. That is deliberate and differs from the T14s laptop
topology.

On a shared frontend, ALSA UCM can only expose the headset and the three
DP ports as ConflictingDevice alternatives of one PCM. PipeWire /
WirePlumber then create a single node for that PCM and switch the UCM
device underneath it. Jack plug events, default-sink selection and
concurrent playback (headset + one or more monitors) all fight that
model. Independent MM5/6/7 streams give each port its own PCM, so the
sound server can treat them as separate sinks gated only by DP0/DP1/DP2
Jack.

This follows the X1E80100-CRD pattern (dedicated MM5/MM6 for DP) and
extends it to the third port. MM2 is unused: there is no WSA playback
path to mix onto a second stream. Device subgraph instance IDs are
assigned so they do not collide with the new stream subgraphs (same
approach as commit ebbbfae, "x1e80100-crd: add dedicated multimedia for
DisplayPort").

Assisted-by: Grok 4.5 (xAI)
2026-09-14 12:12:51 +01:00
Srinivas Kandagatla 8c7a43de0b audioreach: sc8280xp: add support for Radxa Dragon Q8B (#72)
Radxa Dragon Q8B has 1x HDMI (over DP), 2x DP and Headset(Mic and
speakers) connectors.
2026-09-14 12:11:05 +01:00
Srinivas Kandagatla 5acc7a276e Merge branch 'main' into radxa-dragon-q8b
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
2026-09-14 12:10:32 +01:00
Dmitry Baryshkov d1d6d8eca3 qcom: sc8280xp: blackrock: topology for DisplayPorts only setup (#61)
- Focused on DisplayPort audio only (no analog codec paths)
- 3x DisplayPort backends (DISPLAY_PORT_RX_0/1/2) for USB-C DP alt-mode
+ miniDP
- 3x playback streams (MultiMedia1/2/3) with volume control
2026-09-13 23:37:12 +03:00
Dmitry Baryshkov fdf1f8afc7 audioreach: sc8280xp-x13s: add dedicated MultiMedia FEs for DisplayPort (#77)
Muxing DISPLAY_PORT_RX_0/1 onto MultiMedia1/2 together with the
headphone and speaker backends forces a single PCM and UCM
ConflictingDevice dance. Dedicated frontends let each DP sink run its
own playback at the same time as WSA/WCD.

Add MultiMedia5 and MultiMedia6 stream subgraphs and route
DISPLAY_PORT_RX_0 to MM5 and DISPLAY_PORT_RX_1 to MM6. Leave
RX_CODEC_DMA_RX_0 and WSA_CODEC_DMA_RX_0 on MultiMedia1/2.

This is the topology half of the X13s DisplayPort UCM work. Sharing
MultiMedia1 with the codec backends was not a good fit; see
alsa-ucm-conf#841 [1].

[1]: https://github.com/alsa-project/alsa-ucm-conf/pull/841
2026-09-13 22:13:06 +03:00
Jens Glathe 9ba247c995 sc8280xp: Add Microsoft Blackrock (Windows Dev Kit 2023) topology
- Focused on DisplayPort audio only (no analog codec paths)
- 3x DisplayPort backends (DISPLAY_PORT_RX_0/1/2) for USB-C DP alt-mode + miniDP
- 3x playback streams (MultiMedia1/2/3) with volume control

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2026-09-13 10:45:01 +02:00
Jens Glathe 48c53a0d9f audioreach: sc8280xp-x13s: add dedicated MultiMedia FEs for DisplayPort
Muxing DISPLAY_PORT_RX_0/1 onto MultiMedia1/2 together with the
headphone and speaker backends forces a single PCM and UCM
ConflictingDevice dance. Dedicated frontends let each DP sink run
its own playback at the same time as WSA/WCD.

Add MultiMedia5 and MultiMedia6 stream subgraphs and route
DISPLAY_PORT_RX_0 to MM5 and DISPLAY_PORT_RX_1 to MM6. Leave
RX_CODEC_DMA_RX_0 and WSA_CODEC_DMA_RX_0 on MultiMedia1/2.

This is the topology half of the X13s DisplayPort UCM work. Sharing
MultiMedia1 with the codec backends was not a good fit; see
alsa-ucm-conf#841 [1].

[1]: https://github.com/alsa-project/alsa-ucm-conf/pull/841

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2026-09-13 07:51:46 +02:00
Sophon 44373ed7d0 Merge branch 'main' into radxa-dragon-q8b 2026-09-02 15:06:30 +08:00
Srinivas Kandagatla e7b20b2b16 Topic/zenbooka16 (#75)
Add Glymur-based ASUS Zenbook A16 (UX3607OA)

It's a 4 speakers + 2 DMICs setup. The microphones return something
akin to a variably loud square wave at S16_LE, S24 and S32 work fine.
2026-09-01 17:09:14 +01:00
Jens Glathe 52dd096a16 Merge branch 'main' into jg/x1-lenovo-ideacentre-01q8x10
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2026-09-01 13:55:46 +02:00
Srinivas Kandagatla c9b1c60ca5 x1e80100: Add Acer Swift 14 AI (SF14-11) (#69)
Add support for the Acer Swift 14 AI (SF14-11), Snapdragon X1P-64100
laptop. Its audio hardware is identical to the Lenovo Thinkpad T14s: two
SoundWire WSA speakers, a wcd938x headset codec on both SoundWire buses
and VA DMICs, with identical audio-routing, DAI links and port mapping
in the device tree.

Reuse the T14s topology under the name the machine driver asks for. The
generated binary is byte-identical to X1E80100-Romulus-tplg.bin.
2026-09-01 12:20:23 +01:00
Srinivas Kandagatla 77237306b8 audioreach: x1e80100: rename TUXEDO -> Medion SPRCHRGD 14 S1 (#68)
Rename TUXEDO Elite 14 Gen1 to Medion SPRCHRGD 14 S1 topology as this is
the upstream name now.
2026-09-01 12:19:16 +01:00
Srinivas Kandagatla d217a72f27 audioreach: add I2S on 40 Pin JHAT connector on Arduino VENTUNO-Q (#67)
Add support for I2S instance on 40 Pin JHAT connector, typically used
for Audio HATs like https://www.waveshare.com/wiki/WM8960_Audio_HAT
2026-09-01 12:18:25 +01:00
Dale Whinham aef6b91913 audioreach: x1e80100: add topology for Microsoft Surface Pro 11
Add topology for Surface Pro 11: two WSA8845 speakers, a two-microphone VA DMIC array and two
DisplayPort/HDMI outputs via the USB-C ports.

Devicetree changes for DP/HDMI submitted here:
https://lore.kernel.org/all/20260831-surface-pro-11-dp-audio-v1-1-fb9c0d3216b7@gmail.com/

Signed-off-by: Dale Whinham <daleyo@gmail.com>
2026-08-31 23:36:06 +01:00