From 90e90cd14622776421294246ed55b1a26b4e9166 Mon Sep 17 00:00:00 2001 From: Stefan Binding Date: Tue, 25 Feb 2025 17:03:39 +0000 Subject: [PATCH] cirrus: cs35l41: Add firmware and tunings for CS35L41 driver for Steam Deck This firmware is for the cs35l41 ASoC driver, so change the driver description in the WHENCE file to include this driver as well as the CS35L41 HDA driver. Signed-off-by: Stefan Binding --- WHENCE | 5 ++++- cirrus/cs35l41-dsp1-spk-prot-vlv1776.bin | Bin 0 -> 5104 bytes .../v6.51.0/halo_cspl_RAM_revB2_29.53.0.wmfw | Bin 0 -> 34236 bytes 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 cirrus/cs35l41-dsp1-spk-prot-vlv1776.bin create mode 100644 cirrus/cs35l41/v6.51.0/halo_cspl_RAM_revB2_29.53.0.wmfw diff --git a/WHENCE b/WHENCE index b221931d..b0597ddc 100644 --- a/WHENCE +++ b/WHENCE @@ -6867,7 +6867,7 @@ Licence: Redistributable. See LICENSE.amphion_vpu for details -------------------------------------------------------------------------- -Driver: cs35l41_hda - CS35l41 ALSA HDA audio driver +Driver: cs35l41 - CS35L41 ALSA audio driver (includes cs35l41_hda) File: cirrus/cs35l41-dsp1-spk-prot.wmfw File: cirrus/cs35l41-dsp1-spk-prot.bin @@ -7595,6 +7595,9 @@ Link: cirrus/cs35l41-dsp1-spk-prot-103c8ce0-spkid1-l0.bin -> cs35l41-dsp1-spk-pr Link: cirrus/cs35l41-dsp1-spk-prot-103c8ce0-spkid1-r0.bin -> cs35l41-dsp1-spk-prot-103c8cdf-spkid1-l0.bin Link: cirrus/cs35l41-dsp1-spk-prot-1f660105.wmfw -> cs35l41/v6.83.0/halo_cspl_RAM_revB2_29.85.0.wmfw File: cirrus/cs35l41-dsp1-spk-prot-1f660105.bin +File: cirrus/cs35l41/v6.51.0/halo_cspl_RAM_revB2_29.53.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-vlv1776.wmfw -> cs35l41/v6.51.0/halo_cspl_RAM_revB2_29.53.0.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-vlv1776.bin License: Redistributable. See LICENSE.cirrus for details. diff --git a/cirrus/cs35l41-dsp1-spk-prot-vlv1776.bin b/cirrus/cs35l41-dsp1-spk-prot-vlv1776.bin new file mode 100644 index 0000000000000000000000000000000000000000..208301efcfbf91761a2a40d4dd1168af1317e185 GIT binary patch literal 5104 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 GjAlP+!pTzr literal 0 HcmV?d00001