]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: sdw_utils: Add CS42L43B codec info
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Fri, 6 Mar 2026 15:28:08 +0000 (15:28 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 9 Mar 2026 10:29:29 +0000 (10:29 +0000)
Add codec_info for a new variant of CS42L43. It can resue existing info
but needs a new part_id.

Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260306152829.3130530-2-mstrozek@opensource.cirrus.com
Tested-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdw_utils/soc_sdw_utils.c

index 424c8a2171f11ef7932a9f1628ccacad18ffbf15..becc2232823000995edbba4c823146bcf6052176 100644 (file)
@@ -723,6 +723,60 @@ struct asoc_sdw_codec_info codec_info_list[] = {
                },
                .dai_num = 4,
        },
+       {
+               .part_id = 0x2A3B,
+               .name_prefix = "cs42l43",
+               .count_sidecar = asoc_sdw_bridge_cs35l56_count_sidecar,
+               .add_sidecar = asoc_sdw_bridge_cs35l56_add_sidecar,
+               .dais = {
+                       {
+                               .direction = {true, false},
+                               .codec_name = "cs42l43-codec",
+                               .dai_name = "cs42l43-dp5",
+                               .dai_type = SOC_SDW_DAI_TYPE_JACK,
+                               .dailink = {SOC_SDW_JACK_OUT_DAI_ID, SOC_SDW_UNUSED_DAI_ID},
+                               .rtd_init = asoc_sdw_cs42l43_hs_rtd_init,
+                               .controls = generic_jack_controls,
+                               .num_controls = ARRAY_SIZE(generic_jack_controls),
+                               .widgets = generic_jack_widgets,
+                               .num_widgets = ARRAY_SIZE(generic_jack_widgets),
+                       },
+                       {
+                               .direction = {false, true},
+                               .codec_name = "cs42l43-codec",
+                               .dai_name = "cs42l43-dp1",
+                               .dai_type = SOC_SDW_DAI_TYPE_MIC,
+                               .dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},
+                               .rtd_init = asoc_sdw_cs42l43_dmic_rtd_init,
+                               .widgets = generic_dmic_widgets,
+                               .num_widgets = ARRAY_SIZE(generic_dmic_widgets),
+                               .quirk = SOC_SDW_CODEC_MIC,
+                               .quirk_exclude = true,
+                       },
+                       {
+                               .direction = {false, true},
+                               .codec_name = "cs42l43-codec",
+                               .dai_name = "cs42l43-dp2",
+                               .dai_type = SOC_SDW_DAI_TYPE_JACK,
+                               .dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_JACK_IN_DAI_ID},
+                       },
+                       {
+                               .direction = {true, false},
+                               .codec_name = "cs42l43-codec",
+                               .dai_name = "cs42l43-dp6",
+                               .dai_type = SOC_SDW_DAI_TYPE_AMP,
+                               .dailink = {SOC_SDW_AMP_OUT_DAI_ID, SOC_SDW_UNUSED_DAI_ID},
+                               .init = asoc_sdw_cs42l43_spk_init,
+                               .rtd_init = asoc_sdw_cs42l43_spk_rtd_init,
+                               .controls = generic_spk_controls,
+                               .num_controls = ARRAY_SIZE(generic_spk_controls),
+                               .widgets = generic_spk_widgets,
+                               .num_widgets = ARRAY_SIZE(generic_spk_widgets),
+                               .quirk = SOC_SDW_CODEC_SPKR | SOC_SDW_SIDECAR_AMPS,
+                       },
+               },
+               .dai_num = 4,
+       },
        {
                .part_id = 0x4245,
                .name_prefix = "cs42l45",