linux/sound/soc/mediatek/mt8186/mt8186-dai-pcm.c

// SPDX-License-Identifier: GPL-2.0
//
// MediaTek ALSA SoC Audio DAI I2S Control
//
// Copyright (c) 2022 MediaTek Inc.
// Author: Jiaxin Yu <[email protected]>

#include <linux/regmap.h>
#include <sound/pcm_params.h>
#include "mt8186-afe-common.h"
#include "mt8186-afe-gpio.h"
#include "mt8186-interconnection.h"

struct mtk_afe_pcm_priv {};

enum aud_tx_lch_rpt {};

enum aud_vbt_16k_mode {};

enum aud_ext_modem {};

enum aud_pcm_sync_type {};

enum aud_bt_mode {};

enum aud_pcm_afifo_src {};

enum aud_pcm_clock_source {};

enum aud_pcm_wlen {};

enum aud_pcm_24bit {};

enum aud_pcm_mode {};

enum aud_pcm_fmt {};

enum aud_bclk_out_inv {};

enum aud_lrclk_out_inv {};

enum aud_pcm_en {};

/* dai component */
static const struct snd_kcontrol_new mtk_pcm_1_playback_ch1_mix[] =;

static const struct snd_kcontrol_new mtk_pcm_1_playback_ch2_mix[] =;

static int mtk_pcm_en_event(struct snd_soc_dapm_widget *w,
			    struct snd_kcontrol *kcontrol,
			    int event)
{}

/* pcm in/out lpbk */
static const char * const pcm_lpbk_mux_map[] =;

static int pcm_lpbk_mux_map_value[] =;

static SOC_VALUE_ENUM_SINGLE_AUTODISABLE_DECL(pcm_in_lpbk_mux_map_enum,
					      PCM_INTF_CON1,
					      PCM_I2S_PCM_LOOPBACK_SFT,
					      1,
					      pcm_lpbk_mux_map,
					      pcm_lpbk_mux_map_value);

static const struct snd_kcontrol_new pcm_in_lpbk_mux_control =;

static SOC_VALUE_ENUM_SINGLE_AUTODISABLE_DECL(pcm_out_lpbk_mux_map_enum,
					      PCM_INTF_CON1,
					      PCM_I2S_PCM_LOOPBACK_SFT,
					      1,
					      pcm_lpbk_mux_map,
					      pcm_lpbk_mux_map_value);

static const struct snd_kcontrol_new pcm_out_lpbk_mux_control =;

static const struct snd_soc_dapm_widget mtk_dai_pcm_widgets[] =;

static const struct snd_soc_dapm_route mtk_dai_pcm_routes[] =;

/* dai ops */
static int mtk_dai_pcm_hw_params(struct snd_pcm_substream *substream,
				 struct snd_pcm_hw_params *params,
				 struct snd_soc_dai *dai)
{}

static int mtk_dai_pcm_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{}

static const struct snd_soc_dai_ops mtk_dai_pcm_ops =;

/* dai driver */
#define MTK_PCM_RATES

#define MTK_PCM_FORMATS

static struct snd_soc_dai_driver mtk_dai_pcm_driver[] =;

static struct mtk_afe_pcm_priv *init_pcm_priv_data(struct mtk_base_afe *afe)
{}

int mt8186_dai_pcm_register(struct mtk_base_afe *afe)
{}