linux/sound/soc/codecs/wm9090.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * ALSA SoC WM9090 driver
 *
 * Copyright 2009 Wolfson Microelectronics
 *
 * Author: Mark Brown <[email protected]>
 */

#ifndef __WM9090_H
#define __WM9090_H

/*
 * Register values.
 */
#define WM9090_SOFTWARE_RESET
#define WM9090_POWER_MANAGEMENT_1
#define WM9090_POWER_MANAGEMENT_2
#define WM9090_POWER_MANAGEMENT_3
#define WM9090_CLOCKING_1
#define WM9090_IN1_LINE_CONTROL
#define WM9090_IN2_LINE_CONTROL
#define WM9090_IN1_LINE_INPUT_A_VOLUME
#define WM9090_IN1_LINE_INPUT_B_VOLUME
#define WM9090_IN2_LINE_INPUT_A_VOLUME
#define WM9090_IN2_LINE_INPUT_B_VOLUME
#define WM9090_LEFT_OUTPUT_VOLUME
#define WM9090_RIGHT_OUTPUT_VOLUME
#define WM9090_SPKMIXL_ATTENUATION
#define WM9090_SPKOUT_MIXERS
#define WM9090_CLASSD3
#define WM9090_SPEAKER_VOLUME_LEFT
#define WM9090_OUTPUT_MIXER1
#define WM9090_OUTPUT_MIXER2
#define WM9090_OUTPUT_MIXER3
#define WM9090_OUTPUT_MIXER4
#define WM9090_SPEAKER_MIXER
#define WM9090_ANTIPOP2
#define WM9090_WRITE_SEQUENCER_0
#define WM9090_WRITE_SEQUENCER_1
#define WM9090_WRITE_SEQUENCER_2
#define WM9090_WRITE_SEQUENCER_3
#define WM9090_WRITE_SEQUENCER_4
#define WM9090_WRITE_SEQUENCER_5
#define WM9090_CHARGE_PUMP_1
#define WM9090_DC_SERVO_0
#define WM9090_DC_SERVO_1
#define WM9090_DC_SERVO_3
#define WM9090_DC_SERVO_READBACK_0
#define WM9090_DC_SERVO_READBACK_1
#define WM9090_DC_SERVO_READBACK_2
#define WM9090_ANALOGUE_HP_0
#define WM9090_AGC_CONTROL_0
#define WM9090_AGC_CONTROL_1
#define WM9090_AGC_CONTROL_2

#define WM9090_REGISTER_COUNT
#define WM9090_MAX_REGISTER

/*
 * Field Definitions.
 */

/*
 * R0 (0x00) - Software Reset
 */
#define WM9090_SW_RESET_MASK
#define WM9090_SW_RESET_SHIFT
#define WM9090_SW_RESET_WIDTH

/*
 * R1 (0x01) - Power Management (1)
 */
#define WM9090_SPKOUTL_ENA
#define WM9090_SPKOUTL_ENA_MASK
#define WM9090_SPKOUTL_ENA_SHIFT
#define WM9090_SPKOUTL_ENA_WIDTH
#define WM9090_HPOUT1L_ENA
#define WM9090_HPOUT1L_ENA_MASK
#define WM9090_HPOUT1L_ENA_SHIFT
#define WM9090_HPOUT1L_ENA_WIDTH
#define WM9090_HPOUT1R_ENA
#define WM9090_HPOUT1R_ENA_MASK
#define WM9090_HPOUT1R_ENA_SHIFT
#define WM9090_HPOUT1R_ENA_WIDTH
#define WM9090_OSC_ENA
#define WM9090_OSC_ENA_MASK
#define WM9090_OSC_ENA_SHIFT
#define WM9090_OSC_ENA_WIDTH
#define WM9090_VMID_RES_MASK
#define WM9090_VMID_RES_SHIFT
#define WM9090_VMID_RES_WIDTH
#define WM9090_BIAS_ENA
#define WM9090_BIAS_ENA_MASK
#define WM9090_BIAS_ENA_SHIFT
#define WM9090_BIAS_ENA_WIDTH

/*
 * R2 (0x02) - Power Management (2)
 */
#define WM9090_TSHUT
#define WM9090_TSHUT_MASK
#define WM9090_TSHUT_SHIFT
#define WM9090_TSHUT_WIDTH
#define WM9090_TSHUT_ENA
#define WM9090_TSHUT_ENA_MASK
#define WM9090_TSHUT_ENA_SHIFT
#define WM9090_TSHUT_ENA_WIDTH
#define WM9090_TSHUT_OPDIS
#define WM9090_TSHUT_OPDIS_MASK
#define WM9090_TSHUT_OPDIS_SHIFT
#define WM9090_TSHUT_OPDIS_WIDTH
#define WM9090_IN1A_ENA
#define WM9090_IN1A_ENA_MASK
#define WM9090_IN1A_ENA_SHIFT
#define WM9090_IN1A_ENA_WIDTH
#define WM9090_IN1B_ENA
#define WM9090_IN1B_ENA_MASK
#define WM9090_IN1B_ENA_SHIFT
#define WM9090_IN1B_ENA_WIDTH
#define WM9090_IN2A_ENA
#define WM9090_IN2A_ENA_MASK
#define WM9090_IN2A_ENA_SHIFT
#define WM9090_IN2A_ENA_WIDTH
#define WM9090_IN2B_ENA
#define WM9090_IN2B_ENA_MASK
#define WM9090_IN2B_ENA_SHIFT
#define WM9090_IN2B_ENA_WIDTH

/*
 * R3 (0x03) - Power Management (3)
 */
#define WM9090_AGC_ENA
#define WM9090_AGC_ENA_MASK
#define WM9090_AGC_ENA_SHIFT
#define WM9090_AGC_ENA_WIDTH
#define WM9090_SPKLVOL_ENA
#define WM9090_SPKLVOL_ENA_MASK
#define WM9090_SPKLVOL_ENA_SHIFT
#define WM9090_SPKLVOL_ENA_WIDTH
#define WM9090_MIXOUTL_ENA
#define WM9090_MIXOUTL_ENA_MASK
#define WM9090_MIXOUTL_ENA_SHIFT
#define WM9090_MIXOUTL_ENA_WIDTH
#define WM9090_MIXOUTR_ENA
#define WM9090_MIXOUTR_ENA_MASK
#define WM9090_MIXOUTR_ENA_SHIFT
#define WM9090_MIXOUTR_ENA_WIDTH
#define WM9090_SPKMIX_ENA
#define WM9090_SPKMIX_ENA_MASK
#define WM9090_SPKMIX_ENA_SHIFT
#define WM9090_SPKMIX_ENA_WIDTH

/*
 * R6 (0x06) - Clocking 1
 */
#define WM9090_TOCLK_RATE
#define WM9090_TOCLK_RATE_MASK
#define WM9090_TOCLK_RATE_SHIFT
#define WM9090_TOCLK_RATE_WIDTH
#define WM9090_TOCLK_ENA
#define WM9090_TOCLK_ENA_MASK
#define WM9090_TOCLK_ENA_SHIFT
#define WM9090_TOCLK_ENA_WIDTH

/*
 * R22 (0x16) - IN1 Line Control
 */
#define WM9090_IN1_DIFF
#define WM9090_IN1_DIFF_MASK
#define WM9090_IN1_DIFF_SHIFT
#define WM9090_IN1_DIFF_WIDTH
#define WM9090_IN1_CLAMP
#define WM9090_IN1_CLAMP_MASK
#define WM9090_IN1_CLAMP_SHIFT
#define WM9090_IN1_CLAMP_WIDTH

/*
 * R23 (0x17) - IN2 Line Control
 */
#define WM9090_IN2_DIFF
#define WM9090_IN2_DIFF_MASK
#define WM9090_IN2_DIFF_SHIFT
#define WM9090_IN2_DIFF_WIDTH
#define WM9090_IN2_CLAMP
#define WM9090_IN2_CLAMP_MASK
#define WM9090_IN2_CLAMP_SHIFT
#define WM9090_IN2_CLAMP_WIDTH

/*
 * R24 (0x18) - IN1 Line Input A Volume
 */
