linux/include/linux/mfd/wm8400-audio.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * wm8400 private definitions for audio
 *
 * Copyright 2008 Wolfson Microelectronics plc
 */

#ifndef __LINUX_MFD_WM8400_AUDIO_H
#define __LINUX_MFD_WM8400_AUDIO_H

#include <linux/mfd/wm8400-audio.h>

/*
 * R2 (0x02) - Power Management (1)
 */
#define WM8400_CODEC_ENA
#define WM8400_CODEC_ENA_MASK
#define WM8400_CODEC_ENA_SHIFT
#define WM8400_CODEC_ENA_WIDTH
#define WM8400_SYSCLK_ENA
#define WM8400_SYSCLK_ENA_MASK
#define WM8400_SYSCLK_ENA_SHIFT
#define WM8400_SYSCLK_ENA_WIDTH
#define WM8400_SPK_MIX_ENA
#define WM8400_SPK_MIX_ENA_MASK
#define WM8400_SPK_MIX_ENA_SHIFT
#define WM8400_SPK_MIX_ENA_WIDTH
#define WM8400_SPK_ENA
#define WM8400_SPK_ENA_MASK
#define WM8400_SPK_ENA_SHIFT
#define WM8400_SPK_ENA_WIDTH
#define WM8400_OUT3_ENA
#define WM8400_OUT3_ENA_MASK
#define WM8400_OUT3_ENA_SHIFT
#define WM8400_OUT3_ENA_WIDTH
#define WM8400_OUT4_ENA
#define WM8400_OUT4_ENA_MASK
#define WM8400_OUT4_ENA_SHIFT
#define WM8400_OUT4_ENA_WIDTH
#define WM8400_LOUT_ENA
#define WM8400_LOUT_ENA_MASK
#define WM8400_LOUT_ENA_SHIFT
#define WM8400_LOUT_ENA_WIDTH
#define WM8400_ROUT_ENA
#define WM8400_ROUT_ENA_MASK
#define WM8400_ROUT_ENA_SHIFT
#define WM8400_ROUT_ENA_WIDTH
#define WM8400_MIC1BIAS_ENA
#define WM8400_MIC1BIAS_ENA_MASK
#define WM8400_MIC1BIAS_ENA_SHIFT
#define WM8400_MIC1BIAS_ENA_WIDTH
#define WM8400_VMID_MODE_MASK
#define WM8400_VMID_MODE_SHIFT
#define WM8400_VMID_MODE_WIDTH
#define WM8400_VREF_ENA
#define WM8400_VREF_ENA_MASK
#define WM8400_VREF_ENA_SHIFT
#define WM8400_VREF_ENA_WIDTH

/*
 * R3 (0x03) - Power Management (2)
 */
#define WM8400_FLL_ENA
#define WM8400_FLL_ENA_MASK
#define WM8400_FLL_ENA_SHIFT
#define WM8400_FLL_ENA_WIDTH
#define WM8400_TSHUT_ENA
#define WM8400_TSHUT_ENA_MASK
#define WM8400_TSHUT_ENA_SHIFT
#define WM8400_TSHUT_ENA_WIDTH
#define WM8400_TSHUT_OPDIS
#define WM8400_TSHUT_OPDIS_MASK
#define WM8400_TSHUT_OPDIS_SHIFT
#define WM8400_TSHUT_OPDIS_WIDTH
#define WM8400_OPCLK_ENA
#define WM8400_OPCLK_ENA_MASK
#define WM8400_OPCLK_ENA_SHIFT
#define WM8400_OPCLK_ENA_WIDTH
#define WM8400_AINL_ENA
#define WM8400_AINL_ENA_MASK
#define WM8400_AINL_ENA_SHIFT
#define WM8400_AINL_ENA_WIDTH
#define WM8400_AINR_ENA
#define WM8400_AINR_ENA_MASK
#define WM8400_AINR_ENA_SHIFT
#define WM8400_AINR_ENA_WIDTH
#define WM8400_LIN34_ENA
#define WM8400_LIN34_ENA_MASK
#define WM8400_LIN34_ENA_SHIFT
#define WM8400_LIN34_ENA_WIDTH
#define WM8400_LIN12_ENA
#define WM8400_LIN12_ENA_MASK
#define WM8400_LIN12_ENA_SHIFT
#define WM8400_LIN12_ENA_WIDTH
#define WM8400_RIN34_ENA
#define WM8400_RIN34_ENA_MASK
#define WM8400_RIN34_ENA_SHIFT
#define WM8400_RIN34_ENA_WIDTH
#define WM8400_RIN12_ENA
#define WM8400_RIN12_ENA_MASK
#define WM8400_RIN12_ENA_SHIFT
#define WM8400_RIN12_ENA_WIDTH
#define WM8400_ADCL_ENA
#define WM8400_ADCL_ENA_MASK
#define WM8400_ADCL_ENA_SHIFT
#define WM8400_ADCL_ENA_WIDTH
#define WM8400_ADCR_ENA
#define WM8400_ADCR_ENA_MASK
#define WM8400_ADCR_ENA_SHIFT
#define WM8400_ADCR_ENA_WIDTH

/*
 * R4 (0x04) - Power Management (3)
 */
#define WM8400_LON_ENA
#define WM8400_LON_ENA_MASK
#define WM8400_LON_ENA_SHIFT
#define WM8400_LON_ENA_WIDTH
#define WM8400_LOP_ENA
#define WM8400_LOP_ENA_MASK
#define WM8400_LOP_ENA_SHIFT
#define WM8400_LOP_ENA_WIDTH
#define WM8400_RON_ENA
#define WM8400_RON_ENA_MASK
#define WM8400_RON_ENA_SHIFT
#define WM8400_RON_ENA_WIDTH
#define WM8400_ROP_ENA
#define WM8400_ROP_ENA_MASK
#define WM8400_ROP_ENA_SHIFT
#define WM8400_ROP_ENA_WIDTH
#define WM8400_LOPGA_ENA
#define WM8400_LOPGA_ENA_MASK
#define WM8400_LOPGA_ENA_SHIFT
#define WM8400_LOPGA_ENA_WIDTH
#define WM8400_ROPGA_ENA
#define WM8400_ROPGA_ENA_MASK
#define WM8400_ROPGA_ENA_SHIFT
#define WM8400_ROPGA_ENA_WIDTH
#define WM8400_LOMIX_ENA
#define WM8400_LOMIX_ENA_MASK
#define WM8400_LOMIX_ENA_SHIFT
#define WM8400_LOMIX_ENA_WIDTH
#define WM8400_ROMIX_ENA
#define WM8400_ROMIX_ENA_MASK
#define WM8400_ROMIX_ENA_SHIFT
#define WM8400_ROMIX_ENA_WIDTH
#define WM8400_DACL_ENA
#define WM8400_DACL_ENA_MASK
#define WM8400_DACL_ENA_SHIFT
#define WM8400_DACL_ENA_WIDTH
#define WM8400_DACR_ENA
#define WM8400_DACR_ENA_MASK
#define WM8400_DACR_ENA_SHIFT
#define WM8400_DACR_ENA_WIDTH

