// SPDX-License-Identifier: GPL-2.0-only // This file incorporates work covered by the following copyright notice: // Copyright (c) 2024 Intel Corporation // Copyright (c) 2024 Advanced Micro Devices, Inc.
ret = snd_soc_dapm_new_controls(&card->dapm, bridge_widgets,
ARRAY_SIZE(bridge_widgets)); if (ret) {
dev_err(card->dev, "widgets addition failed: %d\n", ret); return ret;
}
ret = snd_soc_dapm_add_routes(&card->dapm, bridge_map, ARRAY_SIZE(bridge_map)); if (ret) {
dev_err(card->dev, "map addition failed: %d\n", ret); return ret;
}
/* 4 x 16-bit sample slots and FSYNC=48000, BCLK=3.072 MHz */
for_each_rtd_codec_dais(rtd, i, codec_dai) {
ret = asoc_sdw_cs35l56_volume_limit(card, codec_dai->component->name_prefix); if (ret) return ret;
ret = snd_soc_dai_set_tdm_slot(codec_dai, tx_mask, rx_mask, 4, 16); if (ret < 0) return ret;
ret = snd_soc_dai_set_sysclk(codec_dai, 0, 3072000, SND_SOC_CLOCK_IN); if (ret < 0) return ret;
}
for_each_rtd_cpu_dais(rtd, i, cpu_dai) {
ret = snd_soc_dai_set_tdm_slot(cpu_dai, tx_mask, rx_mask, 4, 16); if (ret < 0) return ret;
}
int asoc_sdw_bridge_cs35l56_count_sidecar(struct snd_soc_card *card, int *num_dais, int *num_devs)
{ struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
if (ctx->mc_quirk & SOC_SDW_SIDECAR_AMPS) {
(*num_dais)++;
(*num_devs) += ARRAY_SIZE(bridge_cs35l56_name_prefixes);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.