#define WM9090_IN1_VU
#define WM9090_IN1_VU_MASK
#define WM9090_IN1_VU_SHIFT
#define WM9090_IN1_VU_WIDTH
#define WM9090_IN1A_MUTE
#define WM9090_IN1A_MUTE_MASK
#define WM9090_IN1A_MUTE_SHIFT
#define WM9090_IN1A_MUTE_WIDTH
#define WM9090_IN1A_ZC
#define WM9090_IN1A_ZC_MASK
#define WM9090_IN1A_ZC_SHIFT
#define WM9090_IN1A_ZC_WIDTH
#define WM9090_IN1A_VOL_MASK
#define WM9090_IN1A_VOL_SHIFT
#define WM9090_IN1A_VOL_WIDTH

/*
 * R25 (0x19) - IN1  Line Input B Volume
 */
#define WM9090_IN1_VU
#define WM9090_IN1_VU_MASK
#define WM9090_IN1_VU_SHIFT
#define WM9090_IN1_VU_WIDTH
#define WM9090_IN1B_MUTE
#define WM9090_IN1B_MUTE_MASK
#define WM9090_IN1B_MUTE_SHIFT
#define WM9090_IN1B_MUTE_WIDTH
#define WM9090_IN1B_ZC
#define WM9090_IN1B_ZC_MASK
#define WM9090_IN1B_ZC_SHIFT
#define WM9090_IN1B_ZC_WIDTH
#define WM9090_IN1B_VOL_MASK
#define WM9090_IN1B_VOL_SHIFT
#define WM9090_IN1B_VOL_WIDTH

/*
 * R26 (0x1A) - IN2 Line Input A Volume
 */
#define WM9090_IN2_VU
#define WM9090_IN2_VU_MASK
#define WM9090_IN2_VU_SHIFT
#define WM9090_IN2_VU_WIDTH
#define WM9090_IN2A_MUTE
#define WM9090_IN2A_MUTE_MASK
#define WM9090_IN2A_MUTE_SHIFT
#define WM9090_IN2A_MUTE_WIDTH
#define WM9090_IN2A_ZC
#define WM9090_IN2A_ZC_MASK
#define WM9090_IN2A_ZC_SHIFT
#define WM9090_IN2A_ZC_WIDTH
#define WM9090_IN2A_VOL_MASK
#define WM9090_IN2A_VOL_SHIFT
#define WM9090_IN2A_VOL_WIDTH

/*
 * R27 (0x1B) - IN2 Line Input B Volume
 */
#define WM9090_IN2_VU
#define WM9090_IN2_VU_MASK
#define WM9090_IN2_VU_SHIFT
#define WM9090_IN2_VU_WIDTH
#define WM9090_IN2B_MUTE
#define WM9090_IN2B_MUTE_MASK
#define WM9090_IN2B_MUTE_SHIFT
#define WM9090_IN2B_MUTE_WIDTH
#define WM9090_IN2B_ZC
#define WM9090_IN2B_ZC_MASK
#define WM9090_IN2B_ZC_SHIFT
#define WM9090_IN2B_ZC_WIDTH
#define WM9090_IN2B_VOL_MASK
#define WM9090_IN2B_VOL_SHIFT
#define WM9090_IN2B_VOL_WIDTH

/*
 * R28 (0x1C) - Left Output Volume
 */
#define WM9090_HPOUT1_VU
#define WM9090_HPOUT1_VU_MASK
#define WM9090_HPOUT1_VU_SHIFT
#define WM9090_HPOUT1_VU_WIDTH
#define WM9090_HPOUT1L_ZC
#define WM9090_HPOUT1L_ZC_MASK
#define WM9090_HPOUT1L_ZC_SHIFT
#define WM9090_HPOUT1L_ZC_WIDTH
#define WM9090_HPOUT1L_MUTE
#define WM9090_HPOUT1L_MUTE_MASK
#define WM9090_HPOUT1L_MUTE_SHIFT
#define WM9090_HPOUT1L_MUTE_WIDTH
#define WM9090_HPOUT1L_VOL_MASK
#define WM9090_HPOUT1L_VOL_SHIFT
#define WM9090_HPOUT1L_VOL_WIDTH

/*
 * R29 (0x1D) - Right Output Volume
 */
#define WM9090_HPOUT1_VU
#define WM9090_HPOUT1_VU_MASK
#define WM9090_HPOUT1_VU_SHIFT
#define WM9090_HPOUT1_VU_WIDTH
#define WM9090_HPOUT1R_ZC
#define WM9090_HPOUT1R_ZC_MASK
#define WM9090_HPOUT1R_ZC_SHIFT
#define WM9090_HPOUT1R_ZC_WIDTH
#define WM9090_HPOUT1R_MUTE
#define WM9090_HPOUT1R_MUTE_MASK
#define WM9090_HPOUT1R_MUTE_SHIFT
#define WM9090_HPOUT1R_MUTE_WIDTH
#define WM9090_HPOUT1R_VOL_MASK
#define WM9090_HPOUT1R_VOL_SHIFT
#define WM9090_HPOUT1R_VOL_WIDTH

/*
 * R34 (0x22) - SPKMIXL Attenuation
 */
#define WM9090_SPKMIX_MUTE
#define WM9090_SPKMIX_MUTE_MASK
#define WM9090_SPKMIX_MUTE_SHIFT
#define WM9090_SPKMIX_MUTE_WIDTH
#define WM9090_IN1A_SPKMIX_VOL_MASK
#define WM9090_IN1A_SPKMIX_VOL_SHIFT
#define WM9090_IN1A_SPKMIX_VOL_WIDTH
#define WM9090_IN1B_SPKMIX_VOL_MASK
#define WM9090_IN1B_SPKMIX_VOL_SHIFT
#define WM9090_IN1B_SPKMIX_VOL_WIDTH
#define WM9090_IN2A_SPKMIX_VOL_MASK
#define WM9090_IN2A_SPKMIX_VOL_SHIFT
#define WM9090_IN2A_SPKMIX_VOL_WIDTH
#define WM9090_IN2B_SPKMIX_VOL_MASK
#define WM9090_IN2B_SPKMIX_VOL_SHIFT
#define WM9090_IN2B_SPKMIX_VOL_WIDTH

/*
 * R36 (0x24) - SPKOUT Mixers
 */
#define WM9090_SPKMIXL_TO_SPKOUTL
#define WM9090_SPKMIXL_TO_SPKOUTL_MASK
#define WM9090_SPKMIXL_TO_SPKOUTL_SHIFT
#define WM9090_SPKMIXL_TO_SPKOUTL_WIDTH

/*
 * R37 (0x25) - ClassD3
 */
#define WM9090_SPKOUTL_BOOST_MASK
#define WM9090_SPKOUTL_BOOST_SHIFT
#define WM9090_SPKOUTL_BOOST_WIDTH

/*
 * R38 (0x26) - Speaker Volume Left
 */
#define WM9090_SPKOUT_VU
#define WM9090_SPKOUT_VU_MASK
#define WM9090_SPKOUT_VU_SHIFT
#define WM9090_SPKOUT_VU_WIDTH
#define WM9090_SPKOUTL_ZC
#define WM9090_SPKOUTL_ZC_MASK
#define WM9090_SPKOUTL_ZC_SHIFT
#define WM9090_SPKOUTL_ZC_WIDTH
#define WM9090_SPKOUTL_MUTE
#define WM9090_SPKOUTL_MUTE_MASK
#define WM9090_SPKOUTL_MUTE_SHIFT
#define WM9090_SPKOUTL_MUTE_WIDTH
#define WM9090_SPKOUTL_VOL_MASK
#define WM9090_SPKOUTL_VOL_SHIFT
#define WM9090_SPKOUTL_VOL_WIDTH

/*
 * R45 (0x2D) - Output Mixer1
 */
#define WM9090_IN1A_TO_MIXOUTL
#define WM9090_IN1A_TO_MIXOUTL_MASK
#define WM9090_IN1A_TO_MIXOUTL_SHIFT
#define WM9090_IN1A_TO_MIXOUTL_WIDTH
#define WM9090_IN2A_TO_MIXOUTL
#define WM9090_IN2A_TO_MIXOUTL_MASK
#define WM9090_IN2A_TO_MIXOUTL_SHIFT
#define WM9090_IN2A_TO_MIXOUTL_WIDTH

/*
 * R46 (0x2E) - Output Mixer2
 */