/*
 * R5 (0x05) - Audio Interface (1)
 */
#define WM8400_AIFADCL_SRC
#define WM8400_AIFADCL_SRC_MASK
#define WM8400_AIFADCL_SRC_SHIFT
#define WM8400_AIFADCL_SRC_WIDTH
#define WM8400_AIFADCR_SRC
#define WM8400_AIFADCR_SRC_MASK
#define WM8400_AIFADCR_SRC_SHIFT
#define WM8400_AIFADCR_SRC_WIDTH
#define WM8400_AIFADC_TDM
#define WM8400_AIFADC_TDM_MASK
#define WM8400_AIFADC_TDM_SHIFT
#define WM8400_AIFADC_TDM_WIDTH
#define WM8400_AIFADC_TDM_CHAN
#define WM8400_AIFADC_TDM_CHAN_MASK
#define WM8400_AIFADC_TDM_CHAN_SHIFT
#define WM8400_AIFADC_TDM_CHAN_WIDTH
#define WM8400_AIF_BCLK_INV
#define WM8400_AIF_BCLK_INV_MASK
#define WM8400_AIF_BCLK_INV_SHIFT
#define WM8400_AIF_BCLK_INV_WIDTH
#define WM8400_AIF_LRCLK_INV
#define WM8400_AIF_LRCLK_INV_MASK
#define WM8400_AIF_LRCLK_INV_SHIFT
#define WM8400_AIF_LRCLK_INV_WIDTH
#define WM8400_AIF_WL_MASK
#define WM8400_AIF_WL_SHIFT
#define WM8400_AIF_WL_WIDTH
#define WM8400_AIF_WL_16BITS
#define WM8400_AIF_WL_20BITS
#define WM8400_AIF_WL_24BITS
#define WM8400_AIF_WL_32BITS
#define WM8400_AIF_FMT_MASK
#define WM8400_AIF_FMT_SHIFT
#define WM8400_AIF_FMT_WIDTH
#define WM8400_AIF_FMT_RIGHTJ
#define WM8400_AIF_FMT_LEFTJ
#define WM8400_AIF_FMT_I2S
#define WM8400_AIF_FMT_DSP

/*
 * R6 (0x06) - Audio Interface (2)
 */
#define WM8400_DACL_SRC
#define WM8400_DACL_SRC_MASK
#define WM8400_DACL_SRC_SHIFT
#define WM8400_DACL_SRC_WIDTH
#define WM8400_DACR_SRC
#define WM8400_DACR_SRC_MASK
#define WM8400_DACR_SRC_SHIFT
#define WM8400_DACR_SRC_WIDTH
#define WM8400_AIFDAC_TDM
#define WM8400_AIFDAC_TDM_MASK
#define WM8400_AIFDAC_TDM_SHIFT
#define WM8400_AIFDAC_TDM_WIDTH
#define WM8400_AIFDAC_TDM_CHAN
#define WM8400_AIFDAC_TDM_CHAN_MASK
#define WM8400_AIFDAC_TDM_CHAN_SHIFT
#define WM8400_AIFDAC_TDM_CHAN_WIDTH
#define WM8400_DAC_BOOST_MASK
#define WM8400_DAC_BOOST_SHIFT
#define WM8400_DAC_BOOST_WIDTH
#define WM8400_DAC_COMP
#define WM8400_DAC_COMP_MASK
#define WM8400_DAC_COMP_SHIFT
#define WM8400_DAC_COMP_WIDTH
#define WM8400_DAC_COMPMODE
#define WM8400_DAC_COMPMODE_MASK
#define WM8400_DAC_COMPMODE_SHIFT
#define WM8400_DAC_COMPMODE_WIDTH
#define WM8400_ADC_COMP
#define WM8400_ADC_COMP_MASK
#define WM8400_ADC_COMP_SHIFT
#define WM8400_ADC_COMP_WIDTH
#define WM8400_ADC_COMPMODE
#define WM8400_ADC_COMPMODE_MASK
#define WM8400_ADC_COMPMODE_SHIFT
#define WM8400_ADC_COMPMODE_WIDTH
#define WM8400_LOOPBACK
#define WM8400_LOOPBACK_MASK
#define WM8400_LOOPBACK_SHIFT
#define WM8400_LOOPBACK_WIDTH

/*
 * R7 (0x07) - Clocking (1)
 */
#define WM8400_TOCLK_RATE
#define WM8400_TOCLK_RATE_MASK
#define WM8400_TOCLK_RATE_SHIFT
#define WM8400_TOCLK_RATE_WIDTH
#define WM8400_TOCLK_ENA
#define WM8400_TOCLK_ENA_MASK
#define WM8400_TOCLK_ENA_SHIFT
#define WM8400_TOCLK_ENA_WIDTH
#define WM8400_OPCLKDIV_MASK
#define WM8400_OPCLKDIV_SHIFT
#define WM8400_OPCLKDIV_WIDTH
#define WM8400_DCLKDIV_MASK
#define WM8400_DCLKDIV_SHIFT
#define WM8400_DCLKDIV_WIDTH
#define WM8400_BCLK_DIV_MASK
#define WM8400_BCLK_DIV_SHIFT
#define WM8400_BCLK_DIV_WIDTH

/*
 * R8 (0x08) - Clocking (2)
 */
