Repository navigation
[FEATURE] Add SoundWire support for RT722 on Link 0 + single RT1320 on Link 2 #5962
Description
Activity
- changed the title
[-][FEATURE][/-][+][FEATURE] Add SoundWire support for RT722 on Link 0 + single RT1320 on Link 2[/+]on Sep 17, 2026 Should be simple for copilot, lets see...
- linked a pull request that will close this issueaudio: topology2: add PTL RT722@L0 + RT1320@L2 SoundWire target #11246
on Sep 28, 2026 @bula0422 There is no single rt722 machine-table entry in snd_soc_acpi_intel_ptl_sdw_machines[]. Can you remove the entry and share the dmesg log?
IF you do so, please make sure below commits are in your kernel.9797329220a2 ASoC: sof-function-topology-lib: escalate the log when missing function topoplogy 5226d19d4cae ASoC: SOF: Intel: use sof_sdw as default SDW machine driver 99c159279c6d ASoC: SOF: don't check the existence of dummy topology 6937ff42f28a ASoC: SOF: add platform name into sof_intel_dsp_desc 5ed60e45c59d ASoC: soc_sdw_utils: export asoc_sdw_get_dai_type 7196fc4e4829 ASoC: Intel: export sof_sdw_get_tplg_files ea9771390378 ASoC: soc_sdw_utils: add name_prefix to asoc_sdw_codec_info struct d25de1647765 ASoC: soc-acpi: make some variables of acpi adr and link adr non-const 2b92b98cc476 ASoC: SOF: Don't print the monolithic topology name if function topology may be used@bardliao I removed the single RT722 machine-table entry (ptl_rt722_only) from snd_soc_acpi_intel_ptl_sdw_machines[], rebuilt the module, and tested it after reboot.
After removing the entry, the following messages are observed in dmesg:[ 0.000000] Command line: [redacted] "dyndbg=file drivers/soundwire/intel_init.c +p"
[ 0.011706] Kernel command line: [redacted] "dyndbg=file drivers/soundwire/intel_init.c +p"
[ 0.018049] software IO TLB: area num 16.
[ 0.143163] GHES: APEI firmware first mode is enabled by APEI bit.
[ 1.332820] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 1.396875] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 1.396876] software IO TLB: mapped [mem 0x000000005cdc2000-0x0000000060dc2000] (64MB)
[ 1.559142] integrity: Machine keyring initialized
[ 10.417471] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-sc-a0-wh-b0-c99.ucode failed with error -2
[ 10.459453] snd_soc_acpi_intel_match: loading out-of-tree module taints kernel.
[ 10.459458] snd_soc_acpi_intel_match: module verification failed: signature and/or required key missing - tainting kernel
[ 10.465723] iwlwifi 0000:00:14.3: loaded firmware version 101.80584591.0 sc-a0-wh-b0-101.ucode op_mode iwlmld
[ 10.560557] sof-audio-pci-intel-ptl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 10.560570] sof-audio-pci-intel-ptl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 10.560675] sof-audio-pci-intel-ptl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 10.560731] sof-audio-pci-intel-ptl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[ 10.567536] sof-audio-pci-intel-ptl 0000:00:1f.3: use msi interrupt mode
[ 10.584188] sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
[ 10.584190] sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0xd010 part_id 0x0105 version 0x0
[ 10.584191] sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0x025d part_id 0x0722 version 0x3
[ 10.584192] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x025d part_id 0x1320 version 0x3
[ 10.584193] sof-audio-pci-intel-ptl 0000:00:1f.3: part id 0x105 is not supported
[ 10.584194] sof-audio-pci-intel-ptl 0000:00:1f.3: hda codecs found, mask 4
[ 10.584195] sof-audio-pci-intel-ptl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 10.584196] sof-audio-pci-intel-ptl 0000:00:1f.3: BT link detected in NHLT tables: 0x0
[ 10.584197] sof-audio-pci-intel-ptl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[ 10.600127] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[ 10.600129] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware file: intel/sof-ipc4/ptl/sof-ptl.ri
[ 10.600130] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/ptl
[ 10.600130] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology file: intel/sof-ipc4-tplg/sof-hda-generic-idisp.tplg
[ 10.613626] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[ 10.749602] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[ 10.831407] sof-audio-pci-intel-ptl 0000:00:1f.3: Booted firmware version: 2.14.1.1
[ 10.840773] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology: intel/sof-ipc4-tplg/sof-hda-generic-idisp.tplg
[ 10.841476] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[ 10.848174] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[ 10.862579] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input12
[ 10.862694] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input13
[ 10.862802] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input14[ 10.584193] sof-audio-pci-intel-ptl 0000:00:1f.3: part id 0x105 is not supported
You probably need https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/soundwire/dmi-quirks.c?id=b7a5d101d7d267922e828c40135bcaccf8cfb3bfI've made the change, rebuilt the kernel module, and completed the test. Please find the dmesg log attached.
[ 0.017534] software IO TLB: area num 16.
[ 1.637207] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 1.669723] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 11.480116] sof-audio-pci-intel-ptl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 11.480129] sof-audio-pci-intel-ptl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 11.480256] sof-audio-pci-intel-ptl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 11.480318] sof-audio-pci-intel-ptl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[ 11.487018] sof-audio-pci-intel-ptl 0000:00:1f.3: use msi interrupt mode
[ 11.504403] sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
[ 11.504405] sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0x025d part_id 0x0722 version 0x3
[ 11.504406] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x025d part_id 0x1320 version 0x3
[ 11.504409] sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
[ 11.504409] sof-audio-pci-intel-ptl 0000:00:1f.3: hda codecs found, mask 4
[ 11.504410] sof-audio-pci-intel-ptl 0000:00:1f.3: BT link detected in NHLT tables: 0x0
[ 11.504411] sof-audio-pci-intel-ptl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[ 11.519162] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[ 11.519163] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware file: intel/sof-ipc4/ptl/sof-ptl.ri
[ 11.519164] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/ptl
[ 11.519165] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology file: function topologies
[ 11.532574] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[ 11.684844] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[ 11.766881] sof-audio-pci-intel-ptl 0000:00:1f.3: Booted firmware version: 2.14.1.1
[ 11.778807] sof-audio-pci-intel-ptl 0000:00:1f.3: Using function topologies instead intel/sof-ipc4-tplg/sof-ptl-dummy.tplg
[ 11.778814] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 0: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id3.tplg
[ 11.779746] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[ 11.779836] sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
[ 11.787572] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[ 11.801588] input: sof-soundwire Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input12
[ 11.801632] input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input13
[ 11.801664] input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input14
[ 11.801688] input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input15@bula0422
[ 11.778814] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 0: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id3.tplg
No sdw function topology is loaded.
Please rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the/etc/modprobe.d/directory and share the full dmesg log after reboot.@bardliao
I've applied the provided sof-dyndbg.conf and rebooted the system. Attached is the full dmesg log for your review.@bardliao
After applying the change and rebooting, there is still no audio output. However, the output device is now shown as
Speaker-sof-soundwire.I've attached the full dmesg log for reference.
@bula0422 Please share the output of
alsa-info.@bardliao Please find the
alsa-infooutput attached.
alsa-info.txt@bula0422 I can't find any issue. However, your kernel version 6.12.0 is relative old. Maybe you need to update the rt1320 codec driver. @thesofproject/realtek Can you take a look?
- addedRealtekIssue with codec/Amp from RealtekIssue with codec/Amp from Realtek
on Oct 7, 2026 @bardliao @thesofproject/realtek
I found the following RT1320 commit:9b30521 — ASoC: rt1320: run the initialisation preset on the first hardware init
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b30521074f01aff856f539c1241a48342b69f7cAfter applying this change to the RT1320 driver on my RHEL 10.2 kernel, the speaker audio is working correctly now.
Could you please confirm whether this is the expected fix for this issue, or if there are any additional RT1320 changes that should also be applied?Thanks.
I also noticed another issue: Speaker-sof-soundwire is available as an output device, but there are no input devices available.
Could you please help check this issue as well?
I also noticed another issue: Speaker-sof-soundwire is available as an output device, but there are no input devices available.
Could you please help check this issue as well?
[ 10.741357] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback-SimpleJack, id 0 [ 10.741368] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Capture-SimpleJack, id 1 [ 10.741370] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link SDW2-Playback-SmartAmp, id 2 [ 10.741372] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp1, id 3 [ 10.741373] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp2, id 4 [ 10.741374] snd_soc_sdw_utils:asoc_sdw_init_dai_link: sof_sdw sof_sdw: create dai link iDisp3, id 5Looks like the SmartMic dai link is not created. But I don't get the reason. Can you please apply below change and share the dmesg log?
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 40f401fae324..7aff34e91cb0 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -1203,6 +1203,7 @@ static bool is_endpoint_present(struct sdw_slave *sdw_device, int dai_type) { int i; + dev_err(&sdw_device->dev, "checking endpoint DAI type %d\n", dai_type); /* If SDCA is not present, assume the endpoint is present */ if (!sdw_device->sdca_data.interface_revision) { dev_warn(&sdw_device->dev, "SDCA properties not found in BIOS\n");
@bardliao
I added the requested debug log and rebuilt the module.
Please find the full dmesg log attached.[ 10.374419] soundwire sdw:0:0:025d:0722:01: checking endpoint DAI type 0
[ 10.374421] soundwire sdw:0:0:025d:0722:01: checking endpoint DAI type 1
[ 10.374422] soundwire sdw:0:0:025d:0722:01: checking endpoint DAI type 2
[ 10.374425] rt1320-sdca sdw:0:2:025d:1320:01: checking endpoint DAI type 1
[FEATURE][PTL] Add SoundWire support for RT722 on Link 0 + single RT1320 on Link 2
Summary
We would like to request SoundWire audio support for the configuration platform based on Intel Panther Lake.
The platform uses the following SoundWire configuration:
Both RT722 and RT1320 are successfully enumerated on the SoundWire bus with the stock kernel. However, the RT1320 speaker path is not created and the Speaker PCM is missing.
For validation, we added a minimal engineering machine-table entry for this configuration. After the change, the single-amp SOF function topology was loaded, the Speaker PCM was created, and internal speaker playback worked successfully.
We would like to request upstream support for this Panther Lake SoundWire layout and guidance on the appropriate implementation.
Platform
6.12.0-211.7.3.el10_2.x86_642.14.1.1[8086:e328]1071:b374SoundWire Enumeration
The stock kernel successfully enumerates:
The relevant codec/amp layout is:
The corresponding ACPI addresses are:
There is no RT1320 device on SoundWire Link 3.
Stock Behavior
SOF successfully detects SoundWire and boots the firmware:
Function topologies are selected:
The following function topologies are loaded:
However, no RT1320 speaker/SmartAmp function topology is loaded.
The resulting playback devices are:
The Speaker PCM is missing even though RT1320 is successfully enumerated on SoundWire Link 2.
Engineering A/B Validation
To validate this configuration, we rebuilt
snd-soc-acpi-intel-match.kowith a minimal Panther Lake machine-table entry for:The engineering change adds:
BIT(0) | BIT(2).After applying the change:
The resulting PCM list includes:
The RHEL Hardware Certification Internal Audio functional test also passed with this engineering change.
This patch was used only to validate the hardware configuration and is not intended to define the final upstream implementation.
Expected Behavior
With support for the following configuration:
the RT1320 speaker path and corresponding Speaker PCM should be available.
Request for Upstream Guidance
Could the SOF maintainers please advise on the appropriate upstream implementation for this Panther Lake hardware layout?
In particular:
Should Panther Lake add a machine-table entry for RT722 on Link 0 plus a single RT1320 on Link 2?
Should this configuration continue to use SOF function topologies, including
sof-sdca-1amp-id2.tplg, or is a dedicated Panther Lake topology required?Are any additional machine-driver or topology changes required for this single RT1320 configuration?
We can help validate upstream patches and provide test results if needed.