#define WM9090_IN1A_TO_MIXOUTR
#define WM9090_IN1A_TO_MIXOUTR_MASK
#define WM9090_IN1A_TO_MIXOUTR_SHIFT
#define WM9090_IN1A_TO_MIXOUTR_WIDTH
#define WM9090_IN1B_TO_MIXOUTR
#define WM9090_IN1B_TO_MIXOUTR_MASK
#define WM9090_IN1B_TO_MIXOUTR_SHIFT
#define WM9090_IN1B_TO_MIXOUTR_WIDTH
#define WM9090_IN2A_TO_MIXOUTR
#define WM9090_IN2A_TO_MIXOUTR_MASK
#define WM9090_IN2A_TO_MIXOUTR_SHIFT
#define WM9090_IN2A_TO_MIXOUTR_WIDTH
#define WM9090_IN2B_TO_MIXOUTR
#define WM9090_IN2B_TO_MIXOUTR_MASK
#define WM9090_IN2B_TO_MIXOUTR_SHIFT
#define WM9090_IN2B_TO_MIXOUTR_WIDTH

/*
 * R47 (0x2F) - Output Mixer3
 */
#define WM9090_MIXOUTL_MUTE
#define WM9090_MIXOUTL_MUTE_MASK
#define WM9090_MIXOUTL_MUTE_SHIFT
#define WM9090_MIXOUTL_MUTE_WIDTH
#define WM9090_IN1A_MIXOUTL_VOL_MASK
#define WM9090_IN1A_MIXOUTL_VOL_SHIFT
#define WM9090_IN1A_MIXOUTL_VOL_WIDTH
#define WM9090_IN2A_MIXOUTL_VOL_MASK
#define WM9090_IN2A_MIXOUTL_VOL_SHIFT
#define WM9090_IN2A_MIXOUTL_VOL_WIDTH

/*
 * R48 (0x30) - Output Mixer4
 */
#define WM9090_MIXOUTR_MUTE
#define WM9090_MIXOUTR_MUTE_MASK
#define WM9090_MIXOUTR_MUTE_SHIFT
#define WM9090_MIXOUTR_MUTE_WIDTH
#define WM9090_IN1A_MIXOUTR_VOL_MASK
#define WM9090_IN1A_MIXOUTR_VOL_SHIFT
#define WM9090_IN1A_MIXOUTR_VOL_WIDTH
#define WM9090_IN1B_MIXOUTR_VOL_MASK
#define WM9090_IN1B_MIXOUTR_VOL_SHIFT
#define WM9090_IN1B_MIXOUTR_VOL_WIDTH
#define WM9090_IN2A_MIXOUTR_VOL_MASK
#define WM9090_IN2A_MIXOUTR_VOL_SHIFT
#define WM9090_IN2A_MIXOUTR_VOL_WIDTH
#define WM9090_IN2B_MIXOUTR_VOL_MASK
#define WM9090_IN2B_MIXOUTR_VOL_SHIFT
#define WM9090_IN2B_MIXOUTR_VOL_WIDTH

/*
 * R54 (0x36) - Speaker Mixer
 */
#define WM9090_IN1A_TO_SPKMIX
#define WM9090_IN1A_TO_SPKMIX_MASK
#define WM9090_IN1A_TO_SPKMIX_SHIFT
#define WM9090_IN1A_TO_SPKMIX_WIDTH
#define WM9090_IN1B_TO_SPKMIX
#define WM9090_IN1B_TO_SPKMIX_MASK
#define WM9090_IN1B_TO_SPKMIX_SHIFT
#define WM9090_IN1B_TO_SPKMIX_WIDTH
#define WM9090_IN2A_TO_SPKMIX
#define WM9090_IN2A_TO_SPKMIX_MASK
#define WM9090_IN2A_TO_SPKMIX_SHIFT
#define WM9090_IN2A_TO_SPKMIX_WIDTH
#define WM9090_IN2B_TO_SPKMIX
#define WM9090_IN2B_TO_SPKMIX_MASK
#define WM9090_IN2B_TO_SPKMIX_SHIFT
#define WM9090_IN2B_TO_SPKMIX_WIDTH

/*
 * R57 (0x39) - AntiPOP2
 */
#define WM9090_VMID_BUF_ENA
#define WM9090_VMID_BUF_ENA_MASK
#define WM9090_VMID_BUF_ENA_SHIFT
#define WM9090_VMID_BUF_ENA_WIDTH
#define WM9090_VMID_ENA
#define WM9090_VMID_ENA_MASK
#define WM9090_VMID_ENA_SHIFT
#define WM9090_VMID_ENA_WIDTH

/*
 * R70 (0x46) - Write Sequencer 0
 */
#define WM9090_WSEQ_ENA
#define WM9090_WSEQ_ENA_MASK
#define WM9090_WSEQ_ENA_SHIFT
#define WM9090_WSEQ_ENA_WIDTH
#define WM9090_WSEQ_WRITE_INDEX_MASK
#define WM9090_WSEQ_WRITE_INDEX_SHIFT
#define WM9090_WSEQ_WRITE_INDEX_WIDTH

/*
 * R71 (0x47) - Write Sequencer 1
 */
#define WM9090_WSEQ_DATA_WIDTH_MASK
#define WM9090_WSEQ_DATA_WIDTH_SHIFT
#define WM9090_WSEQ_DATA_WIDTH_WIDTH
#define WM9090_WSEQ_DATA_START_MASK
#define WM9090_WSEQ_DATA_START_SHIFT
#define WM9090_WSEQ_DATA_START_WIDTH
#define WM9090_WSEQ_ADDR_MASK
#define WM9090_WSEQ_ADDR_SHIFT
#define WM9090_WSEQ_ADDR_WIDTH

/*
 * R72 (0x48) - Write Sequencer 2
 */
#define WM9090_WSEQ_EOS
#define WM9090_WSEQ_EOS_MASK
#define WM9090_WSEQ_EOS_SHIFT
#define WM9090_WSEQ_EOS_WIDTH
#define WM9090_WSEQ_DELAY_MASK
#define WM9090_WSEQ_DELAY_SHIFT
#define WM9090_WSEQ_DELAY_WIDTH
#define WM9090_WSEQ_DATA_MASK
#define WM9090_WSEQ_DATA_SHIFT
#define WM9090_WSEQ_DATA_WIDTH

/*
 * R73 (0x49) - Write Sequencer 3
 */
#define WM9090_WSEQ_ABORT
#define WM9090_WSEQ_ABORT_MASK
#define WM9090_WSEQ_ABORT_SHIFT
#define WM9090_WSEQ_ABORT_WIDTH
#define WM9090_WSEQ_START
#define WM9090_WSEQ_START_MASK
#define WM9090_WSEQ_START_SHIFT
#define WM9090_WSEQ_START_WIDTH
#define WM9090_WSEQ_START_INDEX_MASK
#define WM9090_WSEQ_START_INDEX_SHIFT
#define WM9090_WSEQ_START_INDEX_WIDTH

/*
 * R74 (0x4A) - Write Sequencer 4
 */
#define WM9090_WSEQ_BUSY
#define WM9090_WSEQ_BUSY_MASK
#define WM9090_WSEQ_BUSY_SHIFT
#define WM9090_WSEQ_BUSY_WIDTH

/*
 * R75 (0x4B) - Write Sequencer 5
 */
#define WM9090_WSEQ_CURRENT_INDEX_MASK
#define WM9090_WSEQ_CURRENT_INDEX_SHIFT
#define WM9090_WSEQ_CURRENT_INDEX_WIDTH

/*
 * R76 (0x4C) - Charge Pump 1
 */
#define WM9090_CP_ENA
#define WM9090_CP_ENA_MASK
#define WM9090_CP_ENA_SHIFT
#define WM9090_CP_ENA_WIDTH

/*
 * R84 (0x54) - DC Servo 0
 */
