linux/sound/soc/intel/boards/sof_sdw_rt715_sdca.c
Bard Liao b75bea4b88
ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support.
Add rt711, rt1316, and rt714 SDCA codecs support in sof_sdw machine driver.

Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200821195603.215535-15-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-08-24 13:41:35 +01:00

43 lines
1002 B
C

// SPDX-License-Identifier: GPL-2.0-only
// Copyright (c) 2020 Intel Corporation
/*
* sof_sdw_rt715_sdca - Helpers to handle RT715-SDCA from generic machine driver
*/
#include <linux/device.h>
#include <linux/errno.h>
#include <sound/soc.h>
#include <sound/soc-acpi.h>
#include "sof_sdw_common.h"
static int rt715_sdca_rtd_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_card *card = rtd->card;
card->components = devm_kasprintf(card->dev, GFP_KERNEL,
"%s mic:rt715-sdca",
card->components);
if (!card->components)
return -ENOMEM;
return 0;
}
int sof_sdw_rt715_sdca_init(const struct snd_soc_acpi_link_adr *link,
struct snd_soc_dai_link *dai_links,
struct sof_sdw_codec_info *info,
bool playback)
{
/*
* DAI ID is fixed at SDW_DMIC_DAI_ID for 715-SDCA to
* keep sdw DMIC and HDMI setting static in UCM
*/
if (sof_sdw_quirk & SOF_RT715_DAI_ID_FIX)
dai_links->id = SDW_DMIC_DAI_ID;
dai_links->init = rt715_sdca_rtd_init;
return 0;
}