/sound/soc/codecs/wm8993.h
https://bitbucket.org/abioy/linux · C Header · 2132 lines · 1679 code · 117 blank · 336 comment · 0 complexity · 85b03b72ff5d45cad62c6207675a35c0 MD5 · raw file
Large files are truncated click here to view the full file
- #ifndef WM8993_H
- #define WM8993_H
- extern struct snd_soc_dai wm8993_dai;
- extern struct snd_soc_codec_device soc_codec_dev_wm8993;
- #define WM8993_SYSCLK_MCLK 1
- #define WM8993_SYSCLK_FLL 2
- #define WM8993_FLL_MCLK 1
- #define WM8993_FLL_BCLK 2
- #define WM8993_FLL_LRCLK 3
- /*
- * Register values.
- */
- #define WM8993_SOFTWARE_RESET 0x00
- #define WM8993_POWER_MANAGEMENT_1 0x01
- #define WM8993_POWER_MANAGEMENT_2 0x02
- #define WM8993_POWER_MANAGEMENT_3 0x03
- #define WM8993_AUDIO_INTERFACE_1 0x04
- #define WM8993_AUDIO_INTERFACE_2 0x05
- #define WM8993_CLOCKING_1 0x06
- #define WM8993_CLOCKING_2 0x07
- #define WM8993_AUDIO_INTERFACE_3 0x08
- #define WM8993_AUDIO_INTERFACE_4 0x09
- #define WM8993_DAC_CTRL 0x0A
- #define WM8993_LEFT_DAC_DIGITAL_VOLUME 0x0B
- #define WM8993_RIGHT_DAC_DIGITAL_VOLUME 0x0C
- #define WM8993_DIGITAL_SIDE_TONE 0x0D
- #define WM8993_ADC_CTRL 0x0E
- #define WM8993_LEFT_ADC_DIGITAL_VOLUME 0x0F
- #define WM8993_RIGHT_ADC_DIGITAL_VOLUME 0x10
- #define WM8993_GPIO_CTRL_1 0x12
- #define WM8993_GPIO1 0x13
- #define WM8993_IRQ_DEBOUNCE 0x14
- #define WM8993_GPIOCTRL_2 0x16
- #define WM8993_GPIO_POL 0x17
- #define WM8993_LEFT_LINE_INPUT_1_2_VOLUME 0x18
- #define WM8993_LEFT_LINE_INPUT_3_4_VOLUME 0x19
- #define WM8993_RIGHT_LINE_INPUT_1_2_VOLUME 0x1A
- #define WM8993_RIGHT_LINE_INPUT_3_4_VOLUME 0x1B
- #define WM8993_LEFT_OUTPUT_VOLUME 0x1C
- #define WM8993_RIGHT_OUTPUT_VOLUME 0x1D
- #define WM8993_LINE_OUTPUTS_VOLUME 0x1E
- #define WM8993_HPOUT2_VOLUME 0x1F
- #define WM8993_LEFT_OPGA_VOLUME 0x20
- #define WM8993_RIGHT_OPGA_VOLUME 0x21
- #define WM8993_SPKMIXL_ATTENUATION 0x22
- #define WM8993_SPKMIXR_ATTENUATION 0x23
- #define WM8993_SPKOUT_MIXERS 0x24
- #define WM8993_SPKOUT_BOOST 0x25
- #define WM8993_SPEAKER_VOLUME_LEFT 0x26
- #define WM8993_SPEAKER_VOLUME_RIGHT 0x27
- #define WM8993_INPUT_MIXER2 0x28
- #define WM8993_INPUT_MIXER3 0x29
- #define WM8993_INPUT_MIXER4 0x2A
- #define WM8993_INPUT_MIXER5 0x2B
- #define WM8993_INPUT_MIXER6 0x2C
- #define WM8993_OUTPUT_MIXER1 0x2D
- #define WM8993_OUTPUT_MIXER2 0x2E
- #define WM8993_OUTPUT_MIXER3 0x2F
- #define WM8993_OUTPUT_MIXER4 0x30
- #define WM8993_OUTPUT_MIXER5 0x31
- #define WM8993_OUTPUT_MIXER6 0x32
- #define WM8993_HPOUT2_MIXER 0x33
- #define WM8993_LINE_MIXER1 0x34
- #define WM8993_LINE_MIXER2 0x35
- #define WM8993_SPEAKER_MIXER 0x36
- #define WM8993_ADDITIONAL_CONTROL 0x37
- #define WM8993_ANTIPOP1 0x38
- #define WM8993_ANTIPOP2 0x39
- #define WM8993_MICBIAS 0x3A
- #define WM8993_FLL_CONTROL_1 0x3C
- #define WM8993_FLL_CONTROL_2 0x3D
- #define WM8993_FLL_CONTROL_3 0x3E
- #define WM8993_FLL_CONTROL_4 0x3F
- #define WM8993_FLL_CONTROL_5 0x40
- #define WM8993_CLOCKING_3 0x41
- #define WM8993_CLOCKING_4 0x42
- #define WM8993_MW_SLAVE_CONTROL 0x43
- #define WM8993_BUS_CONTROL_1 0x45
- #define WM8993_WRITE_SEQUENCER_0 0x46
- #define WM8993_WRITE_SEQUENCER_1 0x47
- #define WM8993_WRITE_SEQUENCER_2 0x48
- #define WM8993_WRITE_SEQUENCER_3 0x49
- #define WM8993_WRITE_SEQUENCER_4 0x4A
- #define WM8993_WRITE_SEQUENCER_5 0x4B
- #define WM8993_CHARGE_PUMP_1 0x4C
- #define WM8993_CLASS_W_0 0x51
- #define WM8993_DC_SERVO_0 0x54
- #define WM8993_DC_SERVO_1 0x55
- #define WM8993_DC_SERVO_3 0x57
- #define WM8993_DC_SERVO_READBACK_0 0x58
- #define WM8993_DC_SERVO_READBACK_1 0x59
- #define WM8993_DC_SERVO_READBACK_2 0x5A
- #define WM8993_ANALOGUE_HP_0 0x60
- #define WM8993_EQ1 0x62
- #define WM8993_EQ2 0x63
- #define WM8993_EQ3 0x64
- #define WM8993_EQ4 0x65
- #define WM8993_EQ5 0x66
- #define WM8993_EQ6 0x67
- #define WM8993_EQ7 0x68
- #define WM8993_EQ8 0x69
- #define WM8993_EQ9 0x6A
- #define WM8993_EQ10 0x6B
- #define WM8993_EQ11 0x6C
- #define WM8993_EQ12 0x6D
- #define WM8993_EQ13 0x6E
- #define WM8993_EQ14 0x6F
- #define WM8993_EQ15 0x70
- #define WM8993_EQ16 0x71
- #define WM8993_EQ17 0x72
- #define WM8993_EQ18 0x73
- #define WM8993_EQ19 0x74
- #define WM8993_EQ20 0x75
- #define WM8993_EQ21 0x76
- #define WM8993_EQ22 0x77
- #define WM8993_EQ23 0x78
- #define WM8993_EQ24 0x79
- #define WM8993_DIGITAL_PULLS 0x7A
- #define WM8993_DRC_CONTROL_1 0x7B
- #define WM8993_DRC_CONTROL_2 0x7C
- #define WM8993_DRC_CONTROL_3 0x7D
- #define WM8993_DRC_CONTROL_4 0x7E
- #define WM8993_REGISTER_COUNT 0x7F
- #define WM8993_MAX_REGISTER 0x7E
- /*
- * Field Definitions.
- */
- /*
- * R0 (0x00) - Software Reset
- */
- #define WM8993_SW_RESET_MASK 0xFFFF /* SW_RESET - [15:0] */
- #define WM8993_SW_RESET_SHIFT 0 /* SW_RESET - [15:0] */
- #define WM8993_SW_RESET_WIDTH 16 /* SW_RESET - [15:0] */
- /*
- * R1 (0x01) - Power Management (1)
- */
- #define WM8993_SPKOUTR_ENA 0x2000 /* SPKOUTR_ENA */
- #define WM8993_SPKOUTR_ENA_MASK 0x2000 /* SPKOUTR_ENA */
- #define WM8993_SPKOUTR_ENA_SHIFT 13 /* SPKOUTR_ENA */
- #define WM8993_SPKOUTR_ENA_WIDTH 1 /* SPKOUTR_ENA */
- #define WM8993_SPKOUTL_ENA 0x1000 /* SPKOUTL_ENA */
- #define WM8993_SPKOUTL_ENA_MASK 0x1000 /* SPKOUTL_ENA */
- #define WM8993_SPKOUTL_ENA_SHIFT 12 /* SPKOUTL_ENA */
- #define WM8993_SPKOUTL_ENA_WIDTH 1 /* SPKOUTL_ENA */
- #define WM8993_HPOUT2_ENA 0x0800 /* HPOUT2_ENA */
- #define WM8993_HPOUT2_ENA_MASK 0x0800 /* HPOUT2_ENA */
- #define WM8993_HPOUT2_ENA_SHIFT 11 /* HPOUT2_ENA */
- #define WM8993_HPOUT2_ENA_WIDTH 1 /* HPOUT2_ENA */
- #define WM8993_HPOUT1L_ENA 0x0200 /* HPOUT1L_ENA */
- #define WM8993_HPOUT1L_ENA_MASK 0x0200 /* HPOUT1L_ENA */
- #define WM8993_HPOUT1L_ENA_SHIFT 9 /* HPOUT1L_ENA */
- #define WM8993_HPOUT1L_ENA_WIDTH 1 /* HPOUT1L_ENA */
- #define WM8993_HPOUT1R_ENA 0x0100 /* HPOUT1R_ENA */
- #define WM8993_HPOUT1R_ENA_MASK 0x0100 /* HPOUT1R_ENA */
- #define WM8993_HPOUT1R_ENA_SHIFT 8 /* HPOUT1R_ENA */
- #define WM8993_HPOUT1R_ENA_WIDTH 1 /* HPOUT1R_ENA */
- #define WM8993_MICB2_ENA 0x0020 /* MICB2_ENA */
- #define WM8993_MICB2_ENA_MASK 0x0020 /* MICB2_ENA */
- #define WM8993_MICB2_ENA_SHIFT 5 /* MICB2_ENA */
- #define WM8993_MICB2_ENA_WIDTH 1 /* MICB2_ENA */
- #define WM8993_MICB1_ENA 0x0010 /* MICB1_ENA */
- #define WM8993_MICB1_ENA_MASK 0x0010 /* MICB1_ENA */
- #define WM8993_MICB1_ENA_SHIFT 4 /* MICB1_ENA */
- #define WM8993_MICB1_ENA_WIDTH 1 /* MICB1_ENA */
- #define WM8993_VMID_SEL_MASK 0x0006 /* VMID_SEL - [2:1] */
- #define WM8993_VMID_SEL_SHIFT 1 /* VMID_SEL - [2:1] */
- #define WM8993_VMID_SEL_WIDTH 2 /* VMID_SEL - [2:1] */
- #define WM8993_BIAS_ENA 0x0001 /* BIAS_ENA */
- #define WM8993_BIAS_ENA_MASK 0x0001 /* BIAS_ENA */
- #define WM8993_BIAS_ENA_SHIFT 0 /* BIAS_ENA */
- #define WM8993_BIAS_ENA_WIDTH 1 /* BIAS_ENA */
- /*
- * R2 (0x02) - Power Management (2)
- */
- #define WM8993_TSHUT_ENA 0x4000 /* TSHUT_ENA */
- #define WM8993_TSHUT_ENA_MASK 0x4000 /* TSHUT_ENA */
- #define WM8993_TSHUT_ENA_SHIFT 14 /* TSHUT_ENA */
- #define WM8993_TSHUT_ENA_WIDTH 1 /* TSHUT_ENA */
- #define WM8993_TSHUT_OPDIS 0x2000 /* TSHUT_OPDIS */
- #define WM8993_TSHUT_OPDIS_MASK 0x2000 /* TSHUT_OPDIS */
- #define WM8993_TSHUT_OPDIS_SHIFT 13 /* TSHUT_OPDIS */
- #define WM8993_TSHUT_OPDIS_WIDTH 1 /* TSHUT_OPDIS */
- #define WM8993_OPCLK_ENA 0x0800 /* OPCLK_ENA */
- #define WM8993_OPCLK_ENA_MASK 0x0800 /* OPCLK_ENA */
- #define WM8993_OPCLK_ENA_SHIFT 11 /* OPCLK_ENA */
- #define WM8993_OPCLK_ENA_WIDTH 1 /* OPCLK_ENA */
- #define WM8993_MIXINL_ENA 0x0200 /* MIXINL_ENA */
- #define WM8993_MIXINL_ENA_MASK 0x0200 /* MIXINL_ENA */
- #define WM8993_MIXINL_ENA_SHIFT 9 /* MIXINL_ENA */
- #define WM8993_MIXINL_ENA_WIDTH 1 /* MIXINL_ENA */
- #define WM8993_MIXINR_ENA 0x0100 /* MIXINR_ENA */
- #define WM8993_MIXINR_ENA_MASK 0x0100 /* MIXINR_ENA */
- #define WM8993_MIXINR_ENA_SHIFT 8 /* MIXINR_ENA */
- #define WM8993_MIXINR_ENA_WIDTH 1 /* MIXINR_ENA */
- #define WM8993_IN2L_ENA 0x0080 /* IN2L_ENA */
- #define WM8993_IN2L_ENA_MASK 0x0080 /* IN2L_ENA */
- #define WM8993_IN2L_ENA_SHIFT 7 /* IN2L_ENA */
- #define WM8993_IN2L_ENA_WIDTH 1 /* IN2L_ENA */
- #define WM8993_IN1L_ENA 0x0040 /* IN1L_ENA */
- #define WM8993_IN1L_ENA_MASK 0x0040 /* IN1L_ENA */
- #define WM8993_IN1L_ENA_SHIFT 6 /* IN1L_ENA */
- #define WM8993_IN1L_ENA_WIDTH 1 /* IN1L_ENA */
- #define WM8993_IN2R_ENA 0x0020 /* IN2R_ENA */
- #define WM8993_IN2R_ENA_MASK 0x0020 /* IN2R_ENA */
- #define WM8993_IN2R_ENA_SHIFT 5 /* IN2R_ENA */
- #define WM8993_IN2R_ENA_WIDTH 1 /* IN2R_ENA */
- #define WM8993_IN1R_ENA 0x0010 /* IN1R_ENA */
- #define WM8993_IN1R_ENA_MASK 0x0010 /* IN1R_ENA */
- #define WM8993_IN1R_ENA_SHIFT 4 /* IN1R_ENA */
- #define WM8993_IN1R_ENA_WIDTH 1 /* IN1R_ENA */
- #define WM8993_ADCL_ENA 0x0002 /* ADCL_ENA */
- #define WM8993_ADCL_ENA_MASK 0x0002 /* ADCL_ENA */
- #define WM8993_ADCL_ENA_SHIFT 1 /* ADCL_ENA */
- #define WM8993_ADCL_ENA_WIDTH 1 /* ADCL_ENA */
- #define WM8993_ADCR_ENA 0x0001 /* ADCR_ENA */
- #define WM8993_ADCR_ENA_MASK 0x0001 /* ADCR_ENA */
- #define WM8993_ADCR_ENA_SHIFT 0 /* ADCR_ENA */
- #define WM8993_ADCR_ENA_WIDTH 1 /* ADCR_ENA */
- /*
- * R3 (0x03) - Power Management (3)
- */
- #define WM8993_LINEOUT1N_ENA 0x2000 /* LINEOUT1N_ENA */
- #define WM8993_LINEOUT1N_ENA_MASK 0x2000 /* LINEOUT1N_ENA */
- #define WM8993_LINEOUT1N_ENA_SHIFT 13 /* LINEOUT1N_ENA */
- #define WM8993_LINEOUT1N_ENA_WIDTH 1 /* LINEOUT1N_ENA */
- #define WM8993_LINEOUT1P_ENA 0x1000 /* LINEOUT1P_ENA */
- #define WM8993_LINEOUT1P_ENA_MASK 0x1000 /* LINEOUT1P_ENA */
- #define WM8993_LINEOUT1P_ENA_SHIFT 12 /* LINEOUT1P_ENA */
- #define WM8993_LINEOUT1P_ENA_WIDTH 1 /* LINEOUT1P_ENA */
- #define WM8993_LINEOUT2N_ENA 0x0800 /* LINEOUT2N_ENA */
- #define WM8993_LINEOUT2N_ENA_MASK 0x0800 /* LINEOUT2N_ENA */
- #define WM8993_LINEOUT2N_ENA_SHIFT 11 /* LINEOUT2N_ENA */
- #define WM8993_LINEOUT2N_ENA_WIDTH 1 /* LINEOUT2N_ENA */
- #define WM8993_LINEOUT2P_ENA 0x0400 /* LINEOUT2P_ENA */
- #define WM8993_LINEOUT2P_ENA_MASK 0x0400 /* LINEOUT2P_ENA */
- #define WM8993_LINEOUT2P_ENA_SHIFT 10 /* LINEOUT2P_ENA */
- #define WM8993_LINEOUT2P_ENA_WIDTH 1 /* LINEOUT2P_ENA */
- #define WM8993_SPKRVOL_ENA 0x0200 /* SPKRVOL_ENA */
- #define WM8993_SPKRVOL_ENA_MASK 0x0200 /* SPKRVOL_ENA */
- #define WM8993_SPKRVOL_ENA_SHIFT 9 /* SPKRVOL_ENA */
- #define WM8993_SPKRVOL_ENA_WIDTH 1 /* SPKRVOL_ENA */
- #define WM8993_SPKLVOL_ENA 0x0100 /* SPKLVOL_ENA */
- #define WM8993_SPKLVOL_ENA_MASK 0x0100 /* SPKLVOL_ENA */
- #define WM8993_SPKLVOL_ENA_SHIFT 8 /* SPKLVOL_ENA */
- #define WM8993_SPKLVOL_ENA_WIDTH 1 /* SPKLVOL_ENA */
- #define WM8993_MIXOUTLVOL_ENA 0x0080 /* MIXOUTLVOL_ENA */
- #define WM8993_MIXOUTLVOL_ENA_MASK 0x0080 /* MIXOUTLVOL_ENA */
- #define WM8993_MIXOUTLVOL_ENA_SHIFT 7 /* MIXOUTLVOL_ENA */
- #define WM8993_MIXOUTLVOL_ENA_WIDTH 1 /* MIXOUTLVOL_ENA */
- #define WM8993_MIXOUTRVOL_ENA 0x0040 /* MIXOUTRVOL_ENA */
- #define WM8993_MIXOUTRVOL_ENA_MASK 0x0040 /* MIXOUTRVOL_ENA */
- #define WM8993_MIXOUTRVOL_ENA_SHIFT 6 /* MIXOUTRVOL_ENA */
- #define WM8993_MIXOUTRVOL_ENA_WIDTH 1 /* MIXOUTRVOL_ENA */
- #define WM8993_MIXOUTL_ENA 0x0020 /* MIXOUTL_ENA */
- #define WM8993_MIXOUTL_ENA_MASK 0x0020 /* MIXOUTL_ENA */
- #define WM8993_MIXOUTL_ENA_SHIFT 5 /* MIXOUTL_ENA */
- #define WM8993_MIXOUTL_ENA_WIDTH 1 /* MIXOUTL_ENA */
- #define WM8993_MIXOUTR_ENA 0x0010 /* MIXOUTR_ENA */
- #define WM8993_MIXOUTR_ENA_MASK 0x0010 /* MIXOUTR_ENA */
- #define WM8993_MIXOUTR_ENA_SHIFT 4 /* MIXOUTR_ENA */
- #define WM8993_MIXOUTR_ENA_WIDTH 1 /* MIXOUTR_ENA */
- #define WM8993_DACL_ENA 0x0002 /* DACL_ENA */
- #define WM8993_DACL_ENA_MASK 0x0002 /* DACL_ENA */
- #define WM8993_DACL_ENA_SHIFT 1 /* DACL_ENA */
- #define WM8993_DACL_ENA_WIDTH 1 /* DACL_ENA */
- #define WM8993_DACR_ENA 0x0001 /* DACR_ENA */
- #define WM8993_DACR_ENA_MASK 0x0001 /* DACR_ENA */
- #define WM8993_DACR_ENA_SHIFT 0 /* DACR_ENA */
- #define WM8993_DACR_ENA_WIDTH 1 /* DACR_ENA */
- /*
- * R4 (0x04) - Audio Interface (1)
- */
- #define WM8993_AIFADCL_SRC 0x8000 /* AIFADCL_SRC */
- #define WM8993_AIFADCL_SRC_MASK 0x8000 /* AIFADCL_SRC */
- #define WM8993_AIFADCL_SRC_SHIFT 15 /* AIFADCL_SRC */
- #define WM8993_AIFADCL_SRC_WIDTH 1 /* AIFADCL_SRC */
- #define WM8993_AIFADCR_SRC 0x4000 /* AIFADCR_SRC */
- #define WM8993_AIFADCR_SRC_MASK 0x4000 /* AIFADCR_SRC */
- #define WM8993_AIFADCR_SRC_SHIFT 14 /* AIFADCR_SRC */
- #define WM8993_AIFADCR_SRC_WIDTH 1 /* AIFADCR_SRC */
- #define WM8993_AIFADC_TDM 0x2000 /* AIFADC_TDM */
- #define WM8993_AIFADC_TDM_MASK 0x2000 /* AIFADC_TDM */
- #define WM8993_AIFADC_TDM_SHIFT 13 /* AIFADC_TDM */
- #define WM8993_AIFADC_TDM_WIDTH 1 /* AIFADC_TDM */
- #define WM8993_AIFADC_TDM_CHAN 0x1000 /* AIFADC_TDM_CHAN */
- #define WM8993_AIFADC_TDM_CHAN_MASK 0x1000 /* AIFADC_TDM_CHAN */
- #define WM8993_AIFADC_TDM_CHAN_SHIFT 12 /* AIFADC_TDM_CHAN */
- #define WM8993_AIFADC_TDM_CHAN_WIDTH 1 /* AIFADC_TDM_CHAN */
- #define WM8993_BCLK_DIR 0x0200 /* BCLK_DIR */
- #define WM8993_BCLK_DIR_MASK 0x0200 /* BCLK_DIR */
- #define WM8993_BCLK_DIR_SHIFT 9 /* BCLK_DIR */
- #define WM8993_BCLK_DIR_WIDTH 1 /* BCLK_DIR */
- #define WM8993_AIF_BCLK_INV 0x0100 /* AIF_BCLK_INV */
- #define WM8993_AIF_BCLK_INV_MASK 0x0100 /* AIF_BCLK_INV */
- #define WM8993_AIF_BCLK_INV_SHIFT 8 /* AIF_BCLK_INV */
- #define WM8993_AIF_BCLK_INV_WIDTH 1 /* AIF_BCLK_INV */
- #define WM8993_AIF_LRCLK_INV 0x0080 /* AIF_LRCLK_INV */
- #define WM8993_AIF_LRCLK_INV_MASK 0x0080 /* AIF_LRCLK_INV */
- #define WM8993_AIF_LRCLK_INV_SHIFT 7 /* AIF_LRCLK_INV */
- #define WM8993_AIF_LRCLK_INV_WIDTH 1 /* AIF_LRCLK_INV */
- #define WM8993_AIF_WL_MASK 0x0060 /* AIF_WL - [6:5] */
- #define WM8993_AIF_WL_SHIFT 5 /* AIF_WL - [6:5] */
- #define WM8993_AIF_WL_WIDTH 2 /* AIF_WL - [6:5] */
- #define WM8993_AIF_FMT_MASK 0x0018 /* AIF_FMT - [4:3] */
- #define WM8993_AIF_FMT_SHIFT 3 /* AIF_FMT - [4:3] */
- #define WM8993_AIF_FMT_WIDTH 2 /* AIF_FMT - [4:3] */
- /*
- * R5 (0x05) - Audio Interface (2)
- */
- #define WM8993_AIFDACL_SRC 0x8000 /* AIFDACL_SRC */
- #define WM8993_AIFDACL_SRC_MASK 0x8000 /* AIFDACL_SRC */
- #define WM8993_AIFDACL_SRC_SHIFT 15 /* AIFDACL_SRC */
- #define WM8993_AIFDACL_SRC_WIDTH 1 /* AIFDACL_SRC */
- #define WM8993_AIFDACR_SRC 0x4000 /* AIFDACR_SRC */
- #define WM8993_AIFDACR_SRC_MASK 0x4000 /* AIFDACR_SRC */
- #define WM8993_AIFDACR_SRC_SHIFT 14 /* AIFDACR_SRC */
- #define WM8993_AIFDACR_SRC_WIDTH 1 /* AIFDACR_SRC */
- #define WM8993_AIFDAC_TDM 0x2000 /* AIFDAC_TDM */
- #define WM8993_AIFDAC_TDM_MASK 0x2000 /* AIFDAC_TDM */
- #define WM8993_AIFDAC_TDM_SHIFT 13 /* AIFDAC_TDM */
- #define WM8993_AIFDAC_TDM_WIDTH 1 /* AIFDAC_TDM */
- #define WM8993_AIFDAC_TDM_CHAN 0x1000 /* AIFDAC_TDM_CHAN */
- #define WM8993_AIFDAC_TDM_CHAN_MASK 0x1000 /* AIFDAC_TDM_CHAN */
- #define WM8993_AIFDAC_TDM_CHAN_SHIFT 12 /* AIFDAC_TDM_CHAN */
- #define WM8993_AIFDAC_TDM_CHAN_WIDTH 1 /* AIFDAC_TDM_CHAN */
- #define WM8993_DAC_BOOST_MASK 0x0C00 /* DAC_BOOST - [11:10] */
- #define WM8993_DAC_BOOST_SHIFT 10 /* DAC_BOOST - [11:10] */
- #define WM8993_DAC_BOOST_WIDTH 2 /* DAC_BOOST - [11:10] */
- #define WM8993_DAC_COMP 0x0010 /* DAC_COMP */
- #define WM8993_DAC_COMP_MASK 0x0010 /* DAC_COMP */
- #define WM8993_DAC_COMP_SHIFT 4 /* DAC_COMP */
- #define WM8993_DAC_COMP_WIDTH 1 /* DAC_COMP */
- #define WM8993_DAC_COMPMODE 0x0008 /* DAC_COMPMODE */
- #define WM8993_DAC_COMPMODE_MASK 0x0008 /* DAC_COMPMODE */
- #define WM8993_DAC_COMPMODE_SHIFT 3 /* DAC_COMPMODE */
- #define WM8993_DAC_COMPMODE_WIDTH 1 /* DAC_COMPMODE */
- #define WM8993_ADC_COMP 0x0004 /* ADC_COMP */
- #define WM8993_ADC_COMP_MASK 0x0004 /* ADC_COMP */
- #define WM8993_ADC_COMP_SHIFT 2 /* ADC_COMP */
- #define WM8993_ADC_COMP_WIDTH 1 /* ADC_COMP */
- #define WM8993_ADC_COMPMODE 0x0002 /* ADC_COMPMODE */
- #define WM8993_ADC_COMPMODE_MASK 0x0002 /* ADC_COMPMODE */
- #define WM8993_ADC_COMPMODE_SHIFT 1 /* ADC_COMPMODE */
- #define WM8993_ADC_COMPMODE_WIDTH 1 /* ADC_COMPMODE */
- #define WM8993_LOOPBACK 0x0001 /* LOOPBACK */
- #define WM8993_LOOPBACK_MASK 0x0001 /* LOOPBACK */
- #define WM8993_LOOPBACK_SHIFT 0 /* LOOPBACK */
- #define WM8993_LOOPBACK_WIDTH 1 /* LOOPBACK */
- /*
- * R6 (0x06) - Clocking 1
- */
- #define WM8993_TOCLK_RATE 0x8000 /* TOCLK_RATE */
- #define WM8993_TOCLK_RATE_MASK 0x8000 /* TOCLK_RATE */
- #define WM8993_TOCLK_RATE_SHIFT 15 /* TOCLK_RATE */
- #define WM8993_TOCLK_RATE_WIDTH 1 /* TOCLK_RATE */
- #define WM8993_TOCLK_ENA 0x4000 /* TOCLK_ENA */
- #define WM8993_TOCLK_ENA_MASK 0x4000 /* TOCLK_ENA */
- #define WM8993_TOCLK_ENA_SHIFT 14 /* TOCLK_ENA */
- #define WM8993_TOCLK_ENA_WIDTH 1 /* TOCLK_ENA */
- #define WM8993_OPCLK_DIV_MASK 0x1E00 /* OPCLK_DIV - [12:9] */
- #define WM8993_OPCLK_DIV_SHIFT 9 /* OPCLK_DIV - [12:9] */
- #define WM8993_OPCLK_DIV_WIDTH 4 /* OPCLK_DIV - [12:9] */
- #define WM8993_DCLK_DIV_MASK 0x01C0 /* DCLK_DIV - [8:6] */
- #define WM8993_DCLK_DIV_SHIFT 6 /* DCLK_DIV - [8:6] */
- #define WM8993_DCLK_DIV_WIDTH 3 /* DCLK_DIV - [8:6] */
- #define WM8993_BCLK_DIV_MASK 0x001E /* BCLK_DIV - [4:1] */
- #define WM8993_BCLK_DIV_SHIFT 1 /* BCLK_DIV - [4:1] */
- #define WM8993_BCLK_DIV_WIDTH 4 /* BCLK_DIV - [4:1] */
- /*
- * R7 (0x07) - Clocking 2
- */
- #define WM8993_MCLK_SRC 0x8000 /* MCLK_SRC */
- #define WM8993_MCLK_SRC_MASK 0x8000 /* MCLK_SRC */
- #define WM8993_MCLK_SRC_SHIFT 15 /* MCLK_SRC */
- #define WM8993_MCLK_SRC_WIDTH 1 /* MCLK_SRC */
- #define WM8993_SYSCLK_SRC 0x4000 /* SYSCLK_SRC */
- #define WM8993_SYSCLK_SRC_MASK 0x4000 /* SYSCLK_SRC */
- #define WM8993_SYSCLK_SRC_SHIFT 14 /* SYSCLK_SRC */
- #define WM8993_SYSCLK_SRC_WIDTH 1 /* SYSCLK_SRC */
- #define WM8993_MCLK_DIV 0x1000 /* MCLK_DIV */
- #define WM8993_MCLK_DIV_MASK 0x1000 /* MCLK_DIV */
- #define WM8993_MCLK_DIV_SHIFT 12 /* MCLK_DIV */
- #define WM8993_MCLK_DIV_WIDTH 1 /* MCLK_DIV */
- #define WM8993_MCLK_INV 0x0400 /* MCLK_INV */
- #define WM8993_MCLK_INV_MASK 0x0400 /* MCLK_INV */
- #define WM8993_MCLK_INV_SHIFT 10 /* MCLK_INV */
- #define WM8993_MCLK_INV_WIDTH 1 /* MCLK_INV */
- #define WM8993_ADC_DIV_MASK 0x00E0 /* ADC_DIV - [7:5] */
- #define WM8993_ADC_DIV_SHIFT 5 /* ADC_DIV - [7:5] */
- #define WM8993_ADC_DIV_WIDTH 3 /* ADC_DIV - [7:5] */
- #define WM8993_DAC_DIV_MASK 0x001C /* DAC_DIV - [4:2] */
- #define WM8993_DAC_DIV_SHIFT 2 /* DAC_DIV - [4:2] */
- #define WM8993_DAC_DIV_WIDTH 3 /* DAC_DIV - [4:2] */
- /*
- * R8 (0x08) - Audio Interface (3)
- */
- #define WM8993_AIF_MSTR1 0x8000 /* AIF_MSTR1 */
- #define WM8993_AIF_MSTR1_MASK 0x8000 /* AIF_MSTR1 */
- #define WM8993_AIF_MSTR1_SHIFT 15 /* AIF_MSTR1 */
- #define WM8993_AIF_MSTR1_WIDTH 1 /* AIF_MSTR1 */
- /*
- * R9 (0x09) - Audio Interface (4)
- */
- #define WM8993_AIF_TRIS 0x2000 /* AIF_TRIS */
- #define WM8993_AIF_TRIS_MASK 0x2000 /* AIF_TRIS */
- #define WM8993_AIF_TRIS_SHIFT 13 /* AIF_TRIS */
- #define WM8993_AIF_TRIS_WIDTH 1 /* AIF_TRIS */
- #define WM8993_LRCLK_DIR 0x0800 /* LRCLK_DIR */
- #define WM8993_LRCLK_DIR_MASK 0x0800 /* LRCLK_DIR */
- #define WM8993_LRCLK_DIR_SHIFT 11 /* LRCLK_DIR */
- #define WM8993_LRCLK_DIR_WIDTH 1 /* LRCLK_DIR */
- #define WM8993_LRCLK_RATE_MASK 0x07FF /* LRCLK_RATE - [10:0] */
- #define WM8993_LRCLK_RATE_SHIFT 0 /* LRCLK_RATE - [10:0] */
- #define WM8993_LRCLK_RATE_WIDTH 11 /* LRCLK_RATE - [10:0] */
- /*
- * R10 (0x0A) - DAC CTRL
- */
- #define WM8993_DAC_OSR128 0x2000 /* DAC_OSR128 */
- #define WM8993_DAC_OSR128_MASK 0x2000 /* DAC_OSR128 */
- #define WM8993_DAC_OSR128_SHIFT 13 /* DAC_OSR128 */
- #define WM8993_DAC_OSR128_WIDTH 1 /* DAC_OSR128 */
- #define WM8993_DAC_MONO 0x0200 /* DAC_MONO */
- #define WM8993_DAC_MONO_MASK 0x0200 /* DAC_MONO */
- #define WM8993_DAC_MONO_SHIFT 9 /* DAC_MONO */
- #define WM8993_DAC_MONO_WIDTH 1 /* DAC_MONO */
- #define WM8993_DAC_SB_FILT 0x0100 /* DAC_SB_FILT */
- #define WM8993_DAC_SB_FILT_MASK 0x0100 /* DAC_SB_FILT */
- #define WM8993_DAC_SB_FILT_SHIFT 8 /* DAC_SB_FILT */
- #define WM8993_DAC_SB_FILT_WIDTH 1 /* DAC_SB_FILT */
- #define WM8993_DAC_MUTERATE 0x0080 /* DAC_MUTERATE */
- #define WM8993_DAC_MUTERATE_MASK 0x0080 /* DAC_MUTERATE */
- #define WM8993_DAC_MUTERATE_SHIFT 7 /* DAC_MUTERATE */
- #define WM8993_DAC_MUTERATE_WIDTH 1 /* DAC_MUTERATE */
- #define WM8993_DAC_UNMUTE_RAMP 0x0040 /* DAC_UNMUTE_RAMP */
- #define WM8993_DAC_UNMUTE_RAMP_MASK 0x0040 /* DAC_UNMUTE_RAMP */
- #define WM8993_DAC_UNMUTE_RAMP_SHIFT 6 /* DAC_UNMUTE_RAMP */
- #define WM8993_DAC_UNMUTE_RAMP_WIDTH 1 /* DAC_UNMUTE_RAMP */
- #define WM8993_DEEMPH_MASK 0x0030 /* DEEMPH - [5:4] */
- #define WM8993_DEEMPH_SHIFT 4 /* DEEMPH - [5:4] */
- #define WM8993_DEEMPH_WIDTH 2 /* DEEMPH - [5:4] */
- #define WM8993_DAC_MUTE 0x0004 /* DAC_MUTE */
- #define WM8993_DAC_MUTE_MASK 0x0004 /* DAC_MUTE */
- #define WM8993_DAC_MUTE_SHIFT 2 /* DAC_MUTE */
- #define WM8993_DAC_MUTE_WIDTH 1 /* DAC_MUTE */
- #define WM8993_DACL_DATINV 0x0002 /* DACL_DATINV */
- #define WM8993_DACL_DATINV_MASK 0x0002 /* DACL_DATINV */
- #define WM8993_DACL_DATINV_SHIFT 1 /* DACL_DATINV */
- #define WM8993_DACL_DATINV_WIDTH 1 /* DACL_DATINV */
- #define WM8993_DACR_DATINV 0x0001 /* DACR_DATINV */
- #define WM8993_DACR_DATINV_MASK 0x0001 /* DACR_DATINV */
- #define WM8993_DACR_DATINV_SHIFT 0 /* DACR_DATINV */
- #define WM8993_DACR_DATINV_WIDTH 1 /* DACR_DATINV */
- /*
- * R11 (0x0B) - Left DAC Digital Volume
- */
- #define WM8993_DAC_VU 0x0100 /* DAC_VU */
- #define WM8993_DAC_VU_MASK 0x0100 /* DAC_VU */
- #define WM8993_DAC_VU_SHIFT 8 /* DAC_VU */
- #define WM8993_DAC_VU_WIDTH 1 /* DAC_VU */
- #define WM8993_DACL_VOL_MASK 0x00FF /* DACL_VOL - [7:0] */
- #define WM8993_DACL_VOL_SHIFT 0 /* DACL_VOL - [7:0] */
- #define WM8993_DACL_VOL_WIDTH 8 /* DACL_VOL - [7:0] */
- /*
- * R12 (0x0C) - Right DAC Digital Volume
- */
- #define WM8993_DAC_VU 0x0100 /* DAC_VU */
- #define WM8993_DAC_VU_MASK 0x0100 /* DAC_VU */
- #define WM8993_DAC_VU_SHIFT 8 /* DAC_VU */
- #define WM8993_DAC_VU_WIDTH 1 /* DAC_VU */
- #define WM8993_DACR_VOL_MASK 0x00FF /* DACR_VOL - [7:0] */
- #define WM8993_DACR_VOL_SHIFT 0 /* DACR_VOL - [7:0] */
- #define WM8993_DACR_VOL_WIDTH 8 /* DACR_VOL - [7:0] */
- /*
- * R13 (0x0D) - Digital Side Tone
- */
- #define WM8993_ADCL_DAC_SVOL_MASK 0x1E00 /* ADCL_DAC_SVOL - [12:9] */
- #define WM8993_ADCL_DAC_SVOL_SHIFT 9 /* ADCL_DAC_SVOL - [12:9] */
- #define WM8993_ADCL_DAC_SVOL_WIDTH 4 /* ADCL_DAC_SVOL - [12:9] */
- #define WM8993_ADCR_DAC_SVOL_MASK 0x01E0 /* ADCR_DAC_SVOL - [8:5] */
- #define WM8993_ADCR_DAC_SVOL_SHIFT 5 /* ADCR_DAC_SVOL - [8:5] */
- #define WM8993_ADCR_DAC_SVOL_WIDTH 4 /* ADCR_DAC_SVOL - [8:5] */
- #define WM8993_ADC_TO_DACL_MASK 0x000C /* ADC_TO_DACL - [3:2] */
- #define WM8993_ADC_TO_DACL_SHIFT 2 /* ADC_TO_DACL - [3:2] */
- #define WM8993_ADC_TO_DACL_WIDTH 2 /* ADC_TO_DACL - [3:2] */
- #define WM8993_ADC_TO_DACR_MASK 0x0003 /* ADC_TO_DACR - [1:0] */
- #define WM8993_ADC_TO_DACR_SHIFT 0 /* ADC_TO_DACR - [1:0] */
- #define WM8993_ADC_TO_DACR_WIDTH 2 /* ADC_TO_DACR - [1:0] */
- /*
- * R14 (0x0E) - ADC CTRL
- */
- #define WM8993_ADC_OSR128 0x0200 /* ADC_OSR128 */
- #define WM8993_ADC_OSR128_MASK 0x0200 /* ADC_OSR128 */
- #define WM8993_ADC_OSR128_SHIFT 9 /* ADC_OSR128 */
- #define WM8993_ADC_OSR128_WIDTH 1 /* ADC_OSR128 */
- #define WM8993_ADC_HPF 0x0100 /* ADC_HPF */
- #define WM8993_ADC_HPF_MASK 0x0100 /* ADC_HPF */
- #define WM8993_ADC_HPF_SHIFT 8 /* ADC_HPF */
- #define WM8993_ADC_HPF_WIDTH 1 /* ADC_HPF */
- #define WM8993_ADC_HPF_CUT_MASK 0x0060 /* ADC_HPF_CUT - [6:5] */
- #define WM8993_ADC_HPF_CUT_SHIFT 5 /* ADC_HPF_CUT - [6:5] */
- #define WM8993_ADC_HPF_CUT_WIDTH 2 /* ADC_HPF_CUT - [6:5] */
- #define WM8993_ADCL_DATINV 0x0002 /* ADCL_DATINV */
- #define WM8993_ADCL_DATINV_MASK 0x0002 /* ADCL_DATINV */
- #define WM8993_ADCL_DATINV_SHIFT 1 /* ADCL_DATINV */
- #define WM8993_ADCL_DATINV_WIDTH 1 /* ADCL_DATINV */
- #define WM8993_ADCR_DATINV 0x0001 /* ADCR_DATINV */
- #define WM8993_ADCR_DATINV_MASK 0x0001 /* ADCR_DATINV */
- #define WM8993_ADCR_DATINV_SHIFT 0 /* ADCR_DATINV */
- #define WM8993_ADCR_DATINV_WIDTH 1 /* ADCR_DATINV */
- /*
- * R15 (0x0F) - Left ADC Digital Volume
- */
- #define WM8993_ADC_VU 0x0100 /* ADC_VU */
- #define WM8993_ADC_VU_MASK 0x0100 /* ADC_VU */
- #define WM8993_ADC_VU_SHIFT 8 /* ADC_VU */
- #define WM8993_ADC_VU_WIDTH 1 /* ADC_VU */
- #define WM8993_ADCL_VOL_MASK 0x00FF /* ADCL_VOL - [7:0] */
- #define WM8993_ADCL_VOL_SHIFT 0 /* ADCL_VOL - [7:0] */
- #define WM8993_ADCL_VOL_WIDTH 8 /* ADCL_VOL - [7:0] */
- /*
- * R16 (0x10) - Right ADC Digital Volume
- */
- #define WM8993_ADC_VU 0x0100 /* ADC_VU */
- #define WM8993_ADC_VU_MASK 0x0100 /* ADC_VU */
- #define WM8993_ADC_VU_SHIFT 8 /* ADC_VU */
- #define WM8993_ADC_VU_WIDTH 1 /* ADC_VU */
- #define WM8993_ADCR_VOL_MASK 0x00FF /* ADCR_VOL - [7:0] */
- #define WM8993_ADCR_VOL_SHIFT 0 /* ADCR_VOL - [7:0] */
- #define WM8993_ADCR_VOL_WIDTH 8 /* ADCR_VOL - [7:0] */
- /*
- * R18 (0x12) - GPIO CTRL 1
- */
- #define WM8993_JD2_SC_EINT 0x8000 /* JD2_SC_EINT */
- #define WM8993_JD2_SC_EINT_MASK 0x8000 /* JD2_SC_EINT */
- #define WM8993_JD2_SC_EINT_SHIFT 15 /* JD2_SC_EINT */
- #define WM8993_JD2_SC_EINT_WIDTH 1 /* JD2_SC_EINT */
- #define WM8993_JD2_EINT 0x4000 /* JD2_EINT */
- #define WM8993_JD2_EINT_MASK 0x4000 /* JD2_EINT */
- #define WM8993_JD2_EINT_SHIFT 14 /* JD2_EINT */
- #define WM8993_JD2_EINT_WIDTH 1 /* JD2_EINT */
- #define WM8993_WSEQ_EINT 0x2000 /* WSEQ_EINT */
- #define WM8993_WSEQ_EINT_MASK 0x2000 /* WSEQ_EINT */
- #define WM8993_WSEQ_EINT_SHIFT 13 /* WSEQ_EINT */
- #define WM8993_WSEQ_EINT_WIDTH 1 /* WSEQ_EINT */
- #define WM8993_IRQ 0x1000 /* IRQ */
- #define WM8993_IRQ_MASK 0x1000 /* IRQ */
- #define WM8993_IRQ_SHIFT 12 /* IRQ */
- #define WM8993_IRQ_WIDTH 1 /* IRQ */
- #define WM8993_TEMPOK_EINT 0x0800 /* TEMPOK_EINT */
- #define WM8993_TEMPOK_EINT_MASK 0x0800 /* TEMPOK_EINT */
- #define WM8993_TEMPOK_EINT_SHIFT 11 /* TEMPOK_EINT */
- #define WM8993_TEMPOK_EINT_WIDTH 1 /* TEMPOK_EINT */
- #define WM8993_JD1_SC_EINT 0x0400 /* JD1_SC_EINT */
- #define WM8993_JD1_SC_EINT_MASK 0x0400 /* JD1_SC_EINT */
- #define WM8993_JD1_SC_EINT_SHIFT 10 /* JD1_SC_EINT */
- #define WM8993_JD1_SC_EINT_WIDTH 1 /* JD1_SC_EINT */
- #define WM8993_JD1_EINT 0x0200 /* JD1_EINT */
- #define WM8993_JD1_EINT_MASK 0x0200 /* JD1_EINT */
- #define WM8993_JD1_EINT_SHIFT 9 /* JD1_EINT */
- #define WM8993_JD1_EINT_WIDTH 1 /* JD1_EINT */
- #define WM8993_FLL_LOCK_EINT 0x0100 /* FLL_LOCK_EINT */
- #define WM8993_FLL_LOCK_EINT_MASK 0x0100 /* FLL_LOCK_EINT */
- #define WM8993_FLL_LOCK_EINT_SHIFT 8 /* FLL_LOCK_EINT */
- #define WM8993_FLL_LOCK_EINT_WIDTH 1 /* FLL_LOCK_EINT */
- #define WM8993_GPI8_EINT 0x0080 /* GPI8_EINT */
- #define WM8993_GPI8_EINT_MASK 0x0080 /* GPI8_EINT */
- #define WM8993_GPI8_EINT_SHIFT 7 /* GPI8_EINT */
- #define WM8993_GPI8_EINT_WIDTH 1 /* GPI8_EINT */
- #define WM8993_GPI7_EINT 0x0040 /* GPI7_EINT */
- #define WM8993_GPI7_EINT_MASK 0x0040 /* GPI7_EINT */
- #define WM8993_GPI7_EINT_SHIFT 6 /* GPI7_EINT */
- #define WM8993_GPI7_EINT_WIDTH 1 /* GPI7_EINT */
- #define WM8993_GPIO1_EINT 0x0001 /* GPIO1_EINT */
- #define WM8993_GPIO1_EINT_MASK 0x0001 /* GPIO1_EINT */
- #define WM8993_GPIO1_EINT_SHIFT 0 /* GPIO1_EINT */
- #define WM8993_GPIO1_EINT_WIDTH 1 /* GPIO1_EINT */
- /*
- * R19 (0x13) - GPIO1
- */
- #define WM8993_GPIO1_PU 0x0020 /* GPIO1_PU */
- #define WM8993_GPIO1_PU_MASK 0x0020 /* GPIO1_PU */
- #define WM8993_GPIO1_PU_SHIFT 5 /* GPIO1_PU */
- #define WM8993_GPIO1_PU_WIDTH 1 /* GPIO1_PU */
- #define WM8993_GPIO1_PD 0x0010 /* GPIO1_PD */
- #define WM8993_GPIO1_PD_MASK 0x0010 /* GPIO1_PD */
- #define WM8993_GPIO1_PD_SHIFT 4 /* GPIO1_PD */
- #define WM8993_GPIO1_PD_WIDTH 1 /* GPIO1_PD */
- #define WM8993_GPIO1_SEL_MASK 0x000F /* GPIO1_SEL - [3:0] */
- #define WM8993_GPIO1_SEL_SHIFT 0 /* GPIO1_SEL - [3:0] */
- #define WM8993_GPIO1_SEL_WIDTH 4 /* GPIO1_SEL - [3:0] */
- /*
- * R20 (0x14) - IRQ_DEBOUNCE
- */
- #define WM8993_JD2_SC_DB 0x8000 /* JD2_SC_DB */
- #define WM8993_JD2_SC_DB_MASK 0x8000 /* JD2_SC_DB */
- #define WM8993_JD2_SC_DB_SHIFT 15 /* JD2_SC_DB */
- #define WM8993_JD2_SC_DB_WIDTH 1 /* JD2_SC_DB */
- #define WM8993_JD2_DB 0x4000 /* JD2_DB */
- #define WM8993_JD2_DB_MASK 0x4000 /* JD2_DB */
- #define WM8993_JD2_DB_SHIFT 14 /* JD2_DB */
- #define WM8993_JD2_DB_WIDTH 1 /* JD2_DB */
- #define WM8993_WSEQ_DB 0x2000 /* WSEQ_DB */
- #define WM8993_WSEQ_DB_MASK 0x2000 /* WSEQ_DB */
- #define WM8993_WSEQ_DB_SHIFT 13 /* WSEQ_DB */
- #define WM8993_WSEQ_DB_WIDTH 1 /* WSEQ_DB */
- #define WM8993_TEMPOK_DB 0x0800 /* TEMPOK_DB */
- #define WM8993_TEMPOK_DB_MASK 0x0800 /* TEMPOK_DB */
- #define WM8993_TEMPOK_DB_SHIFT 11 /* TEMPOK_DB */
- #define WM8993_TEMPOK_DB_WIDTH 1 /* TEMPOK_DB */
- #define WM8993_JD1_SC_DB 0x0400 /* JD1_SC_DB */
- #define WM8993_JD1_SC_DB_MASK 0x0400 /* JD1_SC_DB */
- #define WM8993_JD1_SC_DB_SHIFT 10 /* JD1_SC_DB */
- #define WM8993_JD1_SC_DB_WIDTH 1 /* JD1_SC_DB */
- #define WM8993_JD1_DB 0x0200 /* JD1_DB */
- #define WM8993_JD1_DB_MASK 0x0200 /* JD1_DB */
- #define WM8993_JD1_DB_SHIFT 9 /* JD1_DB */
- #define WM8993_JD1_DB_WIDTH 1 /* JD1_DB */
- #define WM8993_FLL_LOCK_DB 0x0100 /* FLL_LOCK_DB */
- #define WM8993_FLL_LOCK_DB_MASK 0x0100 /* FLL_LOCK_DB */
- #define WM8993_FLL_LOCK_DB_SHIFT 8 /* FLL_LOCK_DB */
- #define WM8993_FLL_LOCK_DB_WIDTH 1 /* FLL_LOCK_DB */
- #define WM8993_GPI8_DB 0x0080 /* GPI8_DB */
- #define WM8993_GPI8_DB_MASK 0x0080 /* GPI8_DB */
- #define WM8993_GPI8_DB_SHIFT 7 /* GPI8_DB */
- #define WM8993_GPI8_DB_WIDTH 1 /* GPI8_DB */
- #define WM8993_GPI7_DB 0x0008 /* GPI7_DB */
- #define WM8993_GPI7_DB_MASK 0x0008 /* GPI7_DB */
- #define WM8993_GPI7_DB_SHIFT 3 /* GPI7_DB */
- #define WM8993_GPI7_DB_WIDTH 1 /* GPI7_DB */
- #define WM8993_GPIO1_DB 0x0001 /* GPIO1_DB */
- #define WM8993_GPIO1_DB_MASK 0x0001 /* GPIO1_DB */
- #define WM8993_GPIO1_DB_SHIFT 0 /* GPIO1_DB */
- #define WM8993_GPIO1_DB_WIDTH 1 /* GPIO1_DB */
- /*
- * R22 (0x16) - GPIOCTRL 2
- */
- #define WM8993_IM_JD2_EINT 0x2000 /* IM_JD2_EINT */
- #define WM8993_IM_JD2_EINT_MASK 0x2000 /* IM_JD2_EINT */
- #define WM8993_IM_JD2_EINT_SHIFT 13 /* IM_JD2_EINT */
- #define WM8993_IM_JD2_EINT_WIDTH 1 /* IM_JD2_EINT */
- #define WM8993_IM_JD2_SC_EINT 0x1000 /* IM_JD2_SC_EINT */
- #define WM8993_IM_JD2_SC_EINT_MASK 0x1000 /* IM_JD2_SC_EINT */
- #define WM8993_IM_JD2_SC_EINT_SHIFT 12 /* IM_JD2_SC_EINT */
- #define WM8993_IM_JD2_SC_EINT_WIDTH 1 /* IM_JD2_SC_EINT */
- #define WM8993_IM_TEMPOK_EINT 0x0800 /* IM_TEMPOK_EINT */
- #define WM8993_IM_TEMPOK_EINT_MASK 0x0800 /* IM_TEMPOK_EINT */
- #define WM8993_IM_TEMPOK_EINT_SHIFT 11 /* IM_TEMPOK_EINT */
- #define WM8993_IM_TEMPOK_EINT_WIDTH 1 /* IM_TEMPOK_EINT */
- #define WM8993_IM_JD1_SC_EINT 0x0400 /* IM_JD1_SC_EINT */
- #define WM8993_IM_JD1_SC_EINT_MASK 0x0400 /* IM_JD1_SC_EINT */
- #define WM8993_IM_JD1_SC_EINT_SHIFT 10 /* IM_JD1_SC_EINT */
- #define WM8993_IM_JD1_SC_EINT_WIDTH 1 /* IM_JD1_SC_EINT */
- #define WM8993_IM_JD1_EINT 0x0200 /* IM_JD1_EINT */
- #define WM8993_IM_JD1_EINT_MASK 0x0200 /* IM_JD1_EINT */
- #define WM8993_IM_JD1_EINT_SHIFT 9 /* IM_JD1_EINT */
- #define WM8993_IM_JD1_EINT_WIDTH 1 /* IM_JD1_EINT */
- #define WM8993_IM_FLL_LOCK_EINT 0x0100 /* IM_FLL_LOCK_EINT */
- #define WM8993_IM_FLL_LOCK_EINT_MASK 0x0100 /* IM_FLL_LOCK_EINT */
- #define WM8993_IM_FLL_LOCK_EINT_SHIFT 8 /* IM_FLL_LOCK_EINT */
- #define WM8993_IM_FLL_LOCK_EINT_WIDTH 1 /* IM_FLL_LOCK_EINT */
- #define WM8993_IM_GPI8_EINT 0x0040 /* IM_GPI8_EINT */
- #define WM8993_IM_GPI8_EINT_MASK 0x0040 /* IM_GPI8_EINT */
- #define WM8993_IM_GPI8_EINT_SHIFT 6 /* IM_GPI8_EINT */
- #define WM8993_IM_GPI8_EINT_WIDTH 1 /* IM_GPI8_EINT */
- #define WM8993_IM_GPIO1_EINT 0x0020 /* IM_GPIO1_EINT */
- #define WM8993_IM_GPIO1_EINT_MASK 0x0020 /* IM_GPIO1_EINT */
- #define WM8993_IM_GPIO1_EINT_SHIFT 5 /* IM_GPIO1_EINT */
- #define WM8993_IM_GPIO1_EINT_WIDTH 1 /* IM_GPIO1_EINT */
- #define WM8993_GPI8_ENA 0x0010 /* GPI8_ENA */
- #define WM8993_GPI8_ENA_MASK 0x0010 /* GPI8_ENA */
- #define WM8993_GPI8_ENA_SHIFT 4 /* GPI8_ENA */
- #define WM8993_GPI8_ENA_WIDTH 1 /* GPI8_ENA */
- #define WM8993_IM_GPI7_EINT 0x0004 /* IM_GPI7_EINT */
- #define WM8993_IM_GPI7_EINT_MASK 0x0004 /* IM_GPI7_EINT */
- #define WM8993_IM_GPI7_EINT_SHIFT 2 /* IM_GPI7_EINT */
- #define WM8993_IM_GPI7_EINT_WIDTH 1 /* IM_GPI7_EINT */
- #define WM8993_IM_WSEQ_EINT 0x0002 /* IM_WSEQ_EINT */
- #define WM8993_IM_WSEQ_EINT_MASK 0x0002 /* IM_WSEQ_EINT */
- #define WM8993_IM_WSEQ_EINT_SHIFT 1 /* IM_WSEQ_EINT */
- #define WM8993_IM_WSEQ_EINT_WIDTH 1 /* IM_WSEQ_EINT */
- #define WM8993_GPI7_ENA 0x0001 /* GPI7_ENA */
- #define WM8993_GPI7_ENA_MASK 0x0001 /* GPI7_ENA */
- #define WM8993_GPI7_ENA_SHIFT 0 /* GPI7_ENA */
- #define WM8993_GPI7_ENA_WIDTH 1 /* GPI7_ENA */
- /*
- * R23 (0x17) - GPIO_POL
- */
- #define WM8993_JD2_SC_POL 0x8000 /* JD2_SC_POL */
- #define WM8993_JD2_SC_POL_MASK 0x8000 /* JD2_SC_POL */
- #define WM8993_JD2_SC_POL_SHIFT 15 /* JD2_SC_POL */
- #define WM8993_JD2_SC_POL_WIDTH 1 /* JD2_SC_POL */
- #define WM8993_JD2_POL 0x4000 /* JD2_POL */
- #define WM8993_JD2_POL_MASK 0x4000 /* JD2_POL */
- #define WM8993_JD2_POL_SHIFT 14 /* JD2_POL */
- #define WM8993_JD2_POL_WIDTH 1 /* JD2_POL */
- #define WM8993_WSEQ_POL 0x2000 /* WSEQ_POL */
- #define WM8993_WSEQ_POL_MASK 0x2000 /* WSEQ_POL */
- #define WM8993_WSEQ_POL_SHIFT 13 /* WSEQ_POL */
- #define WM8993_WSEQ_POL_WIDTH 1 /* WSEQ_POL */
- #define WM8993_IRQ_POL 0x1000 /* IRQ_POL */
- #define WM8993_IRQ_POL_MASK 0x1000 /* IRQ_POL */
- #define WM8993_IRQ_POL_SHIFT 12 /* IRQ_POL */
- #define WM8993_IRQ_POL_WIDTH 1 /* IRQ_POL */
- #define WM8993_TEMPOK_POL 0x0800 /* TEMPOK_POL */
- #define WM8993_TEMPOK_POL_MASK 0x0800 /* TEMPOK_POL */
- #define WM8993_TEMPOK_POL_SHIFT 11 /* TEMPOK_POL */
- #define WM8993_TEMPOK_POL_WIDTH 1 /* TEMPOK_POL */
- #define WM8993_JD1_SC_POL 0x0400 /* JD1_SC_POL */
- #define WM8993_JD1_SC_POL_MASK 0x0400 /* JD1_SC_POL */
- #define WM8993_JD1_SC_POL_SHIFT 10 /* JD1_SC_POL */
- #define WM8993_JD1_SC_POL_WIDTH 1 /* JD1_SC_POL */
- #define WM8993_JD1_POL 0x0200 /* JD1_POL */
- #define WM8993_JD1_POL_MASK 0x0200 /* JD1_POL */
- #define WM8993_JD1_POL_SHIFT 9 /* JD1_POL */
- #define WM8993_JD1_POL_WIDTH 1 /* JD1_POL */
- #define WM8993_FLL_LOCK_POL 0x0100 /* FLL_LOCK_POL */
- #define WM8993_FLL_LOCK_POL_MASK 0x0100 /* FLL_LOCK_POL */
- #define WM8993_FLL_LOCK_POL_SHIFT 8 /* FLL_LOCK_POL */
- #define WM8993_FLL_LOCK_POL_WIDTH 1 /* FLL_LOCK_POL */
- #define WM8993_GPI8_POL 0x0080 /* GPI8_POL */
- #define WM8993_GPI8_POL_MASK 0x0080 /* GPI8_POL */
- #define WM8993_GPI8_POL_SHIFT 7 /* GPI8_POL */
- #define WM8993_GPI8_POL_WIDTH 1 /* GPI8_POL */
- #define WM8993_GPI7_POL 0x0040 /* GPI7_POL */
- #define WM8993_GPI7_POL_MASK 0x0040 /* GPI7_POL */
- #define WM8993_GPI7_POL_SHIFT 6 /* GPI7_POL */
- #define WM8993_GPI7_POL_WIDTH 1 /* GPI7_POL */
- #define WM8993_GPIO1_POL 0x0001 /* GPIO1_POL */
- #define WM8993_GPIO1_POL_MASK 0x0001 /* GPIO1_POL */
- #define WM8993_GPIO1_POL_SHIFT 0 /* GPIO1_POL */
- #define WM8993_GPIO1_POL_WIDTH 1 /* GPIO1_POL */
- /*
- * R24 (0x18) - Left Line Input 1&2 Volume
- */
- #define WM8993_IN1_VU 0x0100 /* IN1_VU */
- #define WM8993_IN1_VU_MASK 0x0100 /* IN1_VU */
- #define WM8993_IN1_VU_SHIFT 8 /* IN1_VU */
- #define WM8993_IN1_VU_WIDTH 1 /* IN1_VU */
- #define WM8993_IN1L_MUTE 0x0080 /* IN1L_MUTE */
- #define WM8993_IN1L_MUTE_MASK 0x0080 /* IN1L_MUTE */
- #define WM8993_IN1L_MUTE_SHIFT 7 /* IN1L_MUTE */
- #define WM8993_IN1L_MUTE_WIDTH 1 /* IN1L_MUTE */
- #define WM8993_IN1L_ZC 0x0040 /* IN1L_ZC */
- #define WM8993_IN1L_ZC_MASK 0x0040 /* IN1L_ZC */
- #define WM8993_IN1L_ZC_SHIFT 6 /* IN1L_ZC */
- #define WM8993_IN1L_ZC_WIDTH 1 /* IN1L_ZC */
- #define WM8993_IN1L_VOL_MASK 0x001F /* IN1L_VOL - [4:0] */
- #define WM8993_IN1L_VOL_SHIFT 0 /* IN1L_VOL - [4:0] */
- #define WM8993_IN1L_VOL_WIDTH 5 /* IN1L_VOL - [4:0] */
- /*
- * R25 (0x19) - Left Line Input 3&4 Volume
- */
- #define WM8993_IN2_VU 0x0100 /* IN2_VU */
- #define WM8993_IN2_VU_MASK 0x0100 /* IN2_VU */
- #define WM8993_IN2_VU_SHIFT 8 /* IN2_VU */
- #define WM8993_IN2_VU_WIDTH 1 /* IN2_VU */
- #define WM8993_IN2L_MUTE 0x0080 /* IN2L_MUTE */
- #define WM8993_IN2L_MUTE_MASK 0x0080 /* IN2L_MUTE */
- #define WM8993_IN2L_MUTE_SHIFT 7 /* IN2L_MUTE */
- #define WM8993_IN2L_MUTE_WIDTH 1 /* IN2L_MUTE */
- #define WM8993_IN2L_ZC 0x0040 /* IN2L_ZC */
- #define WM8993_IN2L_ZC_MASK 0x0040 /* IN2L_ZC */
- #define WM8993_IN2L_ZC_SHIFT 6 /* IN2L_ZC */
- #define WM8993_IN2L_ZC_WIDTH 1 /* IN2L_ZC */
- #define WM8993_IN2L_VOL_MASK 0x001F /* IN2L_VOL - [4:0] */
- #define WM8993_IN2L_VOL_SHIFT 0 /* IN2L_VOL - [4:0] */
- #define WM8993_IN2L_VOL_WIDTH 5 /* IN2L_VOL - [4:0] */
- /*
- * R26 (0x1A) - Right Line Input 1&2 Volume
- */
- #define WM8993_IN1_VU 0x0100 /* IN1_VU */
- #define WM8993_IN1_VU_MASK 0x0100 /* IN1_VU */
- #define WM8993_IN1_VU_SHIFT 8 /* IN1_VU */
- #define WM8993_IN1_VU_WIDTH 1 /* IN1_VU */
- #define WM8993_IN1R_MUTE 0x0080 /* IN1R_MUTE */
- #define WM8993_IN1R_MUTE_MASK 0x0080 /* IN1R_MUTE */
- #define WM8993_IN1R_MUTE_SHIFT 7 /* IN1R_MUTE */
- #define WM8993_IN1R_MUTE_WIDTH 1 /* IN1R_MUTE */
- #define WM8993_IN1R_ZC 0x0040 /* IN1R_ZC */
- #define WM8993_IN1R_ZC_MASK 0x0040 /* IN1R_ZC */
- #define WM8993_IN1R_ZC_SHIFT 6 /* IN1R_ZC */
- #define WM8993_IN1R_ZC_WIDTH 1 /* IN1R_ZC */
- #define WM8993_IN1R_VOL_MASK…