#define WM8400_MCLK_SRC
#define WM8400_MCLK_SRC_MASK
#define WM8400_MCLK_SRC_SHIFT
#define WM8400_MCLK_SRC_WIDTH
#define WM8400_SYSCLK_SRC
#define WM8400_SYSCLK_SRC_MASK
#define WM8400_SYSCLK_SRC_SHIFT
#define WM8400_SYSCLK_SRC_WIDTH
#define WM8400_CLK_FORCE
#define WM8400_CLK_FORCE_MASK
#define WM8400_CLK_FORCE_SHIFT
#define WM8400_CLK_FORCE_WIDTH
#define WM8400_MCLK_DIV_MASK
#define WM8400_MCLK_DIV_SHIFT
#define WM8400_MCLK_DIV_WIDTH
#define WM8400_MCLK_INV
#define WM8400_MCLK_INV_MASK
#define WM8400_MCLK_INV_SHIFT
#define WM8400_MCLK_INV_WIDTH
#define WM8400_ADC_CLKDIV_MASK
#define WM8400_ADC_CLKDIV_SHIFT
#define WM8400_ADC_CLKDIV_WIDTH
#define WM8400_DAC_CLKDIV_MASK
#define WM8400_DAC_CLKDIV_SHIFT
#define WM8400_DAC_CLKDIV_WIDTH

/*
 * R9 (0x09) - Audio Interface (3)
 */
#define WM8400_AIF_MSTR1
#define WM8400_AIF_MSTR1_MASK
#define WM8400_AIF_MSTR1_SHIFT
#define WM8400_AIF_MSTR1_WIDTH
#define WM8400_AIF_MSTR2
#define WM8400_AIF_MSTR2_MASK
#define WM8400_AIF_MSTR2_SHIFT
#define WM8400_AIF_MSTR2_WIDTH
#define WM8400_AIF_SEL
#define WM8400_AIF_SEL_MASK
#define WM8400_AIF_SEL_SHIFT
#define WM8400_AIF_SEL_WIDTH
#define WM8400_ADCLRC_DIR
#define WM8400_ADCLRC_DIR_MASK
#define WM8400_ADCLRC_DIR_SHIFT
#define WM8400_ADCLRC_DIR_WIDTH
#define WM8400_ADCLRC_RATE_MASK
#define WM8400_ADCLRC_RATE_SHIFT
#define WM8400_ADCLRC_RATE_WIDTH

/*
 * R10 (0x0A) - Audio Interface (4)
 */
#define WM8400_ALRCGPIO1
#define WM8400_ALRCGPIO1_MASK
#define WM8400_ALRCGPIO1_SHIFT
#define WM8400_ALRCGPIO1_WIDTH
#define WM8400_ALRCBGPIO6
#define WM8400_ALRCBGPIO6_MASK
#define WM8400_ALRCBGPIO6_SHIFT
#define WM8400_ALRCBGPIO6_WIDTH
#define WM8400_AIF_TRIS
#define WM8400_AIF_TRIS_MASK
#define WM8400_AIF_TRIS_SHIFT
#define WM8400_AIF_TRIS_WIDTH
#define WM8400_DACLRC_DIR
#define WM8400_DACLRC_DIR_MASK
#define WM8400_DACLRC_DIR_SHIFT
#define WM8400_DACLRC_DIR_WIDTH
#define WM8400_DACLRC_RATE_MASK
#define WM8400_DACLRC_RATE_SHIFT
#define WM8400_DACLRC_RATE_WIDTH

/*
 * R11 (0x0B) - DAC CTRL
 */
#define WM8400_DAC_SDMCLK_RATE
#define WM8400_DAC_SDMCLK_RATE_MASK
#define WM8400_DAC_SDMCLK_RATE_SHIFT
#define WM8400_DAC_SDMCLK_RATE_WIDTH
#define WM8400_AIF_LRCLKRATE
#define WM8400_AIF_LRCLKRATE_MASK
#define WM8400_AIF_LRCLKRATE_SHIFT
#define WM8400_AIF_LRCLKRATE_WIDTH
#define WM8400_DAC_MONO
#define WM8400_DAC_MONO_MASK
#define WM8400_DAC_MONO_SHIFT
#define WM8400_DAC_MONO_WIDTH
#define WM8400_DAC_SB_FILT
#define WM8400_DAC_SB_FILT_MASK
#define WM8400_DAC_SB_FILT_SHIFT
#define WM8400_DAC_SB_FILT_WIDTH
#define WM8400_DAC_MUTERATE
#define WM8400_DAC_MUTERATE_MASK
#define WM8400_DAC_MUTERATE_SHIFT
#define WM8400_DAC_MUTERATE_WIDTH
#define WM8400_DAC_MUTEMODE
#define WM8400_DAC_MUTEMODE_MASK
#define WM8400_DAC_MUTEMODE_SHIFT
#define WM8400_DAC_MUTEMODE_WIDTH
#define WM8400_DEEMP_MASK
#define WM8400_DEEMP_SHIFT
#define WM8400_DEEMP_WIDTH
#define WM8400_DAC_MUTE
#define WM8400_DAC_MUTE_MASK
#define WM8400_DAC_MUTE_SHIFT
#define WM8400_DAC_MUTE_WIDTH
#define WM8400_DACL_DATINV
#define WM8400_DACL_DATINV_MASK
#define WM8400_DACL_DATINV_SHIFT
#define WM8400_DACL_DATINV_WIDTH
#define WM8400_DACR_DATINV
#define WM8400_DACR_DATINV_MASK
#define WM8400_DACR_DATINV_SHIFT
#define WM8400_DACR_DATINV_WIDTH

/*
 * R12 (0x0C) - Left DAC Digital Volume
 */
#define WM8400_DAC_VU
#define WM8400_DAC_VU_MASK
#define WM8400_DAC_VU_SHIFT
#define WM8400_DAC_VU_WIDTH
#define WM8400_DACL_VOL_MASK
#define WM8400_DACL_VOL_SHIFT
#define WM8400_DACL_VOL_WIDTH

/*
 * R13 (0x0D) - Right DAC Digital Volume
 */
#define WM8400_DAC_VU
#define WM8400_DAC_VU_MASK
#define WM8400_DAC_VU_SHIFT
#define WM8400_DAC_VU_WIDTH
#define WM8400_DACR_VOL_MASK
#define WM8400_DACR_VOL_SHIFT
#define WM8400_DACR_VOL_WIDTH

/*
 * R14 (0x0E) - Digital Side Tone
 */
#define WM8400_ADCL_DAC_SVOL_MASK
#define WM8400_ADCL_DAC_SVOL_SHIFT
#define WM8400_ADCL_DAC_SVOL_WIDTH
#define WM8400_ADCR_DAC_SVOL_MASK
#define WM8400_ADCR_DAC_SVOL_SHIFT
#define WM8400_ADCR_DAC_SVOL_WIDTH
#define WM8400_ADC_TO_DACL_MASK
#define WM8400_ADC_TO_DACL_SHIFT
#define WM8400_ADC_TO_DACL_WIDTH
#define WM8400_ADC_TO_DACR_MASK
#define WM8400_ADC_TO_DACR_SHIFT
#define WM8400_ADC_TO_DACR_WIDTH

/*
 * R15 (0x0F) - ADC CTRL
 */
#define WM8400_ADC_HPF_ENA
#define WM8400_ADC_HPF_ENA_MASK
#define WM8400_ADC_HPF_ENA_SHIFT
#define WM8400_ADC_HPF_ENA_WIDTH
#define WM8400_ADC_HPF_CUT_MASK
#define WM8400_ADC_HPF_CUT_SHIFT
#define WM8400_ADC_HPF_CUT_WIDTH
#define WM8400_ADCL_DATINV
#define WM8400_ADCL_DATINV_MASK
#define WM8400_ADCL_DATINV_SHIFT
#define WM8400_ADCL_DATINV_WIDTH
#define WM8400_ADCR_DATINV
#define WM8400_ADCR_DATINV_MASK
#define WM8400_ADCR_DATINV_SHIFT
#define WM8400_ADCR_DATINV_WIDTH

/*
 * R16 (0x10) - Left ADC Digital Volume
 */
#define WM8400_ADC_VU
#define WM8400_ADC_VU_MASK
#define WM8400_ADC_VU_SHIFT
#define WM8400_ADC_VU_WIDTH
#define WM8400_ADCL_VOL_MASK
#define WM8400_ADCL_VOL_SHIFT
#define WM8400_ADCL_VOL_WIDTH

/*
 * R17 (0x11) - Right ADC Digital Volume
 */
#define WM8400_ADC_VU
#define WM8400_ADC_VU_MASK
#define WM8400_ADC_VU_SHIFT
#define WM8400_ADC_VU_WIDTH
#define WM8400_ADCR_VOL_MASK
#define WM8400_ADCR_VOL_SHIFT
#define WM8400_ADCR_VOL_WIDTH

/*
 * R24 (0x18) - Left Line Input 1&2 Volume
 */
#define WM8400_IPVU
#define WM8400_IPVU_MASK
#define WM8400_IPVU_SHIFT
#define WM8400_IPVU_WIDTH
#define WM8400_LI12MUTE
#define WM8400_LI12MUTE_MASK
#define WM8400_LI12MUTE_SHIFT
#define WM8400_LI12MUTE_WIDTH
#define WM8400_LI12ZC
#define WM8400_LI12ZC_MASK
#define WM8400_LI12ZC_SHIFT
#define WM8400_LI12ZC_WIDTH
#define WM8400_LIN12VOL_MASK
#define WM8400_LIN12VOL_SHIFT
#define WM8400_LIN12VOL_WIDTH

/*
 * R25 (0x19) - Left Line Input 3&4 Volume
 */
#define WM8400_IPVU
#define WM8400_IPVU_MASK
#define WM8400_IPVU_SHIFT
#define WM8400_IPVU_WIDTH
#define WM8400_LI34MUTE
#define WM8400_LI34MUTE_MASK
#define WM8400_LI34MUTE_SHIFT
#define WM8400_LI34MUTE_WIDTH
#define WM8400_LI34ZC
#define WM8400_LI34ZC_MASK
#define WM8400_LI34ZC_SHIFT
#define WM8400_LI34ZC_WIDTH
#define WM8400_LIN34VOL_MASK
#define WM8400_LIN34VOL_SHIFT
#define WM8400_LIN34VOL_WIDTH

/*
 * R26 (0x1A) - Right Line Input 1&2 Volume
 */
#define WM8400_IPVU
#define WM8400_IPVU_MASK
#define WM8400_IPVU_SHIFT
#define WM8400_IPVU_WIDTH
#define WM8400_RI12MUTE
#define WM8400_RI12MUTE_MASK
#define WM8400_RI12MUTE_SHIFT
#define WM8400_RI12MUTE_WIDTH
#define WM8400_RI12ZC
#define WM8400_RI12ZC_MASK
#define WM8400_RI12ZC_SHIFT
#define WM8400_RI12ZC_WIDTH
#define WM8400_RIN12VOL_MASK
#define WM8400_RIN12VOL_SHIFT
#define WM8400_RIN12VOL_WIDTH

/*
 * R27 (0x1B) - Right Line Input 3&4 Volume
 */
#define WM8400_IPVU
#define WM8400_IPVU_MASK
#define WM8400_IPVU_SHIFT
#define WM8400_IPVU_WIDTH
#define WM8400_RI34MUTE
#define WM8400_RI34MUTE_MASK
#define WM8400_RI34MUTE_SHIFT
#define WM8400_RI34MUTE_WIDTH
#define WM8400_RI34ZC
#define WM8400_RI34ZC_MASK
#define WM8400_RI34ZC_SHIFT
#define WM8400_RI34ZC_WIDTH
#define WM8400_RIN34VOL_MASK
#define WM8400_RIN34VOL_SHIFT
#define WM8400_RIN34VOL_WIDTH

/*
 * R28 (0x1C) - Left Output Volume
 */
#define WM8400_OPVU
#define WM8400_OPVU_MASK
#define WM8400_OPVU_SHIFT
#define WM8400_OPVU_WIDTH
#define WM8400_LOZC
#define WM8400_LOZC_MASK
#define WM8400_LOZC_SHIFT
#define WM8400_LOZC_WIDTH
#define WM8400_LOUTVOL_MASK
#define WM8400_LOUTVOL_SHIFT
#define WM8400_LOUTVOL_WIDTH

/*
 * R29 (0x1D) - Right Output Volume
 */
#define WM8400_OPVU
#define WM8400_OPVU_MASK
#define WM8400_OPVU_SHIFT
#define WM8400_OPVU_WIDTH
#define WM8400_ROZC
#define WM8400_ROZC_MASK
#define WM8400_ROZC_SHIFT
#define WM8400_ROZC_WIDTH
#define WM8400_ROUTVOL_MASK
#define WM8400_ROUTVOL_SHIFT
#define WM8400_ROUTVOL_WIDTH

/*
 * R30 (0x1E) - Line Outputs Volume
 */
#define WM8400_LONMUTE
#define WM8400_LONMUTE_MASK
#define WM8400_LONMUTE_SHIFT
#define WM8400_LONMUTE_WIDTH
#define WM8400_LOPMUTE
#define WM8400_LOPMUTE_MASK
#define WM8400_LOPMUTE_SHIFT
#define WM8400_LOPMUTE_WIDTH
#define WM8400_LOATTN
#define WM8400_LOATTN_MASK
#define WM8400_LOATTN_SHIFT
#define WM8400_LOATTN_WIDTH
#define WM8400_RONMUTE
#define WM8400_RONMUTE_MASK
#define WM8400_RONMUTE_SHIFT
#define WM8400_RONMUTE_WIDTH
#define WM8400_ROPMUTE
#define WM8400_ROPMUTE_MASK
#define WM8400_ROPMUTE_SHIFT
#define WM8400_ROPMUTE_WIDTH
#define WM8400_ROATTN
#define WM8400_ROATTN_MASK
#define WM8400_ROATTN_SHIFT
#define WM8400_ROATTN_WIDTH

/*
 * R31 (0x1F) - Out3/4 Volume
 */
#define WM8400_OUT3MUTE
#define WM8400_OUT3MUTE_MASK
#define WM8400_OUT3MUTE_SHIFT
#define WM8400_OUT3MUTE_WIDTH
#define WM8400_OUT3ATTN
#define WM8400_OUT3ATTN_MASK
#define WM8400_OUT3ATTN_SHIFT
#define WM8400_OUT3ATTN_WIDTH
#define WM8400_OUT4MUTE
#define WM8400_OUT4MUTE_MASK
#define WM8400_OUT4MUTE_SHIFT
#define WM8400_OUT4MUTE_WIDTH
#define WM8400_OUT4ATTN
#define WM8400_OUT4ATTN_MASK
#define WM8400_OUT4ATTN_SHIFT
#define WM8400_OUT4ATTN_WIDTH

/*
 * R32 (0x20) - Left OPGA Volume
 */
#define WM8400_OPVU
#define WM8400_OPVU_MASK
#define WM8400_OPVU_SHIFT
#define WM8400_OPVU_WIDTH
#define WM8400_LOPGAZC
#define WM8400_LOPGAZC_MASK
#define WM8400_LOPGAZC_SHIFT
#define WM8400_LOPGAZC_WIDTH
#define WM8400_LOPGAVOL_MASK
#define WM8400_LOPGAVOL_SHIFT
#define WM8400_LOPGAVOL_WIDTH

/*
 * R33 (0x21) - Right OPGA Volume
 */
#define WM8400_OPVU
#define WM8400_OPVU_MASK
#define WM8400_OPVU_SHIFT
#define WM8400_OPVU_WIDTH
#define WM8400_ROPGAZC
#define WM8400_ROPGAZC_MASK
#define WM8400_ROPGAZC_SHIFT
#define WM8400_ROPGAZC_WIDTH
#define WM8400_ROPGAVOL_MASK
#define WM8400_ROPGAVOL_SHIFT
#define WM8400_ROPGAVOL_WIDTH

/*
 * R34 (0x22) - Speaker Volume
 */
#define WM8400_SPKATTN_MASK
#define WM8400_SPKATTN_SHIFT
#define WM8400_SPKATTN_WIDTH

/*
 * R35 (0x23) - ClassD1
 */
#define WM8400_CDMODE
#define WM8400_CDMODE_MASK
#define WM8400_CDMODE_SHIFT
#define WM8400_CDMODE_WIDTH
#define WM8400_CLASSD_CLK_SEL
#define WM8400_CLASSD_CLK_SEL_MASK
#define WM8400_CLASSD_CLK_SEL_SHIFT
#define WM8400_CLASSD_CLK_SEL_WIDTH
#define WM8400_CD_SRCTRL
#define WM8400_CD_SRCTRL_MASK
#define WM8400_CD_SRCTRL_SHIFT
#define WM8400_CD_SRCTRL_WIDTH
#define WM8400_SPKNOPOP
#define WM8400_SPKNOPOP_MASK
#define WM8400_SPKNOPOP_SHIFT
#define WM8400_SPKNOPOP_WIDTH
#define WM8400_DBLERATE
#define WM8400_DBLERATE_MASK
#define WM8400_DBLERATE_SHIFT
#define WM8400_DBLERATE_WIDTH
#define WM8400_LOOPTEST
#define WM8400_LOOPTEST_MASK
#define WM8400_LOOPTEST_SHIFT
#define WM8400_LOOPTEST_WIDTH
#define WM8400_HALFABBIAS
#define WM8400_HALFABBIAS_MASK
#define WM8400_HALFABBIAS_SHIFT
#define WM8400_HALFABBIAS_WIDTH
#define WM8400_TRIDEL_MASK
#define WM8400_TRIDEL_SHIFT
#define WM8400_TRIDEL_WIDTH

/*
 * R37 (0x25) - ClassD3
 */
#define WM8400_DCGAIN_MASK
#define WM8400_DCGAIN_SHIFT
#define WM8400_DCGAIN_WIDTH
#define WM8400_ACGAIN_MASK
#define WM8400_ACGAIN_SHIFT
#define WM8400_ACGAIN_WIDTH

/*
 * R39 (0x27) - Input Mixer1
 */
#define WM8400_AINLMODE_MASK
#define WM8400_AINLMODE_SHIFT
#define WM8400_AINLMODE_WIDTH
#define WM8400_AINRMODE_MASK
#define WM8400_AINRMODE_SHIFT
#define WM8400_AINRMODE_WIDTH

/*
 * R40 (0x28) - Input Mixer2
 */
#define WM8400_LMP4
#define WM8400_LMP4_MASK
#define WM8400_LMP4_SHIFT
#define WM8400_LMP4_WIDTH
#define WM8400_LMN3
#define WM8400_LMN3_MASK
#define WM8400_LMN3_SHIFT
#define WM8400_LMN3_WIDTH
#define WM8400_LMP2
#define WM8400_LMP2_MASK
#define WM8400_LMP2_SHIFT
#define WM8400_LMP2_WIDTH
#define WM8400_LMN1
#define WM8400_LMN1_MASK
#define WM8400_LMN1_SHIFT
#define WM8400_LMN1_WIDTH
#define WM8400_RMP4
#define WM8400_RMP4_MASK
#define WM8400_RMP4_SHIFT
#define WM8400_RMP4_WIDTH
#define WM8400_RMN3
#define WM8400_RMN3_MASK
#define WM8400_RMN3_SHIFT
#define WM8400_RMN3_WIDTH
#define WM8400_RMP2
#define WM8400_RMP2_MASK
#define WM8400_RMP2_SHIFT
#define WM8400_RMP2_WIDTH
#define WM8400_RMN1
#define WM8400_RMN1_MASK
#define WM8400_RMN1_SHIFT
#define WM8400_RMN1_WIDTH

/*
 * R41 (0x29) - Input Mixer3
 */
#define WM8400_L34MNB
#define WM8400_L34MNB_MASK
#define WM8400_L34MNB_SHIFT
#define WM8400_L34MNB_WIDTH
#define WM8400_L34MNBST
#define WM8400_L34MNBST_MASK
#define WM8400_L34MNBST_SHIFT
#define WM8400_L34MNBST_WIDTH
#define WM8400_L12MNB
#define WM8400_L12MNB_MASK
#define WM8400_L12MNB_SHIFT
#define WM8400_L12MNB_WIDTH
#define WM8400_L12MNBST
#define WM8400_L12MNBST_MASK
#define WM8400_L12MNBST_SHIFT
#define WM8400_L12MNBST_WIDTH
#define WM8400_LDBVOL_MASK
#define WM8400_LDBVOL_SHIFT
#define WM8400_LDBVOL_WIDTH

/*
 * R42 (0x2A) - Input Mixer4
 */
#define WM8400_R34MNB
#define WM8400_R34MNB_MASK
#define WM8400_R34MNB_SHIFT
#define WM8400_R34MNB_WIDTH
#define WM8400_R34MNBST
#define WM8400_R34MNBST_MASK
#define WM8400_R34MNBST_SHIFT
#define WM8400_R34MNBST_WIDTH
#define WM8400_R12MNB
#define WM8400_R12MNB_MASK
#define WM8400_R12MNB_SHIFT
#define WM8400_R12MNB_WIDTH
#define WM8400_R12MNBST
#define WM8400_R12MNBST_MASK
#define WM8400_R12MNBST_SHIFT
#define WM8400_R12MNBST_WIDTH
#define WM8400_RDBVOL_MASK
#define WM8400_RDBVOL_SHIFT
#define WM8400_RDBVOL_WIDTH

/*
 * R43 (0x2B) - Input Mixer5
 */
#define WM8400_LI2BVOL_MASK
#define WM8400_LI2BVOL_SHIFT
#define WM8400_LI2BVOL_WIDTH
#define WM8400_LR4BVOL_MASK
#define WM8400_LR4BVOL_SHIFT
#define WM8400_LR4BVOL_WIDTH
#define WM8400_LL4BVOL_MASK
#define WM8400_LL4BVOL_SHIFT
#define WM8400_LL4BVOL_WIDTH

/*
 * R44 (0x2C) - Input Mixer6
 */
#define WM8400_RI2BVOL_MASK
#define WM8400_RI2BVOL_SHIFT
#define WM8400_RI2BVOL_WIDTH
#define WM8400_RL4BVOL_MASK
#define WM8400_RL4BVOL_SHIFT
#define WM8400_RL4BVOL_WIDTH
#define WM8400_RR4BVOL_MASK
#define WM8400_RR4BVOL_SHIFT
#define WM8400_RR4BVOL_WIDTH

/*
 * R45 (0x2D) - Output Mixer1
 */
#define WM8400_LRBLO
#define WM8400_LRBLO_MASK
#define WM8400_LRBLO_SHIFT
#define WM8400_LRBLO_WIDTH
#define WM8400_LLBLO
#define WM8400_LLBLO_MASK
#define WM8400_LLBLO_SHIFT
#define WM8400_LLBLO_WIDTH
#define WM8400_LRI3LO
#define WM8400_LRI3LO_MASK
#define WM8400_LRI3LO_SHIFT
#define WM8400_LRI3LO_WIDTH
#define WM8400_LLI3LO
#define WM8400_LLI3LO_MASK
#define WM8400_LLI3LO_SHIFT
#define WM8400_LLI3LO_WIDTH
#define WM8400_LR12LO
#define WM8400_LR12LO_MASK
#define WM8400_LR12LO_SHIFT
#define WM8400_LR12LO_WIDTH
#define WM8400_LL12LO
#define WM8400_LL12LO_MASK
#define WM8400_LL12LO_SHIFT
#define WM8400_LL12LO_WIDTH
#define WM8400_LDLO
#define WM8400_LDLO_MASK
#define WM8400_LDLO_SHIFT
#define WM8400_LDLO_WIDTH

/*
 * R46 (0x2E) - Output Mixer2
 */
#define WM8400_RLBRO
#define WM8400_RLBRO_MASK
#define WM8400_RLBRO_SHIFT
#define WM8400_RLBRO_WIDTH
#define WM8400_RRBRO
#define WM8400_RRBRO_MASK
#define WM8400_RRBRO_SHIFT
#define WM8400_RRBRO_WIDTH
#define WM8400_RLI3RO
#define WM8400_RLI3RO_MASK
#define WM8400_RLI3RO_SHIFT
#define WM8400_RLI3RO_WIDTH
#define WM8400_RRI3RO
#define WM8400_RRI3RO_MASK
#define WM8400_RRI3RO_SHIFT
#define WM8400_RRI3RO_WIDTH
#define WM8400_RL12RO
#define WM8400_RL12RO_MASK
#define WM8400_RL12RO_SHIFT
#define WM8400_RL12RO_WIDTH
#define WM8400_RR12RO
#define WM8400_RR12RO_MASK
#define WM8400_RR12RO_SHIFT
#define WM8400_RR12RO_WIDTH
#define WM8400_RDRO
#define WM8400_RDRO_MASK
#define WM8400_RDRO_SHIFT
#define WM8400_RDRO_WIDTH

/*
 * R47 (0x2F) - Output Mixer3
 */
#define WM8400_LLI3LOVOL_MASK
#define WM8400_LLI3LOVOL_SHIFT
#define WM8400_LLI3LOVOL_WIDTH
#define WM8400_LR12LOVOL_MASK
#define WM8400_LR12LOVOL_SHIFT
#define WM8400_LR12LOVOL_WIDTH
#define WM8400_LL12LOVOL_MASK
#define WM8400_LL12LOVOL_SHIFT
#define WM8400_LL12LOVOL_WIDTH

/*
 * R48 (0x30) - Output Mixer4
 */
#define WM8400_RRI3ROVOL_MASK
#define WM8400_RRI3ROVOL_SHIFT
#define WM8400_RRI3ROVOL_WIDTH
#define WM8400_RL12ROVOL_MASK
#define WM8400_RL12ROVOL_SHIFT
#define WM8400_RL12ROVOL_WIDTH
#define WM8400_RR12ROVOL_MASK
#define WM8400_RR12ROVOL_SHIFT
#define WM8400_RR12ROVOL_WIDTH

/*
 * R49 (0x31) - Output Mixer5
 */
#define WM8400_LRI3LOVOL_MASK
#define WM8400_LRI3LOVOL_SHIFT
#define WM8400_LRI3LOVOL_WIDTH
#define WM8400_LRBLOVOL_MASK
#define WM8400_LRBLOVOL_SHIFT
#define WM8400_LRBLOVOL_WIDTH
#define WM8400_LLBLOVOL_MASK
#define WM8400_LLBLOVOL_SHIFT
#define WM8400_LLBLOVOL_WIDTH

/*
 * R50 (0x32) - Output Mixer6
 */
#define WM8400_RLI3ROVOL_MASK
#define WM8400_RLI3ROVOL_SHIFT
#define WM8400_RLI3ROVOL_WIDTH
#define WM8400_RLBROVOL_MASK
#define WM8400_RLBROVOL_SHIFT
#define WM8400_RLBROVOL_WIDTH
#define WM8400_RRBROVOL_MASK
#define WM8400_RRBROVOL_SHIFT
#define WM8400_RRBROVOL_WIDTH

/*
 * R51 (0x33) - Out3/4 Mixer
 */
#define WM8400_VSEL_MASK
#define WM8400_VSEL_SHIFT
#define WM8400_VSEL_WIDTH
#define WM8400_LI4O3
#define WM8400_LI4O3_MASK
#define WM8400_LI4O3_SHIFT
#define WM8400_LI4O3_WIDTH
#define WM8400_LPGAO3
#define WM8400_LPGAO3_MASK
#define WM8400_LPGAO3_SHIFT
#define WM8400_LPGAO3_WIDTH
#define WM8400_RI4O4
#define WM8400_RI4O4_MASK
#define WM8400_RI4O4_SHIFT
#define WM8400_RI4O4_WIDTH
#define WM8400_RPGAO4
#define WM8400_RPGAO4_MASK
#define WM8400_RPGAO4_SHIFT
#define WM8400_RPGAO4_WIDTH

/*
 * R52 (0x34) - Line Mixer1
 */
#define WM8400_LLOPGALON
#define WM8400_LLOPGALON_MASK
#define WM8400_LLOPGALON_SHIFT
#define WM8400_LLOPGALON_WIDTH
#define WM8400_LROPGALON
#define WM8400_LROPGALON_MASK
#define WM8400_LROPGALON_SHIFT
#define WM8400_LROPGALON_WIDTH
#define WM8400_LOPLON
#define WM8400_LOPLON_MASK
#define WM8400_LOPLON_SHIFT
#define WM8400_LOPLON_WIDTH
#define WM8400_LR12LOP
#define WM8400_LR12LOP_MASK
#define WM8400_LR12LOP_SHIFT
#define WM8400_LR12LOP_WIDTH
#define WM8400_LL12LOP
#define WM8400_LL12LOP_MASK
#define WM8400_LL12LOP_SHIFT
#define WM8400_LL12LOP_WIDTH
#define WM8400_LLOPGALOP
#define WM8400_LLOPGALOP_MASK
#define WM8400_LLOPGALOP_SHIFT
#define WM8400_LLOPGALOP_WIDTH

/*
 * R53 (0x35) - Line Mixer2
 */
#define WM8400_RROPGARON
#define WM8400_RROPGARON_MASK
#define WM8400_RROPGARON_SHIFT
#define WM8400_RROPGARON_WIDTH
#define WM8400_RLOPGARON
#define WM8400_RLOPGARON_MASK
#define WM8400_RLOPGARON_SHIFT
#define WM8400_RLOPGARON_WIDTH
#define WM8400_ROPRON
#define WM8400_ROPRON_MASK
#define WM8400_ROPRON_SHIFT
#define WM8400_ROPRON_WIDTH
#define WM8400_RL12ROP
#define WM8400_RL12ROP_MASK
#define WM8400_RL12ROP_SHIFT
#define WM8400_RL12ROP_WIDTH
#define WM8400_RR12ROP
#define WM8400_RR12ROP_MASK
#define WM8400_RR12ROP_SHIFT
#define WM8400_RR12ROP_WIDTH
#define WM8400_RROPGAROP
#define WM8400_RROPGAROP_MASK
#define WM8400_RROPGAROP_SHIFT
#define WM8400_RROPGAROP_WIDTH

/*
 * R54 (0x36) - Speaker Mixer
 */
