linux/sound/soc/ti/omap-mcbsp-st.c

// SPDX-License-Identifier: GPL-2.0
/*
 * McBSP Sidetone support
 *
 * Copyright (C) 2004 Nokia Corporation
 * Author: Samuel Ortiz <[email protected]>
 *
 * Contact: Jarkko Nikula <[email protected]>
 *          Peter Ujfalusi <[email protected]>
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/slab.h>

#include "omap-mcbsp.h"
#include "omap-mcbsp-priv.h"

/* OMAP3 sidetone control registers */
#define OMAP_ST_REG_REV
#define OMAP_ST_REG_SYSCONFIG
#define OMAP_ST_REG_IRQSTATUS
#define OMAP_ST_REG_IRQENABLE
#define OMAP_ST_REG_SGAINCR
#define OMAP_ST_REG_SFIRCR
#define OMAP_ST_REG_SSELCR

/********************** McBSP SSELCR bit definitions ***********************/
#define SIDETONEEN

/********************** McBSP Sidetone SYSCONFIG bit definitions ***********/
#define ST_AUTOIDLE

/********************** McBSP Sidetone SGAINCR bit definitions *************/
#define ST_CH0GAIN(value)
#define ST_CH1GAIN(value)

/********************** McBSP Sidetone SFIRCR bit definitions **************/
#define ST_FIRCOEFF(value)

/********************** McBSP Sidetone SSELCR bit definitions **************/
#define ST_SIDETONEEN
#define ST_COEFFWREN
#define ST_COEFFWRDONE

struct omap_mcbsp_st_data {};

static void omap_mcbsp_st_write(struct omap_mcbsp *mcbsp, u16 reg, u32 val)
{}

static int omap_mcbsp_st_read(struct omap_mcbsp *mcbsp, u16 reg)
{}

#define MCBSP_ST_READ(mcbsp, reg)
#define MCBSP_ST_WRITE(mcbsp, reg, val)

static void omap_mcbsp_st_on(struct omap_mcbsp *mcbsp)
{}

static void omap_mcbsp_st_off(struct omap_mcbsp *mcbsp)
{}

static void omap_mcbsp_st_fir_write(struct omap_mcbsp *mcbsp, s16 *fir)
{}

static void omap_mcbsp_st_chgain(struct omap_mcbsp *mcbsp)
{}

static int omap_mcbsp_st_set_chgain(struct omap_mcbsp *mcbsp, int channel,
				    s16 chgain)
{}

static int omap_mcbsp_st_get_chgain(struct omap_mcbsp *mcbsp, int channel,
				    s16 *chgain)
{}

static int omap_mcbsp_st_enable(struct omap_mcbsp *mcbsp)
{}

static int omap_mcbsp_st_disable(struct omap_mcbsp *mcbsp)
{}

static int omap_mcbsp_st_is_enabled(struct omap_mcbsp *mcbsp)
{}

static ssize_t st_taps_show(struct device *dev,
			    struct device_attribute *attr, char *buf)
{}

static ssize_t st_taps_store(struct device *dev,
			     struct device_attribute *attr,
			     const char *buf, size_t size)
{}

static DEVICE_ATTR_RW(st_taps);

static const struct attribute *sidetone_attrs[] =;

static const struct attribute_group sidetone_attr_group =;

int omap_mcbsp_st_start(struct omap_mcbsp *mcbsp)
{}

int omap_mcbsp_st_stop(struct omap_mcbsp *mcbsp)
{}

int omap_mcbsp_st_init(struct platform_device *pdev)
{}

static int omap_mcbsp_st_info_volsw(struct snd_kcontrol *kcontrol,
				    struct snd_ctl_elem_info *uinfo)
{}

#define OMAP_MCBSP_ST_CHANNEL_VOLUME(channel)

OMAP_MCBSP_ST_CHANNEL_VOLUME()
OMAP_MCBSP_ST_CHANNEL_VOLUME()

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

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

#define OMAP_MCBSP_SOC_SINGLE_S16_EXT(xname, xmin, xmax,		\
				      xhandler_get, xhandler_put)

#define OMAP_MCBSP_ST_CONTROLS(port)

OMAP_MCBSP_ST_CONTROLS(2);
OMAP_MCBSP_ST_CONTROLS(3);

int omap_mcbsp_st_add_controls(struct snd_soc_pcm_runtime *rtd, int port_id)
{}
EXPORT_SYMBOL_GPL();