Skip to content

[FEATURE][CHT] Add SOF topology support for Lenovo Yoga Book RT5677 #11105

Description

@MaurizioCasciano

Is your feature request related to a problem? Please describe.

The Lenovo Yoga Book YB1-X91F/L uses an Intel Cherry Trail audio DSP (808622A8) with an RT5677 codec exposed as ACPI ID 10EC5677.

The Linux cht-yogabook ASoC machine driver works on this hardware with the legacy SST driver and intel/fw_sst_22a8.bin. When SOF is selected, however, the probe stops with:

sof-audio-acpi-intel-byt 808622A8:00: error: no matching ASoC machine driver found - aborting probe

The Yoga Book entry in the Cherry Trail machine table deliberately has no sof_tplg_filename, because neither the SOF source tree nor current sof-bin releases provide sof-cht-rt5677.tplg:

https://github.com/Yoga-Book/Yoga-Book-Linux-Kernel/blob/8a24dc4997fa8d6a69523fa3abc0ed5a15632309/sound/soc/intel/common/soc-acpi-intel-cht-match.c#L140-L146

The machine driver is here:

https://github.com/Yoga-Book/Yoga-Book-Linux-Kernel/blob/8a24dc4997fa8d6a69523fa3abc0ed5a15632309/sound/soc/intel/boards/cht_yogabook.c

Describe the solution you'd like

Add and publish a Cherry Trail RT5677 topology, tentatively named sof-cht-rt5677.tplg, so that Linux can reference it from the Yoga Book machine-table entry and instantiate the existing cht-yogabook machine driver under SOF.

The working SST machine configuration indicates these backend requirements:

  • SSP2 connected to rt5677-aif1
  • SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF
  • codec and frame consumer (CBC_CFC)
  • 48 kHz, stereo, S24_LE backend
  • four TDM slots, slot width 25, TX/RX masks 0x0f
  • 19.2 MHz MCLK
  • RT5677 PLL output of 24.576 MHz (48000 * 512)
  • playback and capture, including the existing media and deep-buffer front ends

I would also appreciate guidance on the accepted implementation path. SOF v2.2 generated the existing Cherry Trail codec topologies from the topology1 sof-byt-codec.m4 recipe, but current main no longer lists those CHT recipes in its production topology1 build, and I could not find an Atom/Cherry Trail topology2 equivalent. Should new support for this older platform:

  1. extend the legacy topology1 recipe,
  2. add Cherry Trail support to topology2, or
  3. follow another maintained compatibility path?

I can implement the topology and test it on physical YB1-X91L hardware once the preferred upstream direction is known.

Describe alternatives you've considered

The currently working workaround is to force the legacy SST driver with:

snd_intel_dspcfg.dsp_driver=2

Using or renaming sof-cht-rt5670.tplg does not appear safe. The historical generic CHT RT5670 recipe configures I2S with two 25-bit slots and masks 0x03, whereas the Yoga Book RT5677 machine driver configures DSP_B with four 25-bit slots and masks 0x0f.

There is also a historical Broadwell RT5677 topology, but its DSP platform, SSP port, clocking, and PCM graph differ from Cherry Trail and it is not directly reusable.

Additional context

After a topology is available and tested, the corresponding Linux change should be small: add .sof_tplg_filename = "sof-cht-rt5677.tplg" to the 10EC5677 Yoga Book machine-table entry. Any machine-driver adjustments discovered during physical SOF testing would be submitted separately to Linux.

The compiled topology would subsequently need inclusion in sof-bin, followed by distribution firmware packaging and verification of the Yoga Book ALSA UCM profile under the SOF card identity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions