linux/sound/soc/codecs/wm8904.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * wm8904.h  --  WM8904 ASoC driver
 *
 * Copyright 2009 Wolfson Microelectronics, plc
 *
 * Author: Mark Brown <[email protected]>
 */

#ifndef _WM8904_H
#define _WM8904_H

#define WM8904_CLK_AUTO
#define WM8904_CLK_MCLK
#define WM8904_CLK_FLL

#define WM8904_FLL_MCLK
#define WM8904_FLL_BCLK
#define WM8904_FLL_LRCLK
#define WM8904_FLL_FREE_RUNNING

/*
 * Register values.
 */
#define WM8904_SW_RESET_AND_ID
#define WM8904_REVISION
#define WM8904_BIAS_CONTROL_0
#define WM8904_VMID_CONTROL_0
#define WM8904_MIC_BIAS_CONTROL_0
#define WM8904_MIC_BIAS_CONTROL_1
#define WM8904_ANALOGUE_DAC_0
#define WM8904_MIC_FILTER_CONTROL
#define WM8904_ANALOGUE_ADC_0
#define WM8904_POWER_MANAGEMENT_0
#define WM8904_POWER_MANAGEMENT_2
#define WM8904_POWER_MANAGEMENT_3
#define WM8904_POWER_MANAGEMENT_6
#define WM8904_CLOCK_RATES_0
#define WM8904_CLOCK_RATES_1
#define WM8904_CLOCK_RATES_2
#define WM8904_AUDIO_INTERFACE_0
#define WM8904_AUDIO_INTERFACE_1
#define WM8904_AUDIO_INTERFACE_2
#define WM8904_AUDIO_INTERFACE_3
#define WM8904_DAC_DIGITAL_VOLUME_LEFT
#define WM8904_DAC_DIGITAL_VOLUME_RIGHT
#define WM8904_DAC_DIGITAL_0
#define WM8904_DAC_DIGITAL_1
#define WM8904_ADC_DIGITAL_VOLUME_LEFT
#define WM8904_ADC_DIGITAL_VOLUME_RIGHT
#define WM8904_ADC_DIGITAL_0
#define WM8904_DIGITAL_MICROPHONE_0
#define WM8904_DRC_0
#define WM8904_DRC_1
#define WM8904_DRC_2
#define WM8904_DRC_3
#define WM8904_ANALOGUE_LEFT_INPUT_0
#define WM8904_ANALOGUE_RIGHT_INPUT_0
#define WM8904_ANALOGUE_LEFT_INPUT_1
#define WM8904_ANALOGUE_RIGHT_INPUT_1
#define WM8904_ANALOGUE_OUT1_LEFT
#define WM8904_ANALOGUE_OUT1_RIGHT
#define WM8904_ANALOGUE_OUT2_LEFT
#define WM8904_ANALOGUE_OUT2_RIGHT
#define WM8904_ANALOGUE_OUT12_ZC
#define WM8904_DC_SERVO_0
#define WM8904_DC_SERVO_1
#define WM8904_DC_SERVO_2
#define WM8904_DC_SERVO_4
#define WM8904_DC_SERVO_5
#define WM8904_DC_SERVO_6
#define WM8904_DC_SERVO_7
#define WM8904_DC_SERVO_8
#define WM8904_DC_SERVO_9
#define WM8904_DC_SERVO_READBACK_0
#define WM8904_ANALOGUE_HP_0
#define WM8904_ANALOGUE_LINEOUT_0
#define WM8904_CHARGE_PUMP_0
#define WM8904_CLASS_W_0
#define WM8904_WRITE_SEQUENCER_0
#define WM8904_WRITE_SEQUENCER_1
#define WM8904_WRITE_SEQUENCER_2
#define WM8904_WRITE_SEQUENCER_3
#define WM8904_WRITE_SEQUENCER_4
#define WM8904_FLL_CONTROL_1
#define WM8904_FLL_CONTROL_2
#define WM8904_FLL_CONTROL_3
#define WM8904_FLL_CONTROL_4
#define WM8904_FLL_CONTROL_5
#define WM8904_GPIO_CONTROL_1
#define WM8904_GPIO_CONTROL_2
#define WM8904_GPIO_CONTROL_3
#define WM8904_GPIO_CONTROL_4
#define WM8904_DIGITAL_PULLS
#define WM8904_INTERRUPT_STATUS
#define WM8904_INTERRUPT_STATUS_MASK
#define WM8904_INTERRUPT_POLARITY
#define WM8904_INTERRUPT_DEBOUNCE
#define WM8904_EQ1
#define WM8904_EQ2
#define WM8904_EQ3
#define WM8904_EQ4
#define WM8904_EQ5
#define WM8904_EQ6
#define WM8904_EQ7
#define WM8904_EQ8
#define WM8904_EQ9
#define WM8904_EQ10
#define WM8904_EQ11
#define WM8904_EQ12
#define WM8904_EQ13
#define WM8904_EQ14
#define WM8904_EQ15
#define WM8904_EQ16
#define WM8904_EQ17
#define WM8904_EQ18
#define WM8904_EQ19
#define WM8904_EQ20
#define WM8904_EQ21
#define WM8904_EQ22
#define WM8904_EQ23
#define WM8904_EQ24
#define WM8904_CONTROL_INTERFACE_TEST_1
#define WM8904_ADC_TEST_0
#define WM8904_ANALOGUE_OUTPUT_BIAS_0
#define WM8904_FLL_NCO_TEST_0
#define WM8904_FLL_NCO_TEST_1

#define WM8904_REGISTER_COUNT
#define WM8904_MAX_REGISTER

/*
 * Field Definitions.
 */

/*
 * R0 (0x00) - SW Reset and ID
 */
#define WM8904_SW_RST_DEV_ID1_MASK
#define WM8904_SW_RST_DEV_ID1_SHIFT
#define WM8904_SW_RST_DEV_ID1_WIDTH

/*
 * R1 (0x01) - Revision
 */
#define WM8904_REVISION_MASK
#define WM8904_REVISION_SHIFT
#define WM8904_REVISION_WIDTH

/*
 * R4 (0x04) - Bias Control 0
 */
#define WM8904_POBCTRL
#define WM8904_POBCTRL_MASK
#define WM8904_POBCTRL_SHIFT
#define WM8904_POBCTRL_WIDTH
#define WM8904_ISEL_MASK
#define WM8904_ISEL_SHIFT
#define WM8904_ISEL_WIDTH
#define WM8904_STARTUP_BIAS_ENA
#define WM8904_STARTUP_BIAS_ENA_MASK
#define WM8904_STARTUP_BIAS_ENA_SHIFT
#define WM8904_STARTUP_BIAS_ENA_WIDTH
#define WM8904_BIAS_ENA
#define WM8904_BIAS_ENA_MASK
#define WM8904_BIAS_ENA_SHIFT
#define WM8904_BIAS_ENA_WIDTH

/*
 * R5 (0x05) - VMID Control 0
 */
#define WM8904_VMID_BUF_ENA
#define WM8904_VMID_BUF_ENA_MASK
#define WM8904_VMID_BUF_ENA_SHIFT
#define WM8904_VMID_BUF_ENA_WIDTH
#define WM8904_VMID_RES_MASK
#define WM8904_VMID_RES_SHIFT
#define WM8904_VMID_RES_WIDTH
#define WM8904_VMID_ENA
#define WM8904_VMID_ENA_MASK
#define WM8904_VMID_ENA_SHIFT
#define WM8904_VMID_ENA_WIDTH

/*
 * R8 (0x08) - Analogue DAC 0
 */
#define WM8904_DAC_BIAS_SEL_MASK
#define WM8904_DAC_BIAS_SEL_SHIFT
#define WM8904_DAC_BIAS_SEL_WIDTH
#define WM8904_DAC_VMID_BIAS_SEL_MASK
#define WM8904_DAC_VMID_BIAS_SEL_SHIFT
#define WM8904_DAC_VMID_BIAS_SEL_WIDTH

/*
 * R9 (0x09) - mic Filter Control
 */
#define WM8904_MIC_DET_SET_THRESHOLD_MASK
#define WM8904_MIC_DET_SET_THRESHOLD_SHIFT
#define WM8904_MIC_DET_SET_THRESHOLD_WIDTH
#define WM8904_MIC_DET_RESET_THRESHOLD_MASK
#define WM8904_MIC_DET_RESET_THRESHOLD_SHIFT
#define WM8904_MIC_DET_RESET_THRESHOLD_WIDTH
#define WM8904_MIC_SHORT_SET_THRESHOLD_MASK
#define WM8904_MIC_SHORT_SET_THRESHOLD_SHIFT
#define WM8904_MIC_SHORT_SET_THRESHOLD_WIDTH
#define WM8904_MIC_SHORT_RESET_THRESHOLD_MASK
#define WM8904_MIC_SHORT_RESET_THRESHOLD_SHIFT
#define WM8904_MIC_SHORT_RESET_THRESHOLD_WIDTH

/*
 * R10 (0x0A) - Analogue ADC 0
 */
#define WM8904_ADC_OSR128
#define WM8904_ADC_OSR128_MASK
#define WM8904_ADC_OSR128_SHIFT
#define WM8904_ADC_OSR128_WIDTH

/*
 * R12 (0x0C) - Power Management 0
 */
#define WM8904_INL_ENA
#define WM8904_INL_ENA_MASK
#define WM8904_INL_ENA_SHIFT
#define WM8904_INL_ENA_WIDTH
#define WM8904_INR_ENA
#define WM8904_INR_ENA_MASK
#define WM8904_INR_ENA_SHIFT
#define WM8904_INR_ENA_WIDTH

/*
 * R14 (0x0E) - Power Management 2
 */
#define WM8904_HPL_PGA_ENA
#define WM8904_HPL_PGA_ENA_MASK
#define WM8904_HPL_PGA_ENA_SHIFT
#define WM8904_HPL_PGA_ENA_WIDTH
#define WM8904_HPR_PGA_ENA
#define WM8904_HPR_PGA_ENA_MASK
#define WM8904_HPR_PGA_ENA_SHIFT
#define WM8904_HPR_PGA_ENA_WIDTH

/*
 * R15 (0x0F) - Power Management 3
 */
#define WM8904_LINEOUTL_PGA_ENA
#define WM8904_LINEOUTL_PGA_ENA_MASK
#define WM8904_LINEOUTL_PGA_ENA_SHIFT
#define WM8904_LINEOUTL_PGA_ENA_WIDTH
#define WM8904_LINEOUTR_PGA_ENA
#define WM8904_LINEOUTR_PGA_ENA_MASK
#define WM8904_LINEOUTR_PGA_ENA_SHIFT
#define WM8904_LINEOUTR_PGA_ENA_WIDTH

/*
 * R18 (0x12) - Power Management 6
 */
#define WM8904_DACL_ENA
#define WM8904_DACL_ENA_MASK
#define WM8904_DACL_ENA_SHIFT
#define WM8904_DACL_ENA_WIDTH
#define WM8904_DACR_ENA
#define WM8904_DACR_ENA_MASK
#define WM8904_DACR_ENA_SHIFT
#define WM8904_DACR_ENA_WIDTH
#define WM8904_ADCL_ENA
#define WM8904_ADCL_ENA_MASK
#define WM8904_ADCL_ENA_SHIFT
#define WM8904_ADCL_ENA_WIDTH
#define WM8904_ADCR_ENA
#define WM8904_ADCR_ENA_MASK
#define WM8904_ADCR_ENA_SHIFT
#define WM8904_ADCR_ENA_WIDTH

/*
 * R20 (0x14) - Clock Rates 0
 */
#define WM8904_TOCLK_RATE_DIV16
#define WM8904_TOCLK_RATE_DIV16_MASK
#define WM8904_TOCLK_RATE_DIV16_SHIFT
#define WM8904_TOCLK_RATE_DIV16_WIDTH
#define WM8904_TOCLK_RATE_X4
#define WM8904_TOCLK_RATE_X4_MASK
#define WM8904_TOCLK_RATE_X4_SHIFT
#define WM8904_TOCLK_RATE_X4_WIDTH
#define WM8904_SR_MODE
#define WM8904_SR_MODE_MASK
#define WM8904_SR_MODE_SHIFT
#define WM8904_SR_MODE_WIDTH
#define WM8904_MCLK_DIV
#define WM8904_MCLK_DIV_MASK
#define WM8904_MCLK_DIV_SHIFT
#define WM8904_MCLK_DIV_WIDTH

/*
 * R21 (0x15) - Clock Rates 1
 */
#define WM8904_CLK_SYS_RATE_MASK
#define WM8904_CLK_SYS_RATE_SHIFT
#define WM8904_CLK_SYS_RATE_WIDTH
#define WM8904_SAMPLE_RATE_MASK
#define WM8904_SAMPLE_RATE_SHIFT
#define WM8904_SAMPLE_RATE_WIDTH

/*
 * R22 (0x16) - Clock Rates 2
 */
#define WM8904_MCLK_INV
#define WM8904_MCLK_INV_MASK
#define WM8904_MCLK_INV_SHIFT
#define WM8904_MCLK_INV_WIDTH
#define WM8904_SYSCLK_SRC
#define WM8904_SYSCLK_SRC_MASK
#define WM8904_SYSCLK_SRC_SHIFT
#define WM8904_SYSCLK_SRC_WIDTH
#define WM8904_TOCLK_RATE
#define WM8904_TOCLK_RATE_MASK
#define WM8904_TOCLK_RATE_SHIFT
#define WM8904_TOCLK_RATE_WIDTH
#define WM8904_OPCLK_ENA
#define WM8904_OPCLK_ENA_MASK
#define WM8904_OPCLK_ENA_SHIFT
#define WM8904_OPCLK_ENA_WIDTH
#define WM8904_CLK_SYS_ENA
#define WM8904_CLK_SYS_ENA_MASK
#define WM8904_CLK_SYS_ENA_SHIFT
#define WM8904_CLK_SYS_ENA_WIDTH
#define WM8904_CLK_DSP_ENA
#define WM8904_CLK_DSP_ENA_MASK
#define WM8904_CLK_DSP_ENA_SHIFT
#define WM8904_CLK_DSP_ENA_WIDTH
#define WM8904_TOCLK_ENA
#define WM8904_TOCLK_ENA_MASK
#define WM8904_TOCLK_ENA_SHIFT
#define WM8904_TOCLK_ENA_WIDTH

/*
 * R24 (0x18) - Audio Interface 0
 */
#define WM8904_DACL_DATINV
#define WM8904_DACL_DATINV_MASK
#define WM8904_DACL_DATINV_SHIFT
#define WM8904_DACL_DATINV_WIDTH
#define WM8904_DACR_DATINV
#define WM8904_DACR_DATINV_MASK
#define WM8904_DACR_DATINV_SHIFT
#define WM8904_DACR_DATINV_WIDTH
#define WM8904_DAC_BOOST_MASK
#define WM8904_DAC_BOOST_SHIFT
#define WM8904_DAC_BOOST_WIDTH
#define WM8904_LOOPBACK
#define WM8904_LOOPBACK_MASK
#define WM8904_LOOPBACK_SHIFT
#define WM8904_LOOPBACK_WIDTH
#define WM8904_AIFADCL_SRC
#define WM8904_AIFADCL_SRC_MASK
#define WM8904_AIFADCL_SRC_SHIFT
#define WM8904_AIFADCL_SRC_WIDTH
#define WM8904_AIFADCR_SRC
#define WM8904_AIFADCR_SRC_MASK
#define WM8904_AIFADCR_SRC_SHIFT
#define WM8904_AIFADCR_SRC_WIDTH
#define WM8904_AIFDACL_SRC
#define WM8904_AIFDACL_SRC_MASK
#define WM8904_AIFDACL_SRC_SHIFT
#define WM8904_AIFDACL_SRC_WIDTH
#define WM8904_AIFDACR_SRC
#define WM8904_AIFDACR_SRC_MASK
#define WM8904_AIFDACR_SRC_SHIFT
#define WM8904_AIFDACR_SRC_WIDTH
#define WM8904_ADC_COMP
#define WM8904_ADC_COMP_MASK
#define WM8904_ADC_COMP_SHIFT
#define WM8904_ADC_COMP_WIDTH
#define WM8904_ADC_COMPMODE
#define WM8904_ADC_COMPMODE_MASK
#define WM8904_ADC_COMPMODE_SHIFT
#define WM8904_ADC_COMPMODE_WIDTH
#define WM8904_DAC_COMP
#define WM8904_DAC_COMP_MASK
#define WM8904_DAC_COMP_SHIFT
#define WM8904_DAC_COMP_WIDTH
#define WM8904_DAC_COMPMODE
#define WM8904_DAC_COMPMODE_MASK
#define WM8904_DAC_COMPMODE_SHIFT
#define WM8904_DAC_COMPMODE_WIDTH

/*
 * R25 (0x19) - Audio Interface 1
 */
#define WM8904_AIFDAC_TDM
#define WM8904_AIFDAC_TDM_MASK
#define WM8904_AIFDAC_TDM_SHIFT
#define WM8904_AIFDAC_TDM_WIDTH
#define WM8904_AIFDAC_TDM_CHAN
#define WM8904_AIFDAC_TDM_CHAN_MASK
#define WM8904_AIFDAC_TDM_CHAN_SHIFT
#define WM8904_AIFDAC_TDM_CHAN_WIDTH
#define WM8904_AIFADC_TDM
#define WM8904_AIFADC_TDM_MASK
#define WM8904_AIFADC_TDM_SHIFT
#define WM8904_AIFADC_TDM_WIDTH
#define WM8904_AIFADC_TDM_CHAN
#define WM8904_AIFADC_TDM_CHAN_MASK
#define WM8904_AIFADC_TDM_CHAN_SHIFT
#define WM8904_AIFADC_TDM_CHAN_WIDTH
#define WM8904_AIF_TRIS
#define WM8904_AIF_TRIS_MASK
#define WM8904_AIF_TRIS_SHIFT
#define WM8904_AIF_TRIS_WIDTH
#define WM8904_AIF_BCLK_INV
#define WM8904_AIF_BCLK_INV_MASK
#define WM8904_AIF_BCLK_INV_SHIFT
#define WM8904_AIF_BCLK_INV_WIDTH
#define WM8904_BCLK_DIR
#define WM8904_BCLK_DIR_MASK
#define WM8904_BCLK_DIR_SHIFT
#define WM8904_BCLK_DIR_WIDTH
#define WM8904_AIF_LRCLK_INV
#define WM8904_AIF_LRCLK_INV_MASK
#define WM8904_AIF_LRCLK_INV_SHIFT
#define WM8904_AIF_LRCLK_INV_WIDTH
#define WM8904_AIF_WL_MASK
#define WM8904_AIF_WL_SHIFT
#define WM8904_AIF_WL_WIDTH
#define WM8904_AIF_FMT_MASK
#define WM8904_AIF_FMT_SHIFT
#define WM8904_AIF_FMT_WIDTH

/*
 * R26 (0x1A) - Audio Interface 2
 */
#define WM8904_OPCLK_DIV_MASK
#define WM8904_OPCLK_DIV_SHIFT
#define WM8904_OPCLK_DIV_WIDTH
#define WM8904_BCLK_DIV_MASK
#define WM8904_BCLK_DIV_SHIFT
#define WM8904_BCLK_DIV_WIDTH

/*
 * R27 (0x1B) - Audio Interface 3
 */
#define WM8904_LRCLK_DIR
#define WM8904_LRCLK_DIR_MASK
#define WM8904_LRCLK_DIR_SHIFT
#define WM8904_LRCLK_DIR_WIDTH
#define WM8904_LRCLK_RATE_MASK
#define WM8904_LRCLK_RATE_SHIFT
#define WM8904_LRCLK_RATE_WIDTH

/*
 * R30 (0x1E) - DAC Digital Volume Left
 */
#define WM8904_DAC_VU
#define WM8904_DAC_VU_MASK
#define WM8904_DAC_VU_SHIFT
#define WM8904_DAC_VU_WIDTH
#define WM8904_DACL_VOL_MASK
#define WM8904_DACL_VOL_SHIFT
#define WM8904_DACL_VOL_WIDTH

/*
 * R31 (0x1F) - DAC Digital Volume Right
 */
#define WM8904_DAC_VU
#define WM8904_DAC_VU_MASK
#define WM8904_DAC_VU_SHIFT
#define WM8904_DAC_VU_WIDTH
#define WM8904_DACR_VOL_MASK
#define WM8904_DACR_VOL_SHIFT
#define WM8904_DACR_VOL_WIDTH

/*
 * R32 (0x20) - DAC Digital 0
 */
#define WM8904_ADCL_DAC_SVOL_MASK
#define WM8904_ADCL_DAC_SVOL_SHIFT
#define WM8904_ADCL_DAC_SVOL_WIDTH
#define WM8904_ADCR_DAC_SVOL_MASK
#define WM8904_ADCR_DAC_SVOL_SHIFT
#define WM8904_ADCR_DAC_SVOL_WIDTH
#define WM8904_ADC_TO_DACL_MASK
#define WM8904_ADC_TO_DACL_SHIFT
#define WM8904_ADC_TO_DACL_WIDTH
#define WM8904_ADC_TO_DACR_MASK
#define WM8904_ADC_TO_DACR_SHIFT
#define WM8904_ADC_TO_DACR_WIDTH

/*
 * R33 (0x21) - DAC Digital 1
 */
#define WM8904_DAC_MONO
#define WM8904_DAC_MONO_MASK
#define WM8904_DAC_MONO_SHIFT
#define WM8904_DAC_MONO_WIDTH
#define WM8904_DAC_SB_FILT
#define WM8904_DAC_SB_FILT_MASK
#define WM8904_DAC_SB_FILT_SHIFT
#define WM8904_DAC_SB_FILT_WIDTH
#define WM8904_DAC_MUTERATE
#define WM8904_DAC_MUTERATE_MASK
#define WM8904_DAC_MUTERATE_SHIFT
#define WM8904_DAC_MUTERATE_WIDTH
#define WM8904_DAC_UNMUTE_RAMP
#define WM8904_DAC_UNMUTE_RAMP_MASK
#define WM8904_DAC_UNMUTE_RAMP_SHIFT
#define WM8904_DAC_UNMUTE_RAMP_WIDTH
#define WM8904_DAC_OSR128
#define WM8904_DAC_OSR128_MASK
#define WM8904_DAC_OSR128_SHIFT
#define WM8904_DAC_OSR128_WIDTH
#define WM8904_DAC_MUTE
#define WM8904_DAC_MUTE_MASK
#define WM8904_DAC_MUTE_SHIFT
#define WM8904_DAC_MUTE_WIDTH
#define WM8904_DEEMPH_MASK
#define WM8904_DEEMPH_SHIFT
#define WM8904_DEEMPH_WIDTH

/*
 * R36 (0x24) - ADC Digital Volume Left
 */
#define WM8904_ADC_VU
#define WM8904_ADC_VU_MASK
#define WM8904_ADC_VU_SHIFT
#define WM8904_ADC_VU_WIDTH
#define WM8904_ADCL_VOL_MASK
#define WM8904_ADCL_VOL_SHIFT
#define WM8904_ADCL_VOL_WIDTH

/*
 * R37 (0x25) - ADC Digital Volume Right
 */
#define WM8904_ADC_VU
#define WM8904_ADC_VU_MASK
#define WM8904_ADC_VU_SHIFT
#define WM8904_ADC_VU_WIDTH
#define WM8904_ADCR_VOL_MASK
#define WM8904_ADCR_VOL_SHIFT
#define WM8904_ADCR_VOL_WIDTH

/*
 * R38 (0x26) - ADC Digital 0
 */
#define WM8904_ADC_HPF_CUT_MASK
#define WM8904_ADC_HPF_CUT_SHIFT
#define WM8904_ADC_HPF_CUT_WIDTH
#define WM8904_ADC_HPF
#define WM8904_ADC_HPF_MASK
#define WM8904_ADC_HPF_SHIFT
#define WM8904_ADC_HPF_WIDTH
#define WM8904_ADCL_DATINV
#define WM8904_ADCL_DATINV_MASK
#define WM8904_ADCL_DATINV_SHIFT
#define WM8904_ADCL_DATINV_WIDTH
#define WM8904_ADCR_DATINV
#define WM8904_ADCR_DATINV_MASK
#define WM8904_ADCR_DATINV_SHIFT
#define WM8904_ADCR_DATINV_WIDTH

/*
 * R39 (0x27) - Digital Microphone 0
 */
#define WM8904_DMIC_ENA
#define WM8904_DMIC_ENA_MASK
#define WM8904_DMIC_ENA_SHIFT
#define WM8904_DMIC_ENA_WIDTH
#define WM8904_DMIC_SRC
#define WM8904_DMIC_SRC_MASK
#define WM8904_DMIC_SRC_SHIFT
#define WM8904_DMIC_SRC_WIDTH

/*
 * R40 (0x28) - DRC 0
 */
#define WM8904_DRC_ENA
#define WM8904_DRC_ENA_MASK
#define WM8904_DRC_ENA_SHIFT
#define WM8904_DRC_ENA_WIDTH
#define WM8904_DRC_DAC_PATH
#define WM8904_DRC_DAC_PATH_MASK
#define WM8904_DRC_DAC_PATH_SHIFT
#define WM8904_DRC_DAC_PATH_WIDTH
#define WM8904_DRC_GS_HYST_LVL_MASK
#define WM8904_DRC_GS_HYST_LVL_SHIFT
#define WM8904_DRC_GS_HYST_LVL_WIDTH
#define WM8904_DRC_STARTUP_GAIN_MASK
#define WM8904_DRC_STARTUP_GAIN_SHIFT
#define WM8904_DRC_STARTUP_GAIN_WIDTH
#define WM8904_DRC_FF_DELAY
#define WM8904_DRC_FF_DELAY_MASK
#define WM8904_DRC_FF_DELAY_SHIFT
#define WM8904_DRC_FF_DELAY_WIDTH
#define WM8904_DRC_GS_ENA
#define WM8904_DRC_GS_ENA_MASK
#define WM8904_DRC_GS_ENA_SHIFT
#define WM8904_DRC_GS_ENA_WIDTH
#define WM8904_DRC_QR
#define WM8904_DRC_QR_MASK
#define WM8904_DRC_QR_SHIFT
#define WM8904_DRC_QR_WIDTH
#define WM8904_DRC_ANTICLIP
#define WM8904_DRC_ANTICLIP_MASK
#define WM8904_DRC_ANTICLIP_SHIFT
#define WM8904_DRC_ANTICLIP_WIDTH
#define WM8904_DRC_GS_HYST
#define WM8904_DRC_GS_HYST_MASK
#define WM8904_DRC_GS_HYST_SHIFT
#define WM8904_DRC_GS_HYST_WIDTH

/*
 * R41 (0x29) - DRC 1
 */
#define WM8904_DRC_ATK_MASK
#define WM8904_DRC_ATK_SHIFT
#define WM8904_DRC_ATK_WIDTH
#define WM8904_DRC_DCY_MASK
#define WM8904_DRC_DCY_SHIFT
#define WM8904_DRC_DCY_WIDTH
#define WM8904_DRC_QR_THR_MASK
#define WM8904_DRC_QR_THR_SHIFT
#define WM8904_DRC_QR_THR_WIDTH
#define WM8904_DRC_QR_DCY_MASK
#define WM8904_DRC_QR_DCY_SHIFT
#define WM8904_DRC_QR_DCY_WIDTH
#define WM8904_DRC_MINGAIN_MASK
#define WM8904_DRC_MINGAIN_SHIFT
#define WM8904_DRC_MINGAIN_WIDTH
#define WM8904_DRC_MAXGAIN_MASK
#define WM8904_DRC_MAXGAIN_SHIFT
#define WM8904_DRC_MAXGAIN_WIDTH

/*
 * R42 (0x2A) - DRC 2
 */
#define WM8904_DRC_HI_COMP_MASK
#define WM8904_DRC_HI_COMP_SHIFT
#define WM8904_DRC_HI_COMP_WIDTH
#define WM8904_DRC_LO_COMP_MASK
#define WM8904_DRC_LO_COMP_SHIFT
#define WM8904_DRC_LO_COMP_WIDTH

/*
 * R43 (0x2B) - DRC 3
 */
#define WM8904_DRC_KNEE_IP_MASK
#define WM8904_DRC_KNEE_IP_SHIFT
#define WM8904_DRC_KNEE_IP_WIDTH
#define WM8904_DRC_KNEE_OP_MASK
#define WM8904_DRC_KNEE_OP_SHIFT
#define WM8904_DRC_KNEE_OP_WIDTH

/*
 * R44 (0x2C) - Analogue Left Input 0
 */
#define WM8904_LINMUTE
#define WM8904_LINMUTE_MASK
#define WM8904_LINMUTE_SHIFT
#define WM8904_LINMUTE_WIDTH
#define WM8904_LIN_VOL_MASK
#define WM8904_LIN_VOL_SHIFT
#define WM8904_LIN_VOL_WIDTH

/*
 * R45 (0x2D) - Analogue Right Input 0
 */
#define WM8904_RINMUTE
#define WM8904_RINMUTE_MASK
#define WM8904_RINMUTE_SHIFT
#define WM8904_RINMUTE_WIDTH
#define WM8904_RIN_VOL_MASK
#define WM8904_RIN_VOL_SHIFT
#define WM8904_RIN_VOL_WIDTH

/*
 * R46 (0x2E) - Analogue Left Input 1
 */
#define WM8904_INL_CM_ENA
#define WM8904_INL_CM_ENA_MASK
#define WM8904_INL_CM_ENA_SHIFT
#define WM8904_INL_CM_ENA_WIDTH
#define WM8904_L_IP_SEL_N_MASK
#define WM8904_L_IP_SEL_N_SHIFT
#define WM8904_L_IP_SEL_N_WIDTH
#define WM8904_L_IP_SEL_P_MASK
#define WM8904_L_IP_SEL_P_SHIFT
#define WM8904_L_IP_SEL_P_WIDTH
#define WM8904_L_MODE_MASK
#define WM8904_L_MODE_SHIFT
#define WM8904_L_MODE_WIDTH

/*
 * R47 (0x2F) - Analogue Right Input 1
 */
#define WM8904_INR_CM_ENA
#define WM8904_INR_CM_ENA_MASK
#define WM8904_INR_CM_ENA_SHIFT
#define WM8904_INR_CM_ENA_WIDTH
#define WM8904_R_IP_SEL_N_MASK
#define WM8904_R_IP_SEL_N_SHIFT
#define WM8904_R_IP_SEL_N_WIDTH
#define WM8904_R_IP_SEL_P_MASK
#define WM8904_R_IP_SEL_P_SHIFT
#define WM8904_R_IP_SEL_P_WIDTH
#define WM8904_R_MODE_MASK
#define WM8904_R_MODE_SHIFT
#define WM8904_R_MODE_WIDTH

/*
 * R57 (0x39) - Analogue OUT1 Left
 */
#define WM8904_HPOUTL_MUTE
#define WM8904_HPOUTL_MUTE_MASK
#define WM8904_HPOUTL_MUTE_SHIFT
#define WM8904_HPOUTL_MUTE_WIDTH
#define WM8904_HPOUT_VU
#define WM8904_HPOUT_VU_MASK
#define WM8904_HPOUT_VU_SHIFT
#define WM8904_HPOUT_VU_WIDTH
#define WM8904_HPOUTLZC
#define WM8904_HPOUTLZC_MASK
#define WM8904_HPOUTLZC_SHIFT
#define WM8904_HPOUTLZC_WIDTH
#define WM8904_HPOUTL_VOL_MASK
#define WM8904_HPOUTL_VOL_SHIFT
#define WM8904_HPOUTL_VOL_WIDTH

/*
 * R58 (0x3A) - Analogue OUT1 Right
 */
#define WM8904_HPOUTR_MUTE
#define WM8904_HPOUTR_MUTE_MASK
#define WM8904_HPOUTR_MUTE_SHIFT
#define WM8904_HPOUTR_MUTE_WIDTH
#define WM8904_HPOUT_VU
#define WM8904_HPOUT_VU_MASK
#define WM8904_HPOUT_VU_SHIFT
#define WM8904_HPOUT_VU_WIDTH
#define WM8904_HPOUTRZC
#define WM8904_HPOUTRZC_MASK
#define WM8904_HPOUTRZC_SHIFT
#define WM8904_HPOUTRZC_WIDTH
#define WM8904_HPOUTR_VOL_MASK
#define WM8904_HPOUTR_VOL_SHIFT
#define WM8904_HPOUTR_VOL_WIDTH

/*
 * R59 (0x3B) - Analogue OUT2 Left
 */
#define WM8904_LINEOUTL_MUTE
#define WM8904_LINEOUTL_MUTE_MASK
#define WM8904_LINEOUTL_MUTE_SHIFT
#define WM8904_LINEOUTL_MUTE_WIDTH
#define WM8904_LINEOUT_VU
#define WM8904_LINEOUT_VU_MASK
#define WM8904_LINEOUT_VU_SHIFT
#define WM8904_LINEOUT_VU_WIDTH
#define WM8904_LINEOUTLZC
#define WM8904_LINEOUTLZC_MASK
#define WM8904_LINEOUTLZC_SHIFT
#define WM8904_LINEOUTLZC_WIDTH
#define WM8904_LINEOUTL_VOL_MASK
#define WM8904_LINEOUTL_VOL_SHIFT
#define WM8904_LINEOUTL_VOL_WIDTH

/*
 * R60 (0x3C) - Analogue OUT2 Right
 */
#define WM8904_LINEOUTR_MUTE
#define WM8904_LINEOUTR_MUTE_MASK
#define WM8904_LINEOUTR_MUTE_SHIFT
#define WM8904_LINEOUTR_MUTE_WIDTH
#define WM8904_LINEOUT_VU
#define WM8904_LINEOUT_VU_MASK
#define WM8904_LINEOUT_VU_SHIFT
#define WM8904_LINEOUT_VU_WIDTH
#define WM8904_LINEOUTRZC
#define WM8904_LINEOUTRZC_MASK
#define WM8904_LINEOUTRZC_SHIFT
#define WM8904_LINEOUTRZC_WIDTH
#define WM8904_LINEOUTR_VOL_MASK
#define WM8904_LINEOUTR_VOL_SHIFT
#define WM8904_LINEOUTR_VOL_WIDTH

/*
 * R61 (0x3D) - Analogue OUT12 ZC
 */
#define WM8904_HPL_BYP_ENA
#define WM8904_HPL_BYP_ENA_MASK
#define WM8904_HPL_BYP_ENA_SHIFT
#define WM8904_HPL_BYP_ENA_WIDTH
#define WM8904_HPR_BYP_ENA
#define WM8904_HPR_BYP_ENA_MASK
#define WM8904_HPR_BYP_ENA_SHIFT
#define WM8904_HPR_BYP_ENA_WIDTH
#define WM8904_LINEOUTL_BYP_ENA
#define WM8904_LINEOUTL_BYP_ENA_MASK
#define WM8904_LINEOUTL_BYP_ENA_SHIFT
#define WM8904_LINEOUTL_BYP_ENA_WIDTH
#define WM8904_LINEOUTR_BYP_ENA
#define WM8904_LINEOUTR_BYP_ENA_MASK
#define WM8904_LINEOUTR_BYP_ENA_SHIFT
#define WM8904_LINEOUTR_BYP_ENA_WIDTH

/*
 * R67 (0x43) - DC Servo 0
 */
#define WM8904_DCS_ENA_CHAN_3
#define WM8904_DCS_ENA_CHAN_3_MASK
#define WM8904_DCS_ENA_CHAN_3_SHIFT
#define WM8904_DCS_ENA_CHAN_3_WIDTH
#define WM8904_DCS_ENA_CHAN_2
#define WM8904_DCS_ENA_CHAN_2_MASK
#define WM8904_DCS_ENA_CHAN_2_SHIFT
#define WM8904_DCS_ENA_CHAN_2_WIDTH
#define WM8904_DCS_ENA_CHAN_1
#define WM8904_DCS_ENA_CHAN_1_MASK
#define WM8904_DCS_ENA_CHAN_1_SHIFT
#define WM8904_DCS_ENA_CHAN_1_WIDTH
#define WM8904_DCS_ENA_CHAN_0
#define WM8904_DCS_ENA_CHAN_0_MASK
#define WM8904_DCS_ENA_CHAN_0_SHIFT
#define WM8904_DCS_ENA_CHAN_0_WIDTH

/*
 * R68 (0x44) - DC Servo 1
 */
#define WM8904_DCS_TRIG_SINGLE_3
#define WM8904_DCS_TRIG_SINGLE_3_MASK
#define WM8904_DCS_TRIG_SINGLE_3_SHIFT
#define WM8904_DCS_TRIG_SINGLE_3_WIDTH
#define WM8904_DCS_TRIG_SINGLE_2
#define WM8904_DCS_TRIG_SINGLE_2_MASK
#define WM8904_DCS_TRIG_SINGLE_2_SHIFT
#define WM8904_DCS_TRIG_SINGLE_2_WIDTH
#define WM8904_DCS_TRIG_SINGLE_1
#define WM8904_DCS_TRIG_SINGLE_1_MASK
#define WM8904_DCS_TRIG_SINGLE_1_SHIFT
#define WM8904_DCS_TRIG_SINGLE_1_WIDTH
#define WM8904_DCS_TRIG_SINGLE_0
#define WM8904_DCS_TRIG_SINGLE_0_MASK
#define WM8904_DCS_TRIG_SINGLE_0_SHIFT
#define WM8904_DCS_TRIG_SINGLE_0_WIDTH
#define WM8904_DCS_TRIG_SERIES_3
#define WM8904_DCS_TRIG_SERIES_3_MASK
#define WM8904_DCS_TRIG_SERIES_3_SHIFT
#define WM8904_DCS_TRIG_SERIES_3_WIDTH
#define WM8904_DCS_TRIG_SERIES_2
#define WM8904_DCS_TRIG_SERIES_2_MASK
#define WM8904_DCS_TRIG_SERIES_2_SHIFT
#define WM8904_DCS_TRIG_SERIES_2_WIDTH
#define WM8904_DCS_TRIG_SERIES_1
#define WM8904_DCS_TRIG_SERIES_1_MASK
#define WM8904_DCS_TRIG_SERIES_1_SHIFT
#define WM8904_DCS_TRIG_SERIES_1_WIDTH
#define WM8904_DCS_TRIG_SERIES_0
#define WM8904_DCS_TRIG_SERIES_0_MASK
#define WM8904_DCS_TRIG_SERIES_0_SHIFT
#define WM8904_DCS_TRIG_SERIES_0_WIDTH
#define WM8904_DCS_TRIG_STARTUP_3
#define WM8904_DCS_TRIG_STARTUP_3_MASK
#define WM8904_DCS_TRIG_STARTUP_3_SHIFT
#define WM8904_DCS_TRIG_STARTUP_3_WIDTH
#define WM8904_DCS_TRIG_STARTUP_2
#define WM8904_DCS_TRIG_STARTUP_2_MASK
#define WM8904_DCS_TRIG_STARTUP_2_SHIFT
#define WM8904_DCS_TRIG_STARTUP_2_WIDTH
#define WM8904_DCS_TRIG_STARTUP_1
#define WM8904_DCS_TRIG_STARTUP_1_MASK
#define WM8904_DCS_TRIG_STARTUP_1_SHIFT
#define WM8904_DCS_TRIG_STARTUP_1_WIDTH
#define WM8904_DCS_TRIG_STARTUP_0
#define WM8904_DCS_TRIG_STARTUP_0_MASK
#define WM8904_DCS_TRIG_STARTUP_0_SHIFT
#define WM8904_DCS_TRIG_STARTUP_0_WIDTH
#define WM8904_DCS_TRIG_DAC_WR_3
#define WM8904_DCS_TRIG_DAC_WR_3_MASK
#define WM8904_DCS_TRIG_DAC_WR_3_SHIFT
#define WM8904_DCS_TRIG_DAC_WR_3_WIDTH
#define WM8904_DCS_TRIG_DAC_WR_2
#define WM8904_DCS_TRIG_DAC_WR_2_MASK
#define WM8904_DCS_TRIG_DAC_WR_2_SHIFT
#define WM8904_DCS_TRIG_DAC_WR_2_WIDTH
#define WM8904_DCS_TRIG_DAC_WR_1
#define WM8904_DCS_TRIG_DAC_WR_1_MASK
#define WM8904_DCS_TRIG_DAC_WR_1_SHIFT
#define WM8904_DCS_TRIG_DAC_WR_1_WIDTH
#define WM8904_DCS_TRIG_DAC_WR_0
#define WM8904_DCS_TRIG_DAC_WR_0_MASK
#define WM8904_DCS_TRIG_DAC_WR_0_SHIFT
#define WM8904_DCS_TRIG_DAC_WR_0_WIDTH

/*
 * R69 (0x45) - DC Servo 2
 */
#define WM8904_DCS_TIMER_PERIOD_23_MASK
#define WM8904_DCS_TIMER_PERIOD_23_SHIFT
#define WM8904_DCS_TIMER_PERIOD_23_WIDTH
#define WM8904_DCS_TIMER_PERIOD_01_MASK
#define WM8904_DCS_TIMER_PERIOD_01_SHIFT
#define WM8904_DCS_TIMER_PERIOD_01_WIDTH

/*
 * R71 (0x47) - DC Servo 4
 */
#define WM8904_DCS_SERIES_NO_23_MASK
#define WM8904_DCS_SERIES_NO_23_SHIFT
#define WM8904_DCS_SERIES_NO_23_WIDTH

/*
 * R72 (0x48) - DC Servo 5
 */
#define WM8904_DCS_SERIES_NO_01_MASK
#define WM8904_DCS_SERIES_NO_01_SHIFT
#define WM8904_DCS_SERIES_NO_01_WIDTH

/*
 * R73 (0x49) - DC Servo 6
 */
#define WM8904_DCS_DAC_WR_VAL_3_MASK
#define WM8904_DCS_DAC_WR_VAL_3_SHIFT
#define WM8904_DCS_DAC_WR_VAL_3_WIDTH

/*
 * R74 (0x4A) - DC Servo 7
 */
#define WM8904_DCS_DAC_WR_VAL_2_MASK
#define WM8904_DCS_DAC_WR_VAL_2_SHIFT
#define WM8904_DCS_DAC_WR_VAL_2_WIDTH

/*
 * R75 (0x4B) - DC Servo 8
 */
#define WM8904_DCS_DAC_WR_VAL_1_MASK
#define WM8904_DCS_DAC_WR_VAL_1_SHIFT
#define WM8904_DCS_DAC_WR_VAL_1_WIDTH

/*
 * R76 (0x4C) - DC Servo 9
 */
#define WM8904_DCS_DAC_WR_VAL_0_MASK
#define WM8904_DCS_DAC_WR_VAL_0_SHIFT
#define WM8904_DCS_DAC_WR_VAL_0_WIDTH

/*
 * R77 (0x4D) - DC Servo Readback 0
 */
#define WM8904_DCS_CAL_COMPLETE_MASK
#define WM8904_DCS_CAL_COMPLETE_SHIFT
#define WM8904_DCS_CAL_COMPLETE_WIDTH
#define WM8904_DCS_DAC_WR_COMPLETE_MASK
#define WM8904_DCS_DAC_WR_COMPLETE_SHIFT
#define WM8904_DCS_DAC_WR_COMPLETE_WIDTH
#define WM8904_DCS_STARTUP_COMPLETE_MASK
#define WM8904_DCS_STARTUP_COMPLETE_SHIFT
#define WM8904_DCS_STARTUP_COMPLETE_WIDTH

/*
 * R90 (0x5A) - Analogue HP 0
 */
#define WM8904_HPL_RMV_SHORT
#define WM8904_HPL_RMV_SHORT_MASK
#define WM8904_HPL_RMV_SHORT_SHIFT
#define WM8904_HPL_RMV_SHORT_WIDTH
#define WM8904_HPL_ENA_OUTP
#define WM8904_HPL_ENA_OUTP_MASK
#define WM8904_HPL_ENA_OUTP_SHIFT
#define WM8904_HPL_ENA_OUTP_WIDTH
#define WM8904_HPL_ENA_DLY
#define WM8904_HPL_ENA_DLY_MASK
#define WM8904_HPL_ENA_DLY_SHIFT
#define WM8904_HPL_ENA_DLY_WIDTH
#define WM8904_HPL_ENA
#define WM8904_HPL_ENA_MASK
#define WM8904_HPL_ENA_SHIFT
#define WM8904_HPL_ENA_WIDTH
#define WM8904_HPR_RMV_SHORT
#define WM8904_HPR_RMV_SHORT_MASK
#define WM8904_HPR_RMV_SHORT_SHIFT
#define WM8904_HPR_RMV_SHORT_WIDTH
#define WM8904_HPR_ENA_OUTP
#define WM8904_HPR_ENA_OUTP_MASK
#define WM8904_HPR_ENA_OUTP_SHIFT
#define WM8904_HPR_ENA_OUTP_WIDTH
#define WM8904_HPR_ENA_DLY
#define WM8904_HPR_ENA_DLY_MASK
#define WM8904_HPR_ENA_DLY_SHIFT
#define WM8904_HPR_ENA_DLY_WIDTH
#define WM8904_HPR_ENA
#define WM8904_HPR_ENA_MASK
#define WM8904_HPR_ENA_SHIFT
#define WM8904_HPR_ENA_WIDTH

/*
 * R94 (0x5E) - Analogue Lineout 0
 */
#define WM8904_LINEOUTL_RMV_SHORT
#define WM8904_LINEOUTL_RMV_SHORT_MASK
#define WM8904_LINEOUTL_RMV_SHORT_SHIFT
#define WM8904_LINEOUTL_RMV_SHORT_WIDTH
#define WM8904_LINEOUTL_ENA_OUTP
#define WM8904_LINEOUTL_ENA_OUTP_MASK
#define WM8904_LINEOUTL_ENA_OUTP_SHIFT
#define WM8904_LINEOUTL_ENA_OUTP_WIDTH
#define WM8904_LINEOUTL_ENA_DLY
#define WM8904_LINEOUTL_ENA_DLY_MASK
#define WM8904_LINEOUTL_ENA_DLY_SHIFT
#define WM8904_LINEOUTL_ENA_DLY_WIDTH
#define WM8904_LINEOUTL_ENA
#define WM8904_LINEOUTL_ENA_MASK
#define WM8904_LINEOUTL_ENA_SHIFT
#define WM8904_LINEOUTL_ENA_WIDTH
#define WM8904_LINEOUTR_RMV_SHORT
#define WM8904_LINEOUTR_RMV_SHORT_MASK
#define WM8904_LINEOUTR_RMV_SHORT_SHIFT
#define WM8904_LINEOUTR_RMV_SHORT_WIDTH
#define WM8904_LINEOUTR_ENA_OUTP
#define WM8904_LINEOUTR_ENA_OUTP_MASK
#define WM8904_LINEOUTR_ENA_OUTP_SHIFT
#define WM8904_LINEOUTR_ENA_OUTP_WIDTH
#define WM8904_LINEOUTR_ENA_DLY
#define WM8904_LINEOUTR_ENA_DLY_MASK
#define WM8904_LINEOUTR_ENA_DLY_SHIFT
#define WM8904_LINEOUTR_ENA_DLY_WIDTH
#define WM8904_LINEOUTR_ENA
#define WM8904_LINEOUTR_ENA_MASK
#define WM8904_LINEOUTR_ENA_SHIFT
#define WM8904_LINEOUTR_ENA_WIDTH

/*
 * R98 (0x62) - Charge Pump 0
 */
#define WM8904_CP_ENA
#define WM8904_CP_ENA_MASK
#define WM8904_CP_ENA_SHIFT
#define WM8904_CP_ENA_WIDTH

/*
 * R104 (0x68) - Class W 0
 */
#define WM8904_CP_DYN_PWR
#define WM8904_CP_DYN_PWR_MASK
#define WM8904_CP_DYN_PWR_SHIFT
#define WM8904_CP_DYN_PWR_WIDTH

/*
 * R108 (0x6C) - Write Sequencer 0
 */
#define WM8904_WSEQ_ENA
#define WM8904_WSEQ_ENA_MASK
#define WM8904_WSEQ_ENA_SHIFT
#define WM8904_WSEQ_ENA_WIDTH
#define WM8904_WSEQ_WRITE_INDEX_MASK
#define WM8904_WSEQ_WRITE_INDEX_SHIFT
#define WM8904_WSEQ_WRITE_INDEX_WIDTH

/*
 * R109 (0x6D) - Write Sequencer 1
 */
#define WM8904_WSEQ_DATA_WIDTH_MASK
#define WM8904_WSEQ_DATA_WIDTH_SHIFT
#define WM8904_WSEQ_DATA_WIDTH_WIDTH
#define WM8904_WSEQ_DATA_START_MASK
#define WM8904_WSEQ_DATA_START_SHIFT
#define WM8904_WSEQ_DATA_START_WIDTH
#define WM8904_WSEQ_ADDR_MASK
#define WM8904_WSEQ_ADDR_SHIFT
#define WM8904_WSEQ_ADDR_WIDTH

/*
 * R110 (0x6E) - Write Sequencer 2
 */
#define WM8904_WSEQ_EOS
#define WM8904_WSEQ_EOS_MASK
#define WM8904_WSEQ_EOS_SHIFT
#define WM8904_WSEQ_EOS_WIDTH
#define WM8904_WSEQ_DELAY_MASK
#define WM8904_WSEQ_DELAY_SHIFT
#define WM8904_WSEQ_DELAY_WIDTH
#define WM8904_WSEQ_DATA_MASK
#define WM8904_WSEQ_DATA_SHIFT
#define WM8904_WSEQ_DATA_WIDTH

/*
 * R111 (0x6F) - Write Sequencer 3
 */
#define WM8904_WSEQ_ABORT
#define WM8904_WSEQ_ABORT_MASK
#define WM8904_WSEQ_ABORT_SHIFT
#define WM8904_WSEQ_ABORT_WIDTH
#define WM8904_WSEQ_START
#define WM8904_WSEQ_START_MASK
#define WM8904_WSEQ_START_SHIFT
#define WM8904_WSEQ_START_WIDTH
#define WM8904_WSEQ_START_INDEX_MASK
#define WM8904_WSEQ_START_INDEX_SHIFT
#define WM8904_WSEQ_START_INDEX_WIDTH

/*
 * R112 (0x70) - Write Sequencer 4
 */
#define WM8904_WSEQ_CURRENT_INDEX_MASK
#define WM8904_WSEQ_CURRENT_INDEX_SHIFT
#define WM8904_WSEQ_CURRENT_INDEX_WIDTH
#define WM8904_WSEQ_BUSY
#define WM8904_WSEQ_BUSY_MASK
#define WM8904_WSEQ_BUSY_SHIFT
#define WM8904_WSEQ_BUSY_WIDTH

/*
 * R116 (0x74) - FLL Control 1
 */
#define WM8904_FLL_FRACN_ENA
#define WM8904_FLL_FRACN_ENA_MASK
#define WM8904_FLL_FRACN_ENA_SHIFT
#define WM8904_FLL_FRACN_ENA_WIDTH
#define WM8904_FLL_OSC_ENA
#define WM8904_FLL_OSC_ENA_MASK
#define WM8904_FLL_OSC_ENA_SHIFT
#define WM8904_FLL_OSC_ENA_WIDTH
#define WM8904_FLL_ENA
#define WM8904_FLL_ENA_MASK
#define WM8904_FLL_ENA_SHIFT
#define WM8904_FLL_ENA_WIDTH

/*
 * R117 (0x75) - FLL Control 2
 */
#define WM8904_FLL_OUTDIV_MASK
#define WM8904_FLL_OUTDIV_SHIFT
#define WM8904_FLL_OUTDIV_WIDTH
#define WM8904_FLL_CTRL_RATE_MASK
#define WM8904_FLL_CTRL_RATE_SHIFT
#define WM8904_FLL_CTRL_RATE_WIDTH
#define WM8904_FLL_FRATIO_MASK
#define WM8904_FLL_FRATIO_SHIFT
#define WM8904_FLL_FRATIO_WIDTH

/*
 * R118 (0x76) - FLL Control 3
 */
#define WM8904_FLL_K_MASK
#define WM8904_FLL_K_SHIFT
#define WM8904_FLL_K_WIDTH

/*
 * R119 (0x77) - FLL Control 4
 */
#define WM8904_FLL_N_MASK
#define WM8904_FLL_N_SHIFT
#define WM8904_FLL_N_WIDTH
#define WM8904_FLL_GAIN_MASK
#define WM8904_FLL_GAIN_SHIFT
#define WM8904_FLL_GAIN_WIDTH

/*
 * R120 (0x78) - FLL Control 5
 */
#define WM8904_FLL_CLK_REF_DIV_MASK
#define WM8904_FLL_CLK_REF_DIV_SHIFT
#define WM8904_FLL_CLK_REF_DIV_WIDTH
#define WM8904_FLL_CLK_REF_SRC_MASK
#define WM8904_FLL_CLK_REF_SRC_SHIFT
#define WM8904_FLL_CLK_REF_SRC_WIDTH

/*
 * R126 (0x7E) - Digital Pulls
 */
#define WM8904_MCLK_PU
#define WM8904_MCLK_PU_MASK
#define WM8904_MCLK_PU_SHIFT
#define WM8904_MCLK_PU_WIDTH
#define WM8904_MCLK_PD
#define WM8904_MCLK_PD_MASK
#define WM8904_MCLK_PD_SHIFT
#define WM8904_MCLK_PD_WIDTH
#define WM8904_DACDAT_PU
#define WM8904_DACDAT_PU_MASK
#define WM8904_DACDAT_PU_SHIFT
#define WM8904_DACDAT_PU_WIDTH
#define WM8904_DACDAT_PD
#define WM8904_DACDAT_PD_MASK
#define WM8904_DACDAT_PD_SHIFT
#define WM8904_DACDAT_PD_WIDTH
#define WM8904_LRCLK_PU
#define WM8904_LRCLK_PU_MASK
#define WM8904_LRCLK_PU_SHIFT
#define WM8904_LRCLK_PU_WIDTH
#define WM8904_LRCLK_PD
#define WM8904_LRCLK_PD_MASK
#define WM8904_LRCLK_PD_SHIFT
#define WM8904_LRCLK_PD_WIDTH
#define WM8904_BCLK_PU
#define WM8904_BCLK_PU_MASK
#define WM8904_BCLK_PU_SHIFT
#define WM8904_BCLK_PU_WIDTH
#define WM8904_BCLK_PD
#define WM8904_BCLK_PD_MASK
#define WM8904_BCLK_PD_SHIFT
#define WM8904_BCLK_PD_WIDTH

/*
 * R127 (0x7F) - Interrupt Status
 */
#define WM8904_IRQ
#define WM8904_IRQ_MASK
#define WM8904_IRQ_SHIFT
#define WM8904_IRQ_WIDTH
#define WM8904_GPIO_BCLK_EINT
#define WM8904_GPIO_BCLK_EINT_MASK
#define WM8904_GPIO_BCLK_EINT_SHIFT
#define WM8904_GPIO_BCLK_EINT_WIDTH
#define WM8904_WSEQ_EINT
#define WM8904_WSEQ_EINT_MASK
#define WM8904_WSEQ_EINT_SHIFT
#define WM8904_WSEQ_EINT_WIDTH
#define WM8904_GPIO3_EINT
#define WM8904_GPIO3_EINT_MASK
#define WM8904_GPIO3_EINT_SHIFT
#define WM8904_GPIO3_EINT_WIDTH
#define WM8904_GPIO2_EINT
#define WM8904_GPIO2_EINT_MASK
#define WM8904_GPIO2_EINT_SHIFT
#define WM8904_GPIO2_EINT_WIDTH
#define WM8904_GPIO1_EINT
#define WM8904_GPIO1_EINT_MASK
#define WM8904_GPIO1_EINT_SHIFT
#define WM8904_GPIO1_EINT_WIDTH
#define WM8904_GPI8_EINT
#define WM8904_GPI8_EINT_MASK
#define WM8904_GPI8_EINT_SHIFT
#define WM8904_GPI8_EINT_WIDTH
#define WM8904_GPI7_EINT
#define WM8904_GPI7_EINT_MASK
#define WM8904_GPI7_EINT_SHIFT
#define WM8904_GPI7_EINT_WIDTH
#define WM8904_FLL_LOCK_EINT
#define WM8904_FLL_LOCK_EINT_MASK
#define WM8904_FLL_LOCK_EINT_SHIFT
#define WM8904_FLL_LOCK_EINT_WIDTH
#define WM8904_MIC_SHRT_EINT
#define WM8904_MIC_SHRT_EINT_MASK
#define WM8904_MIC_SHRT_EINT_SHIFT
#define WM8904_MIC_SHRT_EINT_WIDTH
#define WM8904_MIC_DET_EINT
#define WM8904_MIC_DET_EINT_MASK
#define WM8904_MIC_DET_EINT_SHIFT
#define WM8904_MIC_DET_EINT_WIDTH

/*
 * R128 (0x80) - Interrupt Status Mask
 */
#define WM8904_IM_GPIO_BCLK_EINT
#define WM8904_IM_GPIO_BCLK_EINT_MASK
#define WM8904_IM_GPIO_BCLK_EINT_SHIFT
#define WM8904_IM_GPIO_BCLK_EINT_WIDTH
#define WM8904_IM_WSEQ_EINT
#define WM8904_IM_WSEQ_EINT_MASK
#define WM8904_IM_WSEQ_EINT_SHIFT
#define WM8904_IM_WSEQ_EINT_WIDTH
#define WM8904_IM_GPIO3_EINT
#define WM8904_IM_GPIO3_EINT_MASK
#define WM8904_IM_GPIO3_EINT_SHIFT
#define WM8904_IM_GPIO3_EINT_WIDTH
#define WM8904_IM_GPIO2_EINT
#define WM8904_IM_GPIO2_EINT_MASK
#define WM8904_IM_GPIO2_EINT_SHIFT
#define WM8904_IM_GPIO2_EINT_WIDTH
#define WM8904_IM_GPIO1_EINT
#define WM8904_IM_GPIO1_EINT_MASK
#define WM8904_IM_GPIO1_EINT_SHIFT
#define WM8904_IM_GPIO1_EINT_WIDTH
#define WM8904_IM_GPI8_EINT
#define WM8904_IM_GPI8_EINT_MASK
#define WM8904_IM_GPI8_EINT_SHIFT
#define WM8904_IM_GPI8_EINT_WIDTH
#define WM8904_IM_GPI7_EINT
#define WM8904_IM_GPI7_EINT_MASK
#define WM8904_IM_GPI7_EINT_SHIFT
#define WM8904_IM_GPI7_EINT_WIDTH
#define WM8904_IM_FLL_LOCK_EINT
#define WM8904_IM_FLL_LOCK_EINT_MASK
#define WM8904_IM_FLL_LOCK_EINT_SHIFT
#define WM8904_IM_FLL_LOCK_EINT_WIDTH
#define WM8904_IM_MIC_SHRT_EINT
#define WM8904_IM_MIC_SHRT_EINT_MASK
#define WM8904_IM_MIC_SHRT_EINT_SHIFT
#define WM8904_IM_MIC_SHRT_EINT_WIDTH
#define WM8904_IM_MIC_DET_EINT
#define WM8904_IM_MIC_DET_EINT_MASK
#define WM8904_IM_MIC_DET_EINT_SHIFT
#define WM8904_IM_MIC_DET_EINT_WIDTH

/*
 * R129 (0x81) - Interrupt Polarity
 */
#define WM8904_GPIO_BCLK_EINT_POL
#define WM8904_GPIO_BCLK_EINT_POL_MASK
#define WM8904_GPIO_BCLK_EINT_POL_SHIFT
#define WM8904_GPIO_BCLK_EINT_POL_WIDTH
#define WM8904_WSEQ_EINT_POL
#define WM8904_WSEQ_EINT_POL_MASK
#define WM8904_WSEQ_EINT_POL_SHIFT
#define WM8904_WSEQ_EINT_POL_WIDTH
#define WM8904_GPIO3_EINT_POL
#define WM8904_GPIO3_EINT_POL_MASK
#define WM8904_GPIO3_EINT_POL_SHIFT
#define WM8904_GPIO3_EINT_POL_WIDTH
#define WM8904_GPIO2_EINT_POL
#define WM8904_GPIO2_EINT_POL_MASK
#define WM8904_GPIO2_EINT_POL_SHIFT
#define WM8904_GPIO2_EINT_POL_WIDTH
#define WM8904_GPIO1_EINT_POL
#define WM8904_GPIO1_EINT_POL_MASK
#define WM8904_GPIO1_EINT_POL_SHIFT
#define WM8904_GPIO1_EINT_POL_WIDTH
#define WM8904_GPI8_EINT_POL
#define WM8904_GPI8_EINT_POL_MASK
#define WM8904_GPI8_EINT_POL_SHIFT
#define WM8904_GPI8_EINT_POL_WIDTH
#define WM8904_GPI7_EINT_POL
#define WM8904_GPI7_EINT_POL_MASK
#define WM8904_GPI7_EINT_POL_SHIFT
#define WM8904_GPI7_EINT_POL_WIDTH
#define WM8904_FLL_LOCK_EINT_POL
#define WM8904_FLL_LOCK_EINT_POL_MASK
#define WM8904_FLL_LOCK_EINT_POL_SHIFT
#define WM8904_FLL_LOCK_EINT_POL_WIDTH
#define WM8904_MIC_SHRT_EINT_POL
#define WM8904_MIC_SHRT_EINT_POL_MASK
#define WM8904_MIC_SHRT_EINT_POL_SHIFT
#define WM8904_MIC_SHRT_EINT_POL_WIDTH
#define WM8904_MIC_DET_EINT_POL
#define WM8904_MIC_DET_EINT_POL_MASK
#define WM8904_MIC_DET_EINT_POL_SHIFT
#define WM8904_MIC_DET_EINT_POL_WIDTH

/*
 * R130 (0x82) - Interrupt Debounce
 */
#define WM8904_GPIO_BCLK_EINT_DB
#define WM8904_GPIO_BCLK_EINT_DB_MASK
#define WM8904_GPIO_BCLK_EINT_DB_SHIFT
#define WM8904_GPIO_BCLK_EINT_DB_WIDTH
#define WM8904_WSEQ_EINT_DB
#define WM8904_WSEQ_EINT_DB_MASK
#define WM8904_WSEQ_EINT_DB_SHIFT
#define WM8904_WSEQ_EINT_DB_WIDTH
#define WM8904_GPIO3_EINT_DB
#define WM8904_GPIO3_EINT_DB_MASK
#define WM8904_GPIO3_EINT_DB_SHIFT
#define WM8904_GPIO3_EINT_DB_WIDTH
#define WM8904_GPIO2_EINT_DB
#define WM8904_GPIO2_EINT_DB_MASK
#define WM8904_GPIO2_EINT_DB_SHIFT
#define WM8904_GPIO2_EINT_DB_WIDTH
#define WM8904_GPIO1_EINT_DB
#define WM8904_GPIO1_EINT_DB_MASK
#define WM8904_GPIO1_EINT_DB_SHIFT
#define WM8904_GPIO1_EINT_DB_WIDTH
#define WM8904_GPI8_EINT_DB
#define WM8904_GPI8_EINT_DB_MASK
#define WM8904_GPI8_EINT_DB_SHIFT
#define WM8904_GPI8_EINT_DB_WIDTH
#define WM8904_GPI7_EINT_DB
#define WM8904_GPI7_EINT_DB_MASK
#define WM8904_GPI7_EINT_DB_SHIFT
#define WM8904_GPI7_EINT_DB_WIDTH
#define WM8904_FLL_LOCK_EINT_DB
#define WM8904_FLL_LOCK_EINT_DB_MASK
#define WM8904_FLL_LOCK_EINT_DB_SHIFT
#define WM8904_FLL_LOCK_EINT_DB_WIDTH
#define WM8904_MIC_SHRT_EINT_DB
#define WM8904_MIC_SHRT_EINT_DB_MASK
#define WM8904_MIC_SHRT_EINT_DB_SHIFT
#define WM8904_MIC_SHRT_EINT_DB_WIDTH
#define WM8904_MIC_DET_EINT_DB
#define WM8904_MIC_DET_EINT_DB_MASK
#define WM8904_MIC_DET_EINT_DB_SHIFT
#define WM8904_MIC_DET_EINT_DB_WIDTH

/*
 * R134 (0x86) - EQ1
 */
#define WM8904_EQ_ENA
#define WM8904_EQ_ENA_MASK
#define WM8904_EQ_ENA_SHIFT
#define WM8904_EQ_ENA_WIDTH

/*
 * R135 (0x87) - EQ2
 */
#define WM8904_EQ_B1_GAIN_MASK
#define WM8904_EQ_B1_GAIN_SHIFT
#define WM8904_EQ_B1_GAIN_WIDTH

/*
 * R136 (0x88) - EQ3
 */
#define WM8904_EQ_B2_GAIN_MASK
#define WM8904_EQ_B2_GAIN_SHIFT
#define WM8904_EQ_B2_GAIN_WIDTH

/*
 * R137 (0x89) - EQ4
 */
#define WM8904_EQ_B3_GAIN_MASK
#define WM8904_EQ_B3_GAIN_SHIFT
#define WM8904_EQ_B3_GAIN_WIDTH

/*
 * R138 (0x8A) - EQ5
 */
#define WM8904_EQ_B4_GAIN_MASK
#define WM8904_EQ_B4_GAIN_SHIFT
#define WM8904_EQ_B4_GAIN_WIDTH

/*
 * R139 (0x8B) - EQ6
 */
#define WM8904_EQ_B5_GAIN_MASK
#define WM8904_EQ_B5_GAIN_SHIFT
#define WM8904_EQ_B5_GAIN_WIDTH

/*
 * R140 (0x8C) - EQ7
 */
#define WM8904_EQ_B1_A_MASK
#define WM8904_EQ_B1_A_SHIFT
#define WM8904_EQ_B1_A_WIDTH

/*
 * R141 (0x8D) - EQ8
 */
#define WM8904_EQ_B1_B_MASK
#define WM8904_EQ_B1_B_SHIFT
#define WM8904_EQ_B1_B_WIDTH

/*
 * R142 (0x8E) - EQ9
 */
#define WM8904_EQ_B1_PG_MASK
#define WM8904_EQ_B1_PG_SHIFT
#define WM8904_EQ_B1_PG_WIDTH

/*
 * R143 (0x8F) - EQ10
 */
#define WM8904_EQ_B2_A_MASK
#define WM8904_EQ_B2_A_SHIFT
#define WM8904_EQ_B2_A_WIDTH

/*
 * R144 (0x90) - EQ11
 */
#define WM8904_EQ_B2_B_MASK
#define WM8904_EQ_B2_B_SHIFT
#define WM8904_EQ_B2_B_WIDTH

/*
 * R145 (0x91) - EQ12
 */
#define WM8904_EQ_B2_C_MASK
#define WM8904_EQ_B2_C_SHIFT
#define WM8904_EQ_B2_C_WIDTH

/*
 * R146 (0x92) - EQ13
 */
#define WM8904_EQ_B2_PG_MASK
#define WM8904_EQ_B2_PG_SHIFT
#define WM8904_EQ_B2_PG_WIDTH

/*
 * R147 (0x93) - EQ14
 */
#define WM8904_EQ_B3_A_MASK
#define WM8904_EQ_B3_A_SHIFT
#define WM8904_EQ_B3_A_WIDTH

/*
 * R148 (0x94) - EQ15
 */
#define WM8904_EQ_B3_B_MASK
#define WM8904_EQ_B3_B_SHIFT
#define WM8904_EQ_B3_B_WIDTH

/*
 * R149 (0x95) - EQ16
 */
#define WM8904_EQ_B3_C_MASK
#define WM8904_EQ_B3_C_SHIFT
#define WM8904_EQ_B3_C_WIDTH

/*
 * R150 (0x96) - EQ17
 */
#define WM8904_EQ_B3_PG_MASK
#define WM8904_EQ_B3_PG_SHIFT
#define WM8904_EQ_B3_PG_WIDTH

/*
 * R151 (0x97) - EQ18
 */
#define WM8904_EQ_B4_A_MASK
#define WM8904_EQ_B4_A_SHIFT
#define WM8904_EQ_B4_A_WIDTH

/*
 * R152 (0x98) - EQ19
 */
#define WM8904_EQ_B4_B_MASK
#define WM8904_EQ_B4_B_SHIFT
#define WM8904_EQ_B4_B_WIDTH

/*
 * R153 (0x99) - EQ20
 */
#define WM8904_EQ_B4_C_MASK
#define WM8904_EQ_B4_C_SHIFT
#define WM8904_EQ_B4_C_WIDTH

/*
 * R154 (0x9A) - EQ21
 */
#define WM8904_EQ_B4_PG_MASK
#define WM8904_EQ_B4_PG_SHIFT
#define WM8904_EQ_B4_PG_WIDTH

/*
 * R155 (0x9B) - EQ22
 */
#define WM8904_EQ_B5_A_MASK
#define WM8904_EQ_B5_A_SHIFT
#define WM8904_EQ_B5_A_WIDTH

/*
 * R156 (0x9C) - EQ23
 */
#define WM8904_EQ_B5_B_MASK
#define WM8904_EQ_B5_B_SHIFT
#define WM8904_EQ_B5_B_WIDTH

/*
 * R157 (0x9D) - EQ24
 */
#define WM8904_EQ_B5_PG_MASK
#define WM8904_EQ_B5_PG_SHIFT
#define WM8904_EQ_B5_PG_WIDTH

/*
 * R161 (0xA1) - Control Interface Test 1
 */
#define WM8904_USER_KEY
#define WM8904_USER_KEY_MASK
#define WM8904_USER_KEY_SHIFT
#define WM8904_USER_KEY_WIDTH

/*
 * R198 (0xC6) - ADC Test 0
 */
#define WM8904_ADC_128_OSR_TST_MODE
#define WM8904_ADC_128_OSR_TST_MODE_SHIFT
#define WM8904_ADC_128_OSR_TST_MODE_WIDTH
#define WM8904_ADC_BIASX1P5
#define WM8904_ADC_BIASX1P5_SHIFT
#define WM8904_ADC_BIASX1P5_WIDTH

/*
 * R204 (0xCC) - Analogue Output Bias 0
 */
#define WM8904_PGA_BIAS_MASK
#define WM8904_PGA_BIAS_SHIFT
#define WM8904_PGA_BIAS_WIDTH

/*
 * R247 (0xF7) - FLL NCO Test 0
 */
#define WM8904_FLL_FRC_NCO
#define WM8904_FLL_FRC_NCO_MASK
#define WM8904_FLL_FRC_NCO_SHIFT
#define WM8904_FLL_FRC_NCO_WIDTH

/*
 * R248 (0xF8) - FLL NCO Test 1
 */
#define WM8904_FLL_FRC_NCO_VAL_MASK
#define WM8904_FLL_FRC_NCO_VAL_SHIFT
#define WM8904_FLL_FRC_NCO_VAL_WIDTH

#endif