Skip to content

[FEATURE] Add SoundWire support for RT722 on Link 0 + single RT1320 on Link 2 #11209

Description

@bula0422

[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:

RT722  @ Link 0
RT1320 @ Link 2 (single SmartAmp)

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

  • Platform: Intel Panther Lake
  • OS: RHEL 10.2
  • Kernel: 6.12.0-211.7.3.el10_2.x86_64
  • SOF firmware: 2.14.1.1
  • PCI audio controller: Intel Panther Lake Smart Sound Technology BUS [8086:e328]
  • PCI subsystem: 1071:b374
  • Physical codecs: Realtek ALC722 + ALC1320
  • Linux driver naming: RT722 + RT1320

SoundWire Enumeration

The stock kernel successfully enumerates:

sdw:0:0:025d:0722:01
sdw:0:0:d010:0105:00
sdw:0:2:025d:1320:01
sdw-master-0-0
sdw-master-0-2

The relevant codec/amp layout is:

SoundWire Link 0
  ├─ 025d:0722 (RT722)
  └─ d010:0105

SoundWire Link 2
  └─ 025d:1320 (single RT1320 SmartAmp)

The corresponding ACPI addresses are:

RT722  Link 0: 0x000030025d072201
RT1320 Link 2: 0x000230025d132001

There is no RT1320 device on SoundWire Link 3.

Stock Behavior

SOF successfully detects SoundWire and boots the firmware:

sof-audio-pci-intel-ptl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-ptl 0000:00:1f.3: Booted firmware version: 2.14.1.1

Function topologies are selected:

Using function topologies instead intel/sof-ipc4-tplg/sof-ptl-rt722.tplg

The following function topologies are loaded:

loading topology 0: intel/sof-ipc4-tplg/sof-sdca-jack-id0.tplg
loading topology 1: intel/sof-ipc4-tplg/sof-sdca-mic-id4.tplg
loading topology 2: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id5.tplg

However, no RT1320 speaker/SmartAmp function topology is loaded.

The resulting playback devices are:

**** List of PLAYBACK Hardware Devices ****

card 0: sofsoundwire [sof-soundwire], device 0: Jack Out
card 0: sofsoundwire [sof-soundwire], device 5: HDMI1
card 0: sofsoundwire [sof-soundwire], device 6: HDMI2
card 0: sofsoundwire [sof-soundwire], device 7: HDMI3
card 0: sofsoundwire [sof-soundwire], device 31: Deepbuffer Jack Out

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.ko with a minimal Panther Lake machine-table entry for:

RT722  @ Link 0
RT1320 @ Link 2 (single SmartAmp)

The engineering change adds:

  1. A single RT1320 descriptor for Link 2.
  2. A SoundWire link description for RT722@L0 + single RT1320@L2.
  3. A Panther Lake machine entry using BIT(0) | BIT(2).

After applying the change:

Machine configuration matches
        ↓
SOF function topologies are selected
        ↓
sof-sdca-1amp-id2.tplg is loaded
        ↓
Speaker PCM 0:2 is created
        ↓
UCM Speaker becomes available
        ↓
Internal speaker playback works

The resulting PCM list includes:

00-00: Jack Out
00-01: Jack In
00-02: Speaker
00-04: Microphone
00-05: HDMI1
00-06: HDMI2
00-07: HDMI3

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:

RT722  @ Link 0
RT1320 @ Link 2 (single SmartAmp)

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:

  1. Should Panther Lake add a machine-table entry for RT722 on Link 0 plus a single RT1320 on Link 2?

  2. Should this configuration continue to use SOF function topologies, including sof-sdca-1amp-id2.tplg, or is a dedicated Panther Lake topology required?

  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions