diff options
| author | Maurizio Casciano <mauriziocasciano7@gmail.com> | 2026-09-25 15:59:14 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-07 17:50:59 +0200 |
| commit | 5a0c90cb911c16a8526955679386f5fb6ffc2ee6 (patch) | |
| tree | 6c5edef27b62d0989b78a21912610e8506ac60ac /scripts/Makefile.thinlto | |
| parent | 27f7c1ad8da626f1785db2ec234558d07120403b (diff) | |
| download | linux-5a0c90cb911c16a8526955679386f5fb6ffc2ee6.tar.gz linux-5a0c90cb911c16a8526955679386f5fb6ffc2ee6.zip | |
ASoC: Intel: Add Cherry Trail RT5677 machine driver
The Lenovo Yoga Book YB1-X91F/L uses the Cherry Trail SSP2 link with
an RT5677 codec and a TS3A227E headset detector. Its amplifiers and
headphone path also need board-specific GPIO sequencing.
Add a Cherry Trail RT5677 machine driver derived from Yauhen
Kharuzhy's earlier implementation. Clone the card, DAI links and link
components per device so probing never mutates global templates.
Allocate jack storage with the device lifetime, and configure MCLK and
PLL, jack buttons, microphones, and output controls.
Propagate clock, GPIO and ASRC setup failures so DAPM and probe callers do
not continue with partially configured hardware. If the second speaker
GPIO update fails, restore the first GPIO to its previous state. Reproduce
the mode-3 enable pulse and settling delay required by the external speaker
boost amplifier.
The RT5677 GPIO2 and GPIO4 mappings are supplied as software-node
properties by the Yoga Book x86-android-tablets quirk. The ACPI GPIO
mapping in this driver covers the external speaker enable described in the
codec device's _CRS.
Select the card identity from the firmware parent. The SOF path uses the
"cht rt5677" card name and "SOF" driver name, while the legacy SST path
uses the conventional "cht-rt5677" card name. The firmware paths are
mutually exclusive and share the rest of the machine driver. The card
registers on both paths without snd_soc_fixup_dai_links_platform_name().
The same kernel was booted with automatic SOF selection and with
snd_intel_dspcfg.dsp_driver=2 for SST. PCM0 playback and capture plus PCM1
deep-buffer playback passed on both paths. SOF passed S16_LE, S24_LE and
S32_LE; SST advertises and passed S16_LE. The built-in speakers were
audible on both paths, and internal-microphone capture contained signal.
No ASoC or DSP stream errors were logged during the final tests.
Link: https://github.com/jekhor/yogabook-linux-kernel/commit/4e41d0ff72c1d1fd8d5c59dda247e4ca8a1da999
Link: https://lore.kernel.org/linux-sound/20260611-asoc-yogabook-v2-v3-3-3128447b67b6@gmail.com/
Link: https://lore.kernel.org/r/20260829225729.395270-1-mauriziocasciano7@gmail.com
Assisted-by: LLM
Co-developed-by: Yauhen Kharuzhy <jekhor@gmail.com>
Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Signed-off-by: Maurizio Casciano <mauriziocasciano7@gmail.com>
Link: https://patch.msgid.link/20260925135915.338670-2-mauriziocasciano7@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
