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:
- extend the legacy topology1 recipe,
- add Cherry Trail support to topology2, or
- 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.
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 ID10EC5677.The Linux
cht-yogabookASoC machine driver works on this hardware with the legacy SST driver andintel/fw_sst_22a8.bin. When SOF is selected, however, the probe stops with:The Yoga Book entry in the Cherry Trail machine table deliberately has no
sof_tplg_filename, because neither the SOF source tree nor currentsof-binreleases providesof-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 existingcht-yogabookmachine driver under SOF.The working SST machine configuration indicates these backend requirements:
rt5677-aif1SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NFCBC_CFC)0x0f48000 * 512)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.m4recipe, but currentmainno 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: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:
Using or renaming
sof-cht-rt5670.tplgdoes not appear safe. The historical generic CHT RT5670 recipe configures I2S with two 25-bit slots and masks0x03, whereas the Yoga Book RT5677 machine driver configures DSP_B with four 25-bit slots and masks0x0f.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 the10EC5677Yoga 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.