Commit graph

194 commits

Author SHA1 Message Date
Srinivas Kandagatla
04669dbf97
audioreach: qcs6490: add tertiary and quinary MI2S paths for RubikPi3 (#57)
Add TERTIARY_MI2S_RX/TX and QUINARY_MI2S_RX/TX topology paths for
QCS6490-Thundercomm-RubikPi3, together with the corresponding FE
playback and capture routes.

Current audio interfaces on the board are:
 - PRIMARY_MI2S_RX/TX: 3.5mm headset
 - QUATERNARY_MI2S_RX: HDMI OUT
 - TERTIARY_MI2S_RX/TX: 40-pin header I2S
 - QUINARY_MI2S_RX/TX: Bluetooth audio
2026-03-31 00:27:18 +01:00
Hongyang Zhao
f91b94e5e9 audioreach: qcs6490: add tertiary and quinary MI2S paths for RubikPi3
Add TERTIARY_MI2S_RX/TX and QUINARY_MI2S_RX/TX topology paths for
QCS6490-Thundercomm-RubikPi3, together with the corresponding FE
playback and capture routes.

Current audio interfaces on the board are:
 - PRIMARY_MI2S_RX/TX: 3.5mm headset
 - QUATERNARY_MI2S_RX: HDMI OUT
 - TERTIARY_MI2S_RX/TX: 40-pin header I2S
 - QUINARY_MI2S_RX/TX: Bluetooth audio

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
2026-03-30 15:35:12 +08:00
Srinivas Kandagatla
cf0c2eb027
audioreach: glymur: Add initial topology for GLYMUR-CRD (#53)
Add initial topology for GLYMUR-CRD board.

Enbled WSA speaker Amplifier and internal Microphone.
2026-03-11 17:20:17 +00:00
Mohammad Rafi Shaik
4cd700499b audioreach: glymur: Add initial topology for GLYMUR-CRD
Add initial topology for GLYMUR-CRD board.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2026-03-04 14:45:56 +05:30
Srinivas Kandagatla
164b9d4556
audioreach: add new lpaif interface types (#50)
Add new LPAIF interface types that are supported by the DSP.

For more info:
7a76df6776/spf/api/modules/hw_intf_cmn_api.h (L36)
2026-02-27 08:25:58 +00:00
Srinivas Kandagatla
9aa0ccc39a audioreach: add new lpaif interface types
Add new LPAIF interface types that are supported by the DSP.

For more info:
7a76df6776/spf/api/modules/hw_intf_cmn_api.h (L36)

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
2026-02-22 08:59:38 +00:00
Srinivas Kandagatla
898e2bb317
audioreach: qcm6490-idp: Fix the stream logger connection for headset playback (#51)
Headset playback fails due to invalid stream logger connection.
RX_CODEC_DMA_RX_0 playback route was incorrectly connected to
stream1.logger1, causing graph/topology mismatch. Route it back to
stream2.logger1.
2026-02-22 08:57:44 +00:00
Mohammad Rafi Shaik
c8dd17ee3a audioreach: qcm6490-idp: Fix the stream logger connection for headset playback
Headset playback fails due to invalid stream logger connection.
RX_CODEC_DMA_RX_0 playback route was incorrectly connected to stream1.logger1,
causing graph/topology mismatch. Route it back to stream2.logger1.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2026-02-20 15:06:00 +05:30
Dmitry Baryshkov
6d23a0fbab
audioreach: i2s_module: fix stream name (#49)
For some reason we ended up with incorrect stream name for the i2s
module, the stream prefix is in 13th param.
2026-02-09 11:11:05 +02:00
Srinivas Kandagatla
d62ed26ea4 audioreach: i2s_module: fix stream name
For some reason we ended up with incorrect stream name for the i2s
module, the stream prefix is in 13th param.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
2026-02-01 08:11:26 +00:00
Srinivas Kandagatla
c93411ad18
Fix channel max for lemans monaco (#47)
The MONACO-EVK and LEMANS-EVK capture frontend for MultiMedia2 currently
constrains
channels to mono (min=1, max=1). This prevents opening the PCM with
2-channel (stereo) configurations and typically leads to:
  arecord: audio open error: Invalid argument

Update the STREAM_SG_PCM_ADD() parameters to allow up to 2 channels
(min=1, max=2) for S16_LE at 48 kHz. This aligns the front-end PCM
capability with common SoC/codec routes that can support stereo capture,
while preserving backward compatibility with mono.
2026-01-21 07:35:53 +00:00
mohsRafi
f3f7941c3b
Merge branch 'main' into Fix_channel_max_for_LEMANS_MONACO 2026-01-21 07:02:15 +05:30
Srinivas Kandagatla
089991c1b7
kaanapali: Reuse SM8550 topology for Kaanapali (#31)
Add support for kaanapali-mtp topology with reuse of SM8550.

Added support for Kaanapali-MTP topology by reusing the existing SM8550
configuration. Validated speaker playback and microphone recording
functionality on Kaanapali-MTP hardware using the generated topology
file.
2026-01-20 10:05:02 +00:00
Mohammad Rafi Shaik
2b5a66a2b7 audioreach: monaco-evk: Enable stereo capture on MultiMedia2 frontend
The MONACO-EVK capture frontend for MultiMedia2 currently constrains
channels to mono (min=1, max=1). This prevents opening the PCM with
2-channel (stereo) configurations and typically leads to:
  arecord: audio open error: Invalid argument

Update the STREAM_SG_PCM_ADD() parameters to allow up to 2 channels
(min=1, max=2) for S16_LE at 48 kHz. This aligns the front-end PCM
capability with common SoC/codec routes that can support stereo capture,
while preserving backward compatibility with mono.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2026-01-19 22:39:32 +05:30
Mohammad Rafi Shaik
2a548b1f96 audioreach: lemans-evk: Enable stereo capture on MultiMedia2 frontend
The LEMANS-EVK capture frontend for MultiMedia2 currently constrains
channels to mono (min=1, max=1). This prevents opening the PCM with
2-channel (stereo) configurations and typically leads to:
  arecord: audio open error: Invalid argument

Update the STREAM_SG_PCM_ADD() parameters to allow up to 2 channels
(min=1, max=2) for S16_LE at 48 kHz. This aligns the front-end PCM
capability with common SoC/codec routes that can support stereo capture,
while preserving backward compatibility with mono.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2026-01-19 22:38:45 +05:30
Srinivas Kandagatla
f3bbc9f5cf
Sync more topologies to linux-firmware (#44)
Sync topologies for several X Elite laptops and for SM8450 platforms.

Lenovo ThinkBook 16 is still not to be synced to linux-firmware. It has
X1P42100 SoC, it uses qcom/x1p42100/ for all other firmware. It is
unlogical to me to use qcom/x1e80100 only for the topology file.
2026-01-09 10:13:47 +00:00
Srinivas Kandagatla
2efb4259f3
Merge branch 'main' into fix-paths
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
2026-01-09 09:01:45 +00:00
Srinivas Kandagatla
29c6e18c9b
audioreach: qcs615: Add topology for TALOS-EVK (#38)
Add initial topology for TALOS-EVK board. The TALOS-EVK board features a
DA7212 audio codec connected via I2S interface.
2026-01-09 08:51:26 +00:00
Srinivas Kandagatla
f8803a923b
Merge branch 'main' into Talos-evk
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
2026-01-09 06:41:09 +00:00
Dmitry Baryshkov
ada4eaef91
audioreach: qcs6490: add Thundercomm RubikPi3 (#42)
RUBIK Pi 3 (https://rubikpi.ai/), a lightweight development board based
on
Qualcomm Dragonwing™ QCS6490 platform, is the first Pi built on Qualcomm
AI platforms for developers.


Full specs:
* Headphone jack using ES8316 codec.
* Onboard DSI to HDMI bridge, using Lontium LT9611, supports HDMI OUT
audio.
* The TERTIARY_MI2S can be used via a 40-pin GPIO connector (unused by
default).

The kernel device tree going to be upstreamed soon.
2026-01-01 23:31:44 +02:00
Dmitry Baryshkov
63cb9374e1
Add support for Asus Vivobook 16 (#43)
Add support for Asus Vivobook 16 (F1607QA) with Snapdragon X1 SoC. This
device topology is nearly identical to Lenovo Thinkpad T14s or Asus
Vivobook S15.
2026-01-01 23:24:04 +02:00
Prasad Kumpatla
0339976be9 kaanapali: Reuse SM8550 topology for Kaanapali
Add support for kaanapali-mtp topology with reuse of
SM8550.

Signed-off-by: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>
2025-12-30 13:17:06 +05:30
Hongyang Zhao
826969beff audioreach: qcs6490: add Thundercomm RubikPi3
Signed-off-by: Meng Li <limeng0715@thundersoft.com>
Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
2025-12-30 14:59:00 +08:00
Kellerman Rivero
744161325e x1e80100: Add Asus Vivobook 16 (F1607QA)
Alias to Lenovo Thinkpad T14s & Asus Vivobook S15, identical configuration.

Signed-off-by: Kellerman Rivero <krsloco@gmail.com>
2025-12-29 22:31:39 +01:00
Mohammad Rafi Shaik
7e5ef96b51 audioreach: qcs615: Add topology for TALOS-EVK
Add initial topology for TALOS-EVK board. The TALOS-EVK  board features
a DA7212 audio codec connected via I2S interface.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-12-29 19:12:55 +02:00
Dmitry Baryshkov
1556daff57 CMakeLists.txt: unblock SM8450 topology from being synced
SM8450 started to use qcom/sm8450/ subdir for the firmware,
correspondingly unblock the topology to be synced to linux-firmware.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-12-29 18:54:55 +02:00
Dmitry Baryshkov
528cdda44e CMakeLists.txt: unblock topologies for several laptops
Unblock laptops present in the upstream Linux.

Lenovo ThinkBook 16 is still not to be synced to linux-firmware. It has
X1P42100 SoC, it uses qcom/x1p42100/ for all other firmware. It is
unlogical to me to use qcom/x1e80100 only for the topology file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-12-29 18:49:33 +02:00
Krzysztof Kozlowski
1d75d4ff78 audioreach: x1e80100-t14s: Add audio on DisplayPort/USB and HDMI
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-12-29 18:18:20 +02:00
ks5-dev
8911ae48c6
audioreach: qcs6490: update topology for QCS6490-RB3Gen2 (#40)
update topology to support HDMI and DP audio playback.

Signed-off-by: karthik.s <karthik.s@oss.qualcomm.com>
Co-authored-by: Srinivas Kandagatla <srini@kernel.org>
2025-12-17 11:28:12 +00:00
Dmitry Baryshkov
2c72b618ee
CMakeLists.txt: stop excluding several platforms (#41)
Drop X1E80100, SM8750, QCM6490 and Dragon Q6A from the exclude list as
those platforms got audio DSP firmware in the linux-firmware repo.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-12-16 06:06:45 +00:00
mohsRafi
d2152f93c3
audioreach: lemans-evk: Switch I2S data line from SD1 to SD0 for playback (#37)
Change the I2S data line configuration from SD1 to SD0 for audio playback
on the Lemans-EVK board. The same speaker amplifier is connected to both
SD1 and SD0 data lines on the EVK board, but the DVT and PVT board variants
only support SD0.

This change enables a unified configuration that works across all board
variants (EVK, DVT, and PVT), simplifying maintenance and ensuring audio
playback functionality on all Lemans platform versions.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-11-10 10:38:18 +00:00
Srinivas Kandagatla
1de1cdc8a1
Merge pull request #35 from lumag/install
Support installing the topology files
2025-09-19 09:42:42 +01:00
Dmitry Baryshkov
c9263c4dbe audioreach: support installing the firmware
Run 'cmake && make install DESTDIR=/lib/firmware' in order to update
files in the rootfs.

Run 'cmake -DSYNCFW=TRUE && make install DESTDIR=../linux-firmware' in
order to update files in linux-firmware.

It is expected and recommended that by default all new topologies get
synced to linux-firmware, thus add a skiplist instead of includelist.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-09-18 15:38:54 +03:00
Dmitry Baryshkov
c405fc09e5 audioreach: correct binary output target
The command to generate topology binaries outputs the file to
${outputdir}. Correct CMake commands to let it know about the correct
binary location.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-09-18 15:38:54 +03:00
Dmitry Baryshkov
0929dfb5be audioreach: move Lemans EVK topology from qcs9100 to sa8775p subdir
The rest of the firmware for Lemans is using sa8775p subdir, the
top-level compatibility for the platform also declares qcom,sa8775p.
Be consistent and move audioreach topology file to qcom/sa8775p/ subdir.

Cc: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Cc: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-09-18 15:38:54 +03:00
Dmitry Baryshkov
8f36d3260d audioreach: move Monaco EVK topology from qcs8275 to qcs8300 subdir
The rest of the firmware for Monaco is using qcs8300 subdir, the
top-level compatibility for the platform also declares qcom,qcs8300.
Be consistent and move audioreach topology file to qcom/qcs8300/ subdir.

Cc: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Cc: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-09-05 16:39:15 +03:00
Dmitry Baryshkov
d5980755b1 audioreach: drop extra subdirs
Drop subdirs from Lemans-EVK, Monaco-EVK, QCM6490-IDP and QCS6490
RB3Gen2 entris in order to make generated locations match the ones in
linux-firmware.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2025-09-05 15:01:46 +03:00
Srinivas Kandagatla
c488b5dbf5
Merge pull request #34 from ReaLcdcLeQi/add-hamoa-evk-support
Add topology for X1E80100-EVK
2025-09-04 08:04:20 +01:00
leqi
89570f1cf8 Add topology for X1E80100-EVK.
The dts upstream is already in progress.
https://lore.kernel.org/all/20250828-hamoa_initial-v8-3-c9d173072a5c@oss.qualcomm.com/

Signed-off-by: leqi <leqi@qti.qualcomm.com>
2025-09-04 10:08:06 +08:00
Srinivas Kandagatla
5cf07da2cd
Merge pull request #29 from mohsRafi/Topology_for_LEMANS_MONACO_EVK
Topology for LEMANS-EVK and MONACO-EVK Qualcomm boards.
2025-09-02 11:11:58 +01:00
Mohammad Rafi Shaik
9e0ab959c6 audioreach: QCS8275: Add MONACO-EVK topology support
Add initial topology for MONACO-EVK Qualcomm board

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-09-01 15:38:32 +05:30
Mohammad Rafi Shaik
4dc3aa4d15 audioreach: QCS9100: Add LEMANS-EVK topology support
Add initial topology for LEMANS-EVK Qualcomm board.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-09-01 15:38:29 +05:30
Mohammad Rafi Shaik
68ddd71b35 audioreach: i2s-capture: Add i2s capture subgraph support
Add I2S Capture subgraph support and provide the support for
LPAIF_SDR type.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-09-01 15:30:10 +05:30
Srini
81db8581a0
Merge pull request #27 from mohsRafi/Update-QCS6490-RB3Gen2-tplg-name
Update-QCS6490-RB3Gen2-tplg-name
2025-08-31 10:06:54 +01:00
Srini
32dfe76146
Merge pull request #33 from laklimov/sm8550x-compress-playback-dai
audioreach: sm8550: add compress playback DAI
2025-08-31 10:05:46 +01:00
Alexey Klimov
90b3409a39 audioreach: sm8550: add compress playback DAI
Add MultiMedia5 playback and let it be compress stream.

Upon parsing and using tplg firmware file kernel creates such alsa control:
ALSA: Control name 'stream4.vol_ctrl4 MultiMedia5 Playback Volume' truncated to 'stream4.vol_ctrl4 MultiMedia5 Playback Volu'

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
2025-08-29 22:04:58 +01:00
Mohammad Rafi Shaik
944f444056 audioreach: qcm6490-idp: Rename topology file from qcm6490-idp-snd-card to QCM6490-IDP
Rename the tplg file from qcm6490-idp-snd-card to QCM6490-IDP.

Removed inappropriate 'snd-card' suffix from topology name.
Ensured topology name matches the soundcard name representing the board.

Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
2025-08-25 13:07:00 +05:30
Mohammad Rafi Shaik
f21e8f56f4 audioreach: qcs6490-rb3gen2: Rename topology file from qcs6490-rb3gen2-snd-card to QCS6490-RB3Gen2
Rename the tplg file from qcs6490-rb3gen2-snd-card to QCS6490-RB3Gen2.

Removed inappropriate 'snd-card' suffix from topology name.
Ensured topology name matches the soundcard name representing the board.

Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
2025-08-25 13:06:04 +05:30
Srini
d78f481e00
Merge pull request #30 from stephan-gh/x1e001de-devkit
audioreach: x1e80100: Add topology for X1E001DE-DEVKIT
2025-08-13 11:05:02 +01:00
Stephan Gerhold
8876ea4d7f audioreach: x1e80100: Add topology for X1E001DE-DEVKIT
The X1E001DE Devkit has 4x WSA codec (available on a pin header), 4x DMIC,
3x USB-C DP audio and the WCD RX/TX codec. This is exactly the CRD config,
so just install the CRD topology for the Devkit as well.

Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
2025-08-12 16:13:23 +02:00