linux/sound/soc/codecs/es8328.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * es8328.c  --  ES8328 ALSA SoC Audio driver
 *
 * Copyright 2014 Sutajio Ko-Usagi PTE LTD
 *
 * Author: Sean Cross <[email protected]>
 */

#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/pm.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/regulator/consumer.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/tlv.h>
#include "es8328.h"

static const unsigned int rates_12288[] =;

static const int ratios_12288[] =;

static const struct snd_pcm_hw_constraint_list constraints_12288 =;

static const unsigned int rates_11289[] =;

static const int ratios_11289[] =;

static const struct snd_pcm_hw_constraint_list constraints_11289 =;

/* regulator supplies for sgtl5000, VDDD is an optional external supply */
enum sgtl5000_regulator_supplies {};

/* vddd is optional supply */
static const char * const supply_names[ES8328_SUPPLY_NUM] =;

#define ES8328_RATES
#define ES8328_FORMATS

struct es8328_priv {};

/*
 * ES8328 Controls
 */

static const char * const adcpol_txt[] =;
static SOC_ENUM_SINGLE_DECL(adcpol,
			    ES8328_ADCCONTROL6, 6, adcpol_txt);

static const DECLARE_TLV_DB_SCALE(play_tlv, -3000, 100, 0);
static const DECLARE_TLV_DB_SCALE(dac_adc_tlv, -9600, 50, 0);
static const DECLARE_TLV_DB_SCALE(bypass_tlv, -1500, 300, 0);
static const DECLARE_TLV_DB_SCALE(mic_tlv, 0, 300, 0);

static const struct {} deemph_settings[] =;

static int es8328_set_deemph(struct snd_soc_component *component)
{}

static int es8328_get_deemph(struct snd_kcontrol *kcontrol,
			     struct snd_ctl_elem_value *ucontrol)
{}

static int es8328_put_deemph(struct snd_kcontrol *kcontrol,
			     struct snd_ctl_elem_value *ucontrol)
{}



static const struct snd_kcontrol_new es8328_snd_controls[] =;

/*
 * DAPM Controls
 */

static const char * const es8328_line_texts[] =;

static const struct soc_enum es8328_lline_enum =;
static const struct snd_kcontrol_new es8328_left_line_controls =;

static const struct soc_enum es8328_rline_enum =;
static const struct snd_kcontrol_new es8328_right_line_controls =;

/* Left Mixer */
static const struct snd_kcontrol_new es8328_left_mixer_controls[] =;

/* Right Mixer */
static const struct snd_kcontrol_new es8328_right_mixer_controls[] =;

static const char * const es8328_pga_sel[] =;

/* Left PGA Mux */
static const struct soc_enum es8328_lpga_enum =;
static const struct snd_kcontrol_new es8328_left_pga_controls =;

/* Right PGA Mux */
static const struct soc_enum es8328_rpga_enum =;
static const struct snd_kcontrol_new es8328_right_pga_controls =;

/* Differential Mux */
static const char * const es8328_diff_sel[] =;
static SOC_ENUM_SINGLE_DECL(diffmux,
			    ES8328_ADCCONTROL3, 7, es8328_diff_sel);
static const struct snd_kcontrol_new es8328_diffmux_controls =;

/* Mono ADC Mux */
static const char * const es8328_mono_mux[] =;
static SOC_ENUM_SINGLE_DECL(monomux,
			    ES8328_ADCCONTROL3, 3, es8328_mono_mux);
static const struct snd_kcontrol_new es8328_monomux_controls =;

static const struct snd_soc_dapm_widget es8328_dapm_widgets[] =;

static const struct snd_soc_dapm_route es8328_dapm_routes[] =;

static int es8328_mute(struct snd_soc_dai *dai, int mute, int direction)
{}

static int es8328_startup(struct snd_pcm_substream *substream,
			  struct snd_soc_dai *dai)
{}

static int es8328_hw_params(struct snd_pcm_substream *substream,
	struct snd_pcm_hw_params *params,
	struct snd_soc_dai *dai)
{}

static int es8328_set_sysclk(struct snd_soc_dai *codec_dai,
		int clk_id, unsigned int freq, int dir)
{}

static int es8328_set_dai_fmt(struct snd_soc_dai *codec_dai,
		unsigned int fmt)
{}

static int es8328_set_bias_level(struct snd_soc_component *component,
				 enum snd_soc_bias_level level)
{}

static const struct snd_soc_dai_ops es8328_dai_ops =;

static struct snd_soc_dai_driver es8328_dai =;

static int es8328_suspend(struct snd_soc_component *component)
{}

static int es8328_resume(struct snd_soc_component *component)
{}

static int es8328_component_probe(struct snd_soc_component *component)
{}

static void es8328_remove(struct snd_soc_component *component)
{}

const struct regmap_config es8328_regmap_config =;
EXPORT_SYMBOL_GPL();

static const struct snd_soc_component_driver es8328_component_driver =;

int es8328_probe(struct device *dev, struct regmap *regmap)
{}
EXPORT_SYMBOL_GPL();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();