6 Commits
Author SHA1 Message Date
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
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
Jens Glathe 584f4f45e8 ASoC: qcom: X1E80100-LENOVO-IdeaCentre-Mini: add topology
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)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2026-08-30 20:01:50 +02:00
Jens Glathe 0b86fb34fa x1e80100: add Lenovo ThinkBook 16
same as Lenovo T14s (2 speakers laptop)

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2025-04-11 10:09:50 +02:00
Jens Glathe 1e02407580 x1e80100: add HP Omnibook X14
same as Lenovo T14s (2 speakers laptop)

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
2025-04-05 16:30:12 +02:00