#define WM8400_LB2SPK
#define WM8400_LB2SPK_MASK
#define WM8400_LB2SPK_SHIFT
#define WM8400_LB2SPK_WIDTH
#define WM8400_RB2SPK
#define WM8400_RB2SPK_MASK
#define WM8400_RB2SPK_SHIFT
#define WM8400_RB2SPK_WIDTH
#define WM8400_LI2SPK
#define WM8400_LI2SPK_MASK
#define WM8400_LI2SPK_SHIFT
#define WM8400_LI2SPK_WIDTH
#define WM8400_RI2SPK
#define WM8400_RI2SPK_MASK
#define WM8400_RI2SPK_SHIFT
#define WM8400_RI2SPK_WIDTH
#define WM8400_LOPGASPK
#define WM8400_LOPGASPK_MASK
#define WM8400_LOPGASPK_SHIFT
#define WM8400_LOPGASPK_WIDTH
#define WM8400_ROPGASPK
#define WM8400_ROPGASPK_MASK
#define WM8400_ROPGASPK_SHIFT
#define WM8400_ROPGASPK_WIDTH
#define WM8400_LDSPK
#define WM8400_LDSPK_MASK
#define WM8400_LDSPK_SHIFT
#define WM8400_LDSPK_WIDTH
#define WM8400_RDSPK
#define WM8400_RDSPK_MASK
#define WM8400_RDSPK_SHIFT
#define WM8400_RDSPK_WIDTH

/*
 * R55 (0x37) - Additional Control
 */
#define WM8400_VROI
#define WM8400_VROI_MASK
#define WM8400_VROI_SHIFT
#define WM8400_VROI_WIDTH

/*
 * R56 (0x38) - AntiPOP1
 */
#define WM8400_DIS_LLINE
#define WM8400_DIS_LLINE_MASK
#define WM8400_DIS_LLINE_SHIFT
#define WM8400_DIS_LLINE_WIDTH
#define WM8400_DIS_RLINE
#define WM8400_DIS_RLINE_MASK
#define WM8400_DIS_RLINE_SHIFT
#define WM8400_DIS_RLINE_WIDTH
#define WM8400_DIS_OUT3
#define WM8400_DIS_OUT3_MASK
#define WM8400_DIS_OUT3_SHIFT
#define WM8400_DIS_OUT3_WIDTH
#define WM8400_DIS_OUT4
#define WM8400_DIS_OUT4_MASK
#define WM8400_DIS_OUT4_SHIFT
#define WM8400_DIS_OUT4_WIDTH
#define WM8400_DIS_LOUT
#define WM8400_DIS_LOUT_MASK
#define WM8400_DIS_LOUT_SHIFT
#define WM8400_DIS_LOUT_WIDTH
#define WM8400_DIS_ROUT
#define WM8400_DIS_ROUT_MASK
#define WM8400_DIS_ROUT_SHIFT
#define WM8400_DIS_ROUT_WIDTH

/*
 * R57 (0x39) - AntiPOP2
 */
#define WM8400_SOFTST
#define WM8400_SOFTST_MASK
#define WM8400_SOFTST_SHIFT
#define WM8400_SOFTST_WIDTH
#define WM8400_BUFIOEN
#define WM8400_BUFIOEN_MASK
#define WM8400_BUFIOEN_SHIFT
#define WM8400_BUFIOEN_WIDTH
#define WM8400_BUFDCOPEN
#define WM8400_BUFDCOPEN_MASK
#define WM8400_BUFDCOPEN_SHIFT
#define WM8400_BUFDCOPEN_WIDTH
#define WM8400_POBCTRL
#define WM8400_POBCTRL_MASK
#define WM8400_POBCTRL_SHIFT
#define WM8400_POBCTRL_WIDTH
#define WM8400_VMIDTOG
#define WM8400_VMIDTOG_MASK
#define WM8400_VMIDTOG_SHIFT
#define WM8400_VMIDTOG_WIDTH

/*
 * R58 (0x3A) - MICBIAS
 */
#define WM8400_MCDSCTH_MASK
#define WM8400_MCDSCTH_SHIFT
#define WM8400_MCDSCTH_WIDTH
#define WM8400_MCDTHR_MASK
#define WM8400_MCDTHR_SHIFT
#define WM8400_MCDTHR_WIDTH
#define WM8400_MCD
#define WM8400_MCD_MASK
#define WM8400_MCD_SHIFT
#define WM8400_MCD_WIDTH
#define WM8400_MBSEL
#define WM8400_MBSEL_MASK
#define WM8400_MBSEL_SHIFT
#define WM8400_MBSEL_WIDTH

/*
 * R60 (0x3C) - FLL Control 1
 */
#define WM8400_FLL_REF_FREQ
#define WM8400_FLL_REF_FREQ_MASK
#define WM8400_FLL_REF_FREQ_SHIFT
#define WM8400_FLL_REF_FREQ_WIDTH
#define WM8400_FLL_CLK_SRC_MASK
#define WM8400_FLL_CLK_SRC_SHIFT
#define WM8400_FLL_CLK_SRC_WIDTH
#define WM8400_FLL_FRAC
#define WM8400_FLL_FRAC_MASK
#define WM8400_FLL_FRAC_SHIFT
#define WM8400_FLL_FRAC_WIDTH
#define WM8400_FLL_OSC_ENA
#define WM8400_FLL_OSC_ENA_MASK
#define WM8400_FLL_OSC_ENA_SHIFT
#define WM8400_FLL_OSC_ENA_WIDTH
#define WM8400_FLL_CTRL_RATE_MASK
#define WM8400_FLL_CTRL_RATE_SHIFT
#define WM8400_FLL_CTRL_RATE_WIDTH
#define WM8400_FLL_FRATIO_MASK
#define WM8400_FLL_FRATIO_SHIFT
#define WM8400_FLL_FRATIO_WIDTH

/*
 * R61 (0x3D) - FLL Control 2
 */
#define WM8400_FLL_K_MASK
#define WM8400_FLL_K_SHIFT
#define WM8400_FLL_K_WIDTH

/*
 * R62 (0x3E) - FLL Control 3
 */
#define WM8400_FLL_N_MASK
#define WM8400_FLL_N_SHIFT
#define WM8400_FLL_N_WIDTH

/*
 * R63 (0x3F) - FLL Control 4
 */
#define WM8400_FLL_TRK_GAIN_MASK
#define WM8400_FLL_TRK_GAIN_SHIFT
#define WM8400_FLL_TRK_GAIN_WIDTH
#define WM8400_FLL_OUTDIV_MASK
#define WM8400_FLL_OUTDIV_SHIFT
#define WM8400_FLL_OUTDIV_WIDTH

struct wm8400;
void wm8400_reset_codec_reg_cache(struct wm8400 *wm8400);

#endif