linux/sound/pci/ice1712/wm8776.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __SOUND_WM8776_H
#define __SOUND_WM8776_H

/*
 *   ALSA driver for ICEnsemble VT17xx
 *
 *   Lowlevel functions for WM8776 codec
 *
 *	Copyright (c) 2012 Ondrej Zary <[email protected]>
 */

#define WM8776_REG_HPLVOL
#define WM8776_REG_HPRVOL
#define WM8776_REG_HPMASTER
#define WM8776_HPVOL_MASK
#define WM8776_VOL_HPZCEN
#define WM8776_VOL_UPDATE
#define WM8776_REG_DACLVOL
#define WM8776_REG_DACRVOL
#define WM8776_REG_DACMASTER
#define WM8776_DACVOL_MASK
#define WM8776_REG_PHASESWAP
#define WM8776_PHASE_INVERTL
#define WM8776_PHASE_INVERTR
#define WM8776_REG_DACCTRL1
#define WM8776_DAC_DZCEN
#define WM8776_DAC_ATC
#define WM8776_DAC_IZD
#define WM8776_DAC_TOD
#define WM8776_DAC_PL_MASK
#define WM8776_DAC_PL_LL
#define WM8776_DAC_PL_LR
#define WM8776_DAC_PL_LB
#define WM8776_DAC_PL_RL
#define WM8776_DAC_PL_RR
#define WM8776_DAC_PL_RB
#define WM8776_REG_DACMUTE
#define WM8776_DACMUTE
#define WM8776_REG_DACCTRL2
#define WM8776_DAC2_DEEMPH
#define WM8776_DAC2_ZFLAG_DISABLE
#define WM8776_DAC2_ZFLAG_OWN
#define WM8776_DAC2_ZFLAG_BOTH
#define WM8776_DAC2_ZFLAG_EITHER
#define WM8776_REG_DACIFCTRL
#define WM8776_FMT_RIGHTJ
#define WM8776_FMT_LEFTJ
#define WM8776_FMT_I2S
#define WM8776_FMT_DSP
#define WM8776_FMT_DSP_LATE
#define WM8776_FMT_LRC_INVERTED
#define WM8776_FMT_BCLK_INVERTED
#define WM8776_FMT_16BIT
#define WM8776_FMT_20BIT
#define WM8776_FMT_24BIT
#define WM8776_FMT_32BIT
#define WM8776_REG_ADCIFCTRL
#define WM8776_FMT_ADCMCLK_INVERTED
#define WM8776_FMT_ADCHPD
#define WM8776_REG_MSTRCTRL
#define WM8776_IF_ADC256FS
#define WM8776_IF_ADC384FS
#define WM8776_IF_ADC512FS
#define WM8776_IF_ADC768FS
#define WM8776_IF_OVERSAMP64
#define WM8776_IF_DAC128FS
#define WM8776_IF_DAC192FS
#define WM8776_IF_DAC256FS
#define WM8776_IF_DAC384FS
#define WM8776_IF_DAC512FS
#define WM8776_IF_DAC768FS
#define WM8776_IF_DAC_MASTER
#define WM8776_IF_ADC_MASTER
#define WM8776_REG_PWRDOWN
#define WM8776_PWR_PDWN
#define WM8776_PWR_ADCPD
#define WM8776_PWR_DACPD
#define WM8776_PWR_HPPD
#define WM8776_PWR_AINPD
#define WM8776_REG_ADCLVOL
#define WM8776_REG_ADCRVOL
#define WM8776_ADC_GAIN_MASK
#define WM8776_ADC_ZCEN
#define WM8776_REG_ALCCTRL1
#define WM8776_ALC1_LCT_MASK
#define WM8776_ALC1_MAXGAIN_MASK
#define WM8776_ALC1_LCSEL_MASK
#define WM8776_ALC1_LCSEL_LIMITER
#define WM8776_ALC1_LCSEL_ALCR
#define WM8776_ALC1_LCSEL_ALCL
#define WM8776_ALC1_LCSEL_ALCSTEREO
#define WM8776_REG_ALCCTRL2
#define WM8776_ALC2_HOLD_MASK
#define WM8776_ALC2_ZCEN
#define WM8776_ALC2_LCEN
#define WM8776_REG_ALCCTRL3
#define WM8776_ALC3_ATK_MASK
#define WM8776_ALC3_DCY_MASK
#define WM8776_ALC3_FDECAY
#define WM8776_REG_NOISEGATE
#define WM8776_NGAT_ENABLE
#define WM8776_NGAT_THR_MASK
#define WM8776_REG_LIMITER
#define WM8776_LIM_MAXATTEN_MASK
#define WM8776_LIM_TRANWIN_MASK
#define WM8776_REG_ADCMUX
#define WM8776_ADC_MUX_AIN1
#define WM8776_ADC_MUX_AIN2
#define WM8776_ADC_MUX_AIN3
#define WM8776_ADC_MUX_AIN4
#define WM8776_ADC_MUX_AIN5
#define WM8776_ADC_MUTER
#define WM8776_ADC_MUTEL
#define WM8776_ADC_LRBOTH
#define WM8776_REG_OUTMUX
#define WM8776_OUTMUX_DAC
#define WM8776_OUTMUX_AUX
#define WM8776_OUTMUX_BYPASS
#define WM8776_REG_RESET

#define WM8776_REG_COUNT

struct snd_wm8776;

struct snd_wm8776_ops {};

enum snd_wm8776_ctl_id {};

#define WM8776_ENUM_MAX

#define WM8776_FLAG_STEREO
#define WM8776_FLAG_VOL_UPDATE
#define WM8776_FLAG_INVERT
#define WM8776_FLAG_LIM
#define WM8776_FLAG_ALC

struct snd_wm8776_ctl {};

enum snd_wm8776_agc_mode {};

struct snd_wm8776 {};



void snd_wm8776_init(struct snd_wm8776 *wm);
void snd_wm8776_resume(struct snd_wm8776 *wm);
void snd_wm8776_set_power(struct snd_wm8776 *wm, u16 power);
void snd_wm8776_volume_restore(struct snd_wm8776 *wm);
int snd_wm8776_build_controls(struct snd_wm8776 *wm);

#endif /* __SOUND_WM8776_H */