#define WM9090_DCS_TRIG_SINGLE_1
#define WM9090_DCS_TRIG_SINGLE_1_MASK
#define WM9090_DCS_TRIG_SINGLE_1_SHIFT
#define WM9090_DCS_TRIG_SINGLE_1_WIDTH
#define WM9090_DCS_TRIG_SINGLE_0
#define WM9090_DCS_TRIG_SINGLE_0_MASK
#define WM9090_DCS_TRIG_SINGLE_0_SHIFT
#define WM9090_DCS_TRIG_SINGLE_0_WIDTH
#define WM9090_DCS_TRIG_SERIES_1
#define WM9090_DCS_TRIG_SERIES_1_MASK
#define WM9090_DCS_TRIG_SERIES_1_SHIFT
#define WM9090_DCS_TRIG_SERIES_1_WIDTH
#define WM9090_DCS_TRIG_SERIES_0
#define WM9090_DCS_TRIG_SERIES_0_MASK
#define WM9090_DCS_TRIG_SERIES_0_SHIFT
#define WM9090_DCS_TRIG_SERIES_0_WIDTH
#define WM9090_DCS_TRIG_STARTUP_1
#define WM9090_DCS_TRIG_STARTUP_1_MASK
#define WM9090_DCS_TRIG_STARTUP_1_SHIFT
#define WM9090_DCS_TRIG_STARTUP_1_WIDTH
#define WM9090_DCS_TRIG_STARTUP_0
#define WM9090_DCS_TRIG_STARTUP_0_MASK
#define WM9090_DCS_TRIG_STARTUP_0_SHIFT
#define WM9090_DCS_TRIG_STARTUP_0_WIDTH
#define WM9090_DCS_TRIG_DAC_WR_1
#define WM9090_DCS_TRIG_DAC_WR_1_MASK
#define WM9090_DCS_TRIG_DAC_WR_1_SHIFT
#define WM9090_DCS_TRIG_DAC_WR_1_WIDTH
#define WM9090_DCS_TRIG_DAC_WR_0
#define WM9090_DCS_TRIG_DAC_WR_0_MASK
#define WM9090_DCS_TRIG_DAC_WR_0_SHIFT
#define WM9090_DCS_TRIG_DAC_WR_0_WIDTH
#define WM9090_DCS_ENA_CHAN_1
#define WM9090_DCS_ENA_CHAN_1_MASK
#define WM9090_DCS_ENA_CHAN_1_SHIFT
#define WM9090_DCS_ENA_CHAN_1_WIDTH
#define WM9090_DCS_ENA_CHAN_0
#define WM9090_DCS_ENA_CHAN_0_MASK
#define WM9090_DCS_ENA_CHAN_0_SHIFT
#define WM9090_DCS_ENA_CHAN_0_WIDTH

/*
 * R85 (0x55) - DC Servo 1
 */
#define WM9090_DCS_SERIES_NO_01_MASK
#define WM9090_DCS_SERIES_NO_01_SHIFT
#define WM9090_DCS_SERIES_NO_01_WIDTH
#define WM9090_DCS_TIMER_PERIOD_01_MASK
#define WM9090_DCS_TIMER_PERIOD_01_SHIFT
#define WM9090_DCS_TIMER_PERIOD_01_WIDTH

/*
 * R87 (0x57) - DC Servo 3
 */
#define WM9090_DCS_DAC_WR_VAL_1_MASK
#define WM9090_DCS_DAC_WR_VAL_1_SHIFT
#define WM9090_DCS_DAC_WR_VAL_1_WIDTH
#define WM9090_DCS_DAC_WR_VAL_0_MASK
#define WM9090_DCS_DAC_WR_VAL_0_SHIFT
#define WM9090_DCS_DAC_WR_VAL_0_WIDTH

/*
 * R88 (0x58) - DC Servo Readback 0
 */
#define WM9090_DCS_CAL_COMPLETE_MASK
#define WM9090_DCS_CAL_COMPLETE_SHIFT
#define WM9090_DCS_CAL_COMPLETE_WIDTH
#define WM9090_DCS_DAC_WR_COMPLETE_MASK
#define WM9090_DCS_DAC_WR_COMPLETE_SHIFT
#define WM9090_DCS_DAC_WR_COMPLETE_WIDTH
#define WM9090_DCS_STARTUP_COMPLETE_MASK
#define WM9090_DCS_STARTUP_COMPLETE_SHIFT
#define WM9090_DCS_STARTUP_COMPLETE_WIDTH

/*
 * R89 (0x59) - DC Servo Readback 1
 */
#define WM9090_DCS_DAC_WR_VAL_1_RD_MASK
#define WM9090_DCS_DAC_WR_VAL_1_RD_SHIFT
#define WM9090_DCS_DAC_WR_VAL_1_RD_WIDTH

/*
 * R90 (0x5A) - DC Servo Readback 2
 */
#define WM9090_DCS_DAC_WR_VAL_0_RD_MASK
#define WM9090_DCS_DAC_WR_VAL_0_RD_SHIFT
#define WM9090_DCS_DAC_WR_VAL_0_RD_WIDTH

/*
 * R96 (0x60) - Analogue HP 0
 */
#define WM9090_HPOUT1L_RMV_SHORT
#define WM9090_HPOUT1L_RMV_SHORT_MASK
#define WM9090_HPOUT1L_RMV_SHORT_SHIFT
#define WM9090_HPOUT1L_RMV_SHORT_WIDTH
#define WM9090_HPOUT1L_OUTP
#define WM9090_HPOUT1L_OUTP_MASK
#define WM9090_HPOUT1L_OUTP_SHIFT
#define WM9090_HPOUT1L_OUTP_WIDTH
#define WM9090_HPOUT1L_DLY
#define WM9090_HPOUT1L_DLY_MASK
#define WM9090_HPOUT1L_DLY_SHIFT
#define WM9090_HPOUT1L_DLY_WIDTH
#define WM9090_HPOUT1R_RMV_SHORT
#define WM9090_HPOUT1R_RMV_SHORT_MASK
#define WM9090_HPOUT1R_RMV_SHORT_SHIFT
#define WM9090_HPOUT1R_RMV_SHORT_WIDTH
#define WM9090_HPOUT1R_OUTP
#define WM9090_HPOUT1R_OUTP_MASK
#define WM9090_HPOUT1R_OUTP_SHIFT
#define WM9090_HPOUT1R_OUTP_WIDTH
#define WM9090_HPOUT1R_DLY
#define WM9090_HPOUT1R_DLY_MASK
#define WM9090_HPOUT1R_DLY_SHIFT
#define WM9090_HPOUT1R_DLY_WIDTH

/*
 * R98 (0x62) - AGC Control 0
 */
#define WM9090_AGC_CLIP_ENA
#define WM9090_AGC_CLIP_ENA_MASK
#define WM9090_AGC_CLIP_ENA_SHIFT
#define WM9090_AGC_CLIP_ENA_WIDTH
#define WM9090_AGC_CLIP_THR_MASK
#define WM9090_AGC_CLIP_THR_SHIFT
#define WM9090_AGC_CLIP_THR_WIDTH
#define WM9090_AGC_CLIP_ATK_MASK
#define WM9090_AGC_CLIP_ATK_SHIFT
#define WM9090_AGC_CLIP_ATK_WIDTH
#define WM9090_AGC_CLIP_DCY_MASK
#define WM9090_AGC_CLIP_DCY_SHIFT
#define WM9090_AGC_CLIP_DCY_WIDTH

/*
 * R99 (0x63) - AGC Control 1
 */
#define WM9090_AGC_PWR_ENA
#define WM9090_AGC_PWR_ENA_MASK
#define WM9090_AGC_PWR_ENA_SHIFT
#define WM9090_AGC_PWR_ENA_WIDTH
#define WM9090_AGC_PWR_AVG
#define WM9090_AGC_PWR_AVG_MASK
#define WM9090_AGC_PWR_AVG_SHIFT
#define WM9090_AGC_PWR_AVG_WIDTH
#define WM9090_AGC_PWR_THR_MASK
#define WM9090_AGC_PWR_THR_SHIFT
#define WM9090_AGC_PWR_THR_WIDTH
#define WM9090_AGC_PWR_ATK_MASK
#define WM9090_AGC_PWR_ATK_SHIFT
#define WM9090_AGC_PWR_ATK_WIDTH
#define WM9090_AGC_PWR_DCY_MASK
#define WM9090_AGC_PWR_DCY_SHIFT
#define WM9090_AGC_PWR_DCY_WIDTH

/*
 * R100 (0x64) - AGC Control 2
 */
#define WM9090_AGC_RAMP
#define WM9090_AGC_RAMP_MASK
#define WM9090_AGC_RAMP_SHIFT
#define WM9090_AGC_RAMP_WIDTH
#define WM9090_AGC_MINGAIN_MASK
#define WM9090_AGC_MINGAIN_SHIFT
#define WM9090_AGC_MINGAIN_WIDTH

#endif