754 lines
40 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* rv1106_codec.h - Rockchip RV1106 SoC Codec Driver
*
* Copyright (C) 2022 Rockchip Electronics Co., Ltd.
*/
#ifndef __RV1106_CODEC_H__
#define __RV1106_CODEC_H__
#define ACODEC_RESET_CTL 0x00 /* REG 0x00 */
#define ACODEC_GLB_CON ACODEC_RESET_CTL
#define ACODEC_MUTE_DA_DITHER_CTL 0x04 /* REG 0x01 */
/* ADC DIGITAL REGISTERS */
#define ACODEC_ADC_I2S_CTL0 0x08 /* REG 0x02 */
#define ACODEC_ADC_I2S_CTL1 0x0c /* REG 0x03 */
#define ACODEC_DAC_I2S_CTL0 0x10 /* REG 0x04 */
#define ACODEC_DAC_I2S_CTL1 0x14 /* REG 0x05 */
#define ACODEC_DAC_GAIN_SEL 0x18 /* REG 0x06 */
#define ACODEC_DAC_L_BIST_MODE_SEL 0x1c /* REG 0x07 */
#define ACODEC_ADC_L_DIG_VOL 0x20 /* REG 0x08 */
#define ACODEC_ADC_R_DIG_VOL 0x24 /* REG 0x09 */
#define ACODEC_ADC_HPF_PGA_CTL 0x28 /* REG 0x0a */
#define ACODEC_INIT_DELAY_CNT1 0x2c /* REG 0x0b */
#define ACODEC_INIT_DELAY_CNT2 0x30 /* REG 0x0c */
#define ACODEC_ADC_BIST_MODE_SEL 0x34 /* REG 0x0d */
#define ACODEC_DAC_CONFIG_OUTPUT 0x38 /* REG 0x0e */
#define ACODEC_LINEOUT_CTL 0x80 /* REG 0x20 */
#define ACODEC_CURRENT_CHARGE_CTL 0x84 /* REG 0x21 */
#define ACODEC_ADC_ANA_CTL0 0x88 /* REG 0x22 */
#define ACODEC_ADC_ANA_CTL1 0x8c /* REG 0x23 */
#define ACODEC_ADC_ANA_CTL2 0x90 /* REG 0x24 */
#define ACODEC_ADC_ANA_CTL3 0x94 /* REG 0x25 */
#define ACODEC_ADC_ANA_CTL4 0x98 /* REG 0x26 */
#define ACODEC_ADC_ANA_CTL5 0x9c /* REG 0x27 */
#define ACODEC_ADC_ANA_CTL6 0xa0 /* REG 0x28 */
#define ACODEC_DAC_ANA_CTL0 0xa4 /* REG 0x29 */
#define ACODEC_DAC_ANA_CTL1 0xa8 /* REG 0x2a */
#define ACODEC_DAC_ANA_CTL2 0xac /* REG 0x2b */
#define ACODEC_DAC_HPMIX_CTL 0xbc /* REG 0x2f */
/* The description of the agc register for the left channel */
#define ACODEC_ADC_PGA_AGC_L_CTL0 0x100 /* REG 0x40 */
#define ACODEC_ADC_PGA_AGC_L_CTL1 0x104 /* REG 0x41 */
#define ACODEC_ADC_PGA_AGC_L_CTL2 0x108 /* REG 0x42 */
#define ACODEC_ADC_PGA_AGC_L_CTL3 0x10c /* REG 0x43 */
#define ACODEC_ADC_PGA_AGC_L_CTL4 0x110 /* REG 0x44 */
#define ACODEC_ADC_PGA_AGC_L_CTL5 0x114 /* REG 0x45 */
#define ACODEC_ADC_PGA_AGC_L_CTL6 0x118 /* REG 0x46 */
#define ACODEC_ADC_PGA_AGC_L_CTL7 0x11c /* REG 0x47 */
#define ACODEC_ADC_PGA_AGC_L_CTL8 0x120 /* REG 0x48 */
#define ACODEC_ADC_PGA_AGC_L_CTL9 0x124 /* REG 0x49 */
/* The description of the agc register for the right channel */
#define ACODEC_ADC_PGA_AGC_R_CTL0 0x140 /* REG 0x50 */
#define ACODEC_ADC_PGA_AGC_R_CTL1 0x144 /* REG 0x51 */
#define ACODEC_ADC_PGA_AGC_R_CTL2 0x148 /* REG 0x52 */
#define ACODEC_ADC_PGA_AGC_R_CTL3 0x14c /* REG 0x53 */
#define ACODEC_ADC_PGA_AGC_R_CTL4 0x150 /* REG 0x54 */
#define ACODEC_ADC_PGA_AGC_R_CTL5 0x154 /* REG 0x55 */
#define ACODEC_ADC_PGA_AGC_R_CTL6 0x158 /* REG 0x56 */
#define ACODEC_ADC_PGA_AGC_R_CTL7 0x15c /* REG 0x57 */
#define ACODEC_ADC_PGA_AGC_R_CTL8 0x160 /* REG 0x58 */
#define ACODEC_ADC_PGA_AGC_R_CTL9 0x164 /* REG 0x59 */
#define ACODEC_REG_MAX ACODEC_ADC_PGA_AGC_R_CTL9
/* ACODEC_RESET_CTL */
#define ACODEC_CODEC_BIST_MSK (1 << 7)
#define ACODEC_CODEC_BIST_WORK (1 << 7)
#define ACODEC_CODEC_BIST_RST (0 << 7)
#define ACODEC_CODEC_CORE_RST_MSK (1 << 1)
#define ACODEC_CODEC_CORE_WORK (1 << 1)
#define ACODEC_CODEC_CORE_RST (0 << 1)
#define ACODEC_CODEC_SYS_RST_MSK (1 << 0)
#define ACODEC_CODEC_SYS_WORK (1 << 0)
#define ACODEC_CODEC_SYS_RST (0 << 0)
/* ACODEC_MUTE_DA_DITHER_CTL */
#define ACODEC_DAC_MUTE_MSK (1 << 7)
#define ACODEC_DAC_MUTE_EN (1 << 7)
#define ACODEC_DAC_MUTE_DIS (0 << 7)
#define ACODEC_DITHER_LEVEL_SEL (1 << 3)
#define ACODEC_DA_MSK (1 << 2)
#define ACODEC_DA_EN (1 << 2)
#define ACODEC_DA_DIS (0 << 2)
#define ACODEC_DITHER_MSK (1 << 1)
#define ACODEC_DITHER_EN (1 << 1)
#define ACODEC_DITHER_DIS (0 << 1)
#define ACODEC_DITHER_SIGN (1 << 0)
/* ACODEC_ADC_I2S_CTL0 */
#define ACODEC_ADC_I2S_LRC_POL_MSK (1 << 7)
#define ACODEC_ADC_I2S_LRC_POL_REVERSAL (1 << 7)
#define ACODEC_ADC_I2S_LRC_POL_NORMAL (0 << 7)
#define ACODEC_ADC_I2S_VALID_LEN_SFT 5
#define ACODEC_ADC_I2S_VALID_LEN_MSK (0x3 << ACODEC_ADC_I2S_VALID_LEN_SFT)
#define ACODEC_ADC_I2S_VALID_LEN_32BITS (0x3 << ACODEC_ADC_I2S_VALID_LEN_SFT)
#define ACODEC_ADC_I2S_VALID_LEN_24BITS (0x2 << ACODEC_ADC_I2S_VALID_LEN_SFT)
#define ACODEC_ADC_I2S_VALID_LEN_20BITS (0x1 << ACODEC_ADC_I2S_VALID_LEN_SFT)
#define ACODEC_ADC_I2S_VALID_LEN_16BITS (0x0 << ACODEC_ADC_I2S_VALID_LEN_SFT)
#define ACODEC_ADC_I2S_MODE_SFT 3
#define ACODEC_ADC_I2S_MODE_MSK (0x3 << ACODEC_ADC_I2S_MODE_SFT)
#define ACODEC_ADC_I2S_MODE_PCM (0x3 << ACODEC_ADC_I2S_MODE_SFT)
#define ACODEC_ADC_I2S_MODE_I2S (0x2 << ACODEC_ADC_I2S_MODE_SFT)
#define ACODEC_ADC_I2S_MODE_LJ (0x1 << ACODEC_ADC_I2S_MODE_SFT)
#define ACODEC_ADC_I2S_MODE_RJ (0x0 << ACODEC_ADC_I2S_MODE_SFT)
#define ACODEC_ADC_I2S_SEL_DATA_MSK (1 << 2)
#define ACODEC_ADC_I2S_SEL_ADC_DATA (1 << 2)
#define ACODEC_ADC_I2S_SEL_ADCL_DACL_DATA (0 << 2)
#define ACODEC_ADC_I2S_DATA_SEL 0
#define ACODEC_ADC_I2S_DATA_SEL_MSK (0x3 << ACODEC_ADC_I2S_DATA_SEL)
#define ACODEC_ADC_I2S_DATA_SWAP (0x3 << ACODEC_ADC_I2S_DATA_SEL)
#define ACODEC_ADC_I2S_DATA_SEL_LEFT (0x2 << ACODEC_ADC_I2S_DATA_SEL)
#define ACODEC_ADC_I2S_DATA_SEL_RIGHT (0x1 << ACODEC_ADC_I2S_DATA_SEL)
#define ACODEC_ADC_I2S_DATA_SEL_NORMAL (0x0 << ACODEC_ADC_I2S_DATA_SEL)
/* ACODEC_ADC_I2S_CTL1 */
#define ACODEC_DAC_IO_MODE_MSK (0x1 << 7)
#define ACODEC_DAC_IO_MODE_MASTER (0x1 << 7)
#define ACODEC_DAC_IO_MODE_SLAVE (0x0 << 7)
#define ACODEC_DAC_MODE_MSK (0x1 << 6)
#define ACODEC_DAC_MODE_MASTER (0x1 << 6)
#define ACODEC_DAC_MODE_SLAVE (0x0 << 6)
#define ACODEC_ADC_IO_MODE_MSK (0x1 << 5)
#define ACODEC_ADC_IO_MODE_MASTER (0x1 << 5)
#define ACODEC_ADC_IO_MODE_SLAVE (0x0 << 5)
#define ACODEC_ADC_MODE_MSK (0x1 << 4)
#define ACODEC_ADC_MODE_MASTER (0x1 << 4)
#define ACODEC_ADC_MODE_SLAVE (0x0 << 4)
#define ACODEC_ADC_I2S_FRAME_LEN_SFT 2
#define ACODEC_ADC_I2S_FRAME_LEN_MSK (0x3 << ACODEC_ADC_I2S_FRAME_LEN_SFT)
#define ACODEC_ADC_I2S_FRAME_32BITS (0x3 << ACODEC_ADC_I2S_FRAME_LEN_SFT)
#define ACODEC_ADC_I2S_FRAME_24BITS (0x1 << ACODEC_ADC_I2S_FRAME_LEN_SFT)
#define ACODEC_ADC_I2S_MSK (0x1 << 1)
#define ACODEC_ADC_I2S_WORK (0x1 << 1)
#define ACODEC_ADC_I2S_RESET (0x0 << 1)
#define ACODEC_ADC_I2S_BIT_CLK_POL_MSK (0x1 << 0)
#define ACODEC_ADC_I2S_BIT_CLK_POL_REVERSAL (0x1 << 0)
#define ACODEC_ADC_I2S_BIT_CLK_POL_NORMAL (0x0 << 0)
/* ACODEC_DAC_I2S_CTL0 */
#define ACODEC_DAC_I2S_LRC_POL_MSK (0x1 << 7)
#define ACODEC_DAC_I2S_LRC_POL_REVERSAL (0x1 << 7)
#define ACODEC_DAC_I2S_LRC_POL_NORMAL (0x0 << 7)
#define ACODEC_DAC_I2S_VALID_LEN_SFT 5
#define ACODEC_DAC_I2S_VALID_LEN_MSK (0x3 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_VALID_LEN_32BITS (0x3 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_VALID_LEN_24BITS (0x2 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_VALID_LEN_20BITS (0x1 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_VALID_LEN_16BITS (0x0 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_MODE_SFT 3
#define ACODEC_DAC_I2S_MODE_MSK (0x3 << ACODEC_DAC_I2S_MODE_SFT)
#define ACODEC_DAC_I2S_MODE_PCM (0x3 << ACODEC_DAC_I2S_MODE_SFT)
#define ACODEC_DAC_I2S_MODE_I2S (0x2 << ACODEC_DAC_I2S_MODE_SFT)
#define ACODEC_DAC_I2S_MODE_LJ (0x1 << ACODEC_DAC_I2S_MODE_SFT)
#define ACODEC_DAC_I2S_MODE_RJ (0x0 << ACODEC_DAC_I2S_MODE_SFT)
#define ACODEC_DAC_I2S_LR_MSK (0x1 << 2)
#define ACODEC_DAC_I2S_LR_SWAP (0x1 << 2)
#define ACODEC_DAC_I2S_LR_NORMAL (0x0 << 2)
/* ACODEC_DAC_I2S_CTL1 */
#define ACODEC_DAC_DE_EMPHASIS_FILTER_SFT 4
#define ACODEC_DAC_DE_EMPHASIS_FILTER_MSK (0x3 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_48_DE_EMPHASIS_FILTER (0x3 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_441_DE_EMPHASIS_FILTER (0x2 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_32_DE_EMPHASIS_FILTER (0x1 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_NO_DE_EMPHASIS_FILTER (0x0 << ACODEC_DAC_I2S_VALID_LEN_SFT)
#define ACODEC_DAC_I2S_FRAME_LEN_SFT 2
#define ACODEC_DAC_I2S_FRAME_LEN_MSK (0x3 << ACODEC_DAC_I2S_FRAME_LEN_SFT)
#define ACODEC_DAC_I2S_FRAME_32BITS (0x3 << ACODEC_DAC_I2S_FRAME_LEN_SFT)
#define ACODEC_DAC_I2S_FRAME_24BITS (0x2 << ACODEC_DAC_I2S_FRAME_LEN_SFT)
#define ACODEC_DAC_I2S_FRAME_20BITS (0x1 << ACODEC_DAC_I2S_FRAME_LEN_SFT)
#define ACODEC_DAC_I2S_FRAME_16BITS (0x0 << ACODEC_DAC_I2S_FRAME_LEN_SFT)
#define ACODEC_DAC_I2S_MSK (0x1 << 1)
#define ACODEC_DAC_I2S_WORK (0x1 << 1)
#define ACODEC_DAC_I2S_RESET (0x0 << 1)
#define ACODEC_DAC_I2S_BIT_CLK_POL_MSK (0x1 << 0)
#define ACODEC_DAC_I2S_BIT_CLK_POL_REVERSAL (0x1 << 0)
#define ACODEC_DAC_I2S_BIT_CLK_POL_NORMAL (0x0 << 0)
/* ACODEC_DAC_GAIN_SEL */
#define ACODEC_DAC_DIG_GAIN_SFT 0
#define ACODEC_DAC_DIG_GAIN_MSK (0xff << ACODEC_DAC_DIG_GAIN_SFT)
#define ACODEC_DAC_DIG_GAIN(x) ((x) & ACODEC_DAC_DIG_GAIN_MSK)
#define ACODEC_DAC_DIG_0DB 0xed
/* ACODEC_DAC_L_BIST_MODE_SEL */
#define ACODEC_DAC_L_CH_BIST_SFT 4
#define ACODEC_DAC_L_CH_BIST_MSK (0x3 << ACODEC_DAC_L_CH_BIST_SFT)
#define ACODEC_DAC_L_CH_BIST_SINE (0x1 << ACODEC_DAC_L_CH_BIST_SFT)
#define ACODEC_DAC_L_CH_BIST_LEFT (0x0 << ACODEC_DAC_L_CH_BIST_SFT) /* normal mode */
/* ACODEC_ADC_L_DIG_VOL */
#define ACODEC_ADC_L_DIG_VOL_MAX 0xff
#define ACODEC_ADC_L_DIG_VOL_MIN 0
#define ACODEC_ADC_L_DIG_VOL_SFT 0
#define ACODEC_ADC_L_DIG_VOL_MUTE 0
#define ACODEC_ADC_L_DIG_VOL_0DB 0xc3
/* ACODEC_ADC_R_DIG_VOL */
#define ACODEC_ADC_R_DIG_VOL_MAX 0xff
#define ACODEC_ADC_R_DIG_VOL_MIN 0
#define ACODEC_ADC_R_DIG_VOL_SFT 0
#define ACODEC_ADC_R_DIG_VOL_MUTE 0
#define ACODEC_ADC_R_DIG_VOL_0DB 0xc3
/* ACODEC_ADC_HPF_PGA_CTL */
#define ACODEC_ADC_FILTER_MSK (1 << 7)
#define ACODEC_ADC_FILTER_EN (1 << 7)
#define ACODEC_ADC_FILTER_DIS (0 << 7)
#define ACODEC_ADC_AGC_MSK (1 << 6)
#define ACODEC_ADC_FILTER_OUTPUT (1 << 6)
#define ACODEC_ADC_SINC_OUTPUT (0 << 6)
#define ACODEC_ADC_L_PGA_MSK (1 << 5)
#define ACODEC_ADC_PGA_ALCL_EN (1 << 5)
#define ACODEC_ADC_PGA_ALCL_DIS (0 << 5)
#define ACODEC_ADC_R_PGA_MSK (1 << 4)
#define ACODEC_ADC_PGA_ALCR_EN (1 << 4)
#define ACODEC_ADC_PGA_ALCR_DIS (0 << 4)
#define ACODEC_ADC_HPF_SFT 2
#define ACODEC_ADC_HPF_MSK (3 << ACODEC_ADC_HPF_SFT)
#define ACODEC_ADC_HPF_EN (3 << ACODEC_ADC_HPF_SFT)
#define ACODEC_ADC_HPF_DIS (0 << ACODEC_ADC_HPF_SFT)
#define ACODEC_ADC_R_DATA_POL_INV_MSK (1 << 1)
#define ACODEC_ADC_R_DATA_POL_INV_EN (1 << 1)
#define ACODEC_ADC_R_DATA_POL_INV_DIS (0 << 1)
#define ACODEC_ADC_L_DATA_POL_INV_MSK (1 << 0)
#define ACODEC_ADC_L_DATA_POL_INV_EN (1 << 0)
#define ACODEC_ADC_L_DATA_POL_INV_DIS (0 << 0)
/* ACODEC_ADC_BIST_MODE_SEL */
#define ACODEC_ADC_R_BIST_SFT 6
#define ACODEC_ADC_R_BIST_MSK (0x3 << ACODEC_ADC_R_BIST_SFT)
#define ACODEC_ADC_R_BIST_SINE (0x1 << ACODEC_ADC_R_BIST_SFT)
#define ACODEC_ADC_BIST_RIGHT (0x0 << ACODEC_ADC_R_BIST_SFT) /* normal mode */
#define ACODEC_ADC_L_BIST_SFT 4
#define ACODEC_ADC_L_BIST_MSK (0x3 << ACODEC_ADC_L_BIST_SFT)
#define ACODEC_ADC_L_BIST_SINE (0x1 << ACODEC_ADC_L_BIST_SFT)
#define ACODEC_ADC_BIST_LEFT (0x0 << ACODEC_ADC_L_BIST_SFT) /* normal mode */
/* ACODEC_LINEOUT_CTL */
#define ACODEC_DAC_LINEOUT_EN_SFT 7
#define ACODEC_DAC_LINEOUT_EN_WORK (0x1 << ACODEC_DAC_LINEOUT_EN_SFT)
#define ACODEC_DAC_LINEOUT_EN_RST (0x0 << ACODEC_DAC_LINEOUT_EN_SFT)
#define ACODEC_DAC_LINEOUT_INI_SFT 6
#define ACODEC_DAC_LINEOUT_INI_WORK (0x1 << ACODEC_DAC_LINEOUT_INI_SFT)
#define ACODEC_DAC_LINEOUT_INI_RST (0x0 << ACODEC_DAC_LINEOUT_INI_SFT)
#define ACODEC_DAC_IBIAS_SEL_SFT 0
#define ACODEC_DAC_IBIAS_SEL_MSK (0xf << ACODEC_DAC_IBIAS_SEL_SFT)
/* ACODEC_CURRENT_CHARGE_CTL */
#define ACODEC_ADC_CURRENT_CHARGE_SFT 0
#define ACODEC_ADC_CURRENT_CHARGE_MSK (0xff << ACODEC_ADC_CURRENT_CHARGE_SFT)
/*
* 1: Choose the current I
* 0: Don't choose the current I
*/
#define ACODEC_ADC_SEL_I(x) (x & 0xff)
/* ACODEC_ADC_ANA_CTL0 */
#define ACODEC_ADC_REF_VOL_MSK (0x1 << 5)
#define ACODEC_ADC_REF_VOL_EN (0x1 << 5)
#define ACODEC_ADC_REF_VOL_DIS (0x0 << 5)
#define ACODEC_ADC_IBIAS_MSK (0x1 << 4)
#define ACODEC_ADC_IBIAS_EN (0x1 << 4)
#define ACODEC_ADC_IBIAS_DIS (0x0 << 4)
#define ACODEC_MICBIAS_SFT 3
#define ACODEC_MICBIAS_MSK (0x1 << 3)
#define ACODEC_MICBIAS_WORK (0x1 << 3)
#define ACODEC_MICBIAS_RST (0x0 << 3)
#define ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT 0
#define ACODEC_ADC_LEVEL_RANGE_MICBIAS_MSK (0x7 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_975 (0x7 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_95 (0x6 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_925 (0x5 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_9 (0x4 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_875 (0x3 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_85 (0x2 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_825 (0x1 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
#define ACODEC_ADC_MICBIAS_VOLT_0_8 (0x0 << ACODEC_ADC_LEVEL_RANGE_MICBIAS_SFT)
/* ACODEC_ADC_ANA_CTL1 */
#define ACODEC_ADC_L_MIC_MSK (0x1 << 7)
#define ACODEC_ADC_L_MIC_WORK (0x1 << 7)
#define ACODEC_ADC_L_MIC_MUTE (0x0 << 7)
#define ACODEC_ADC_L_MIC_SIGNAL_MSK (0x1 << 6)
#define ACODEC_ADC_L_MIC_SIGNAL_WORK (0x1 << 6)
#define ACODEC_ADC_L_MIC_SIGNAL_INIT (0x0 << 6)
#define ACODEC_ADC_L_REF_VOL_BUF_MSK (0x1 << 5)
#define ACODEC_ADC_L_REF_VOL_BUF_EN (0x1 << 5)
#define ACODEC_ADC_L_REF_VOL_BUF_DIS (0x0 << 5)
#define ACODEC_ADC_L_ZERO_CROSS_DET_MSK (0x1 << 4)
#define ACODEC_ADC_L_ZERO_CROSS_DET_EN (0x1 << 4)
#define ACODEC_ADC_L_ZERO_CROSS_DET_DIS (0x0 << 4)
#define ACODEC_ADC_R_MIC_MSK (0x1 << 3)
#define ACODEC_ADC_R_MIC_WORK (0x1 << 3)
#define ACODEC_ADC_R_MIC_MUTE (0x0 << 3)
#define ACODEC_ADC_R_MIC_SIGNAL_MSK (0x1 << 2)
#define ACODEC_ADC_R_MIC_SIGNAL_WORK (0x1 << 2)
#define ACODEC_ADC_R_MIC_SIGNAL_INIT (0x0 << 2)
#define ACODEC_ADC_R_REF_VOL_BUF_MSK (0x1 << 1)
#define ACODEC_ADC_R_REF_VOL_BUF_EN (0x1 << 1)
#define ACODEC_ADC_R_REF_VOL_BUF_DIS (0x0 << 1)
#define ACODEC_ADC_R_ZERO_CROSS_DET_MSK (0x1 << 0)
#define ACODEC_ADC_R_ZERO_CROSS_DET_EN (0x1 << 0)
#define ACODEC_ADC_R_ZERO_CROSS_DET_DIS (0x0 << 0)
/* ACODEC_ADC_ANA_CTL2 */
#define ACODEC_ADC_MIC_GAIN_MAX 0x3
#define ACODEC_ADC_MIC_GAIN_MIN 0x1
#define ACODEC_ADC_L_MIC_GAIN_SFT 6
#define ACODEC_ADC_L_MIC_GAIN_MSK (0x3 << ACODEC_ADC_L_MIC_GAIN_SFT)
#define ACODEC_ADC_L_MIC_GAIN_12DB (0x3 << ACODEC_ADC_L_MIC_GAIN_SFT)
#define ACODEC_ADC_L_MIC_GAIN_20DB (0x2 << ACODEC_ADC_L_MIC_GAIN_SFT)
#define ACODEC_ADC_L_MIC_GAIN_0DB (0x1 << ACODEC_ADC_L_MIC_GAIN_SFT)
#define ACODEC_ADC_R_MIC_GAIN_SFT 4
#define ACODEC_ADC_R_MIC_GAIN_MSK (0x3 << ACODEC_ADC_R_MIC_GAIN_SFT)
#define ACODEC_ADC_R_MIC_GAIN_12DB (0x3 << ACODEC_ADC_R_MIC_GAIN_SFT)
#define ACODEC_ADC_R_MIC_GAIN_20DB (0x2 << ACODEC_ADC_R_MIC_GAIN_SFT)
#define ACODEC_ADC_R_MIC_GAIN_0DB (0x1 << ACODEC_ADC_R_MIC_GAIN_SFT)
#define ACODEC_ADC_IBIAS_SEL_SFT 0
#define ACODEC_ADC_IBIAS_SEL_MSK (0xf << ACODEC_ADC_IBIAS_SEL_SFT)
/* ACODEC_ADC_ANA_CTL3 */
#define ACODEC_ADC_L_MODE_SEL_SFT 6
#define ACODEC_ADC_L_MODE_SEL_MSK (0x3 << ACODEC_ADC_L_MODE_SEL_SFT)
#define ACODEC_ADC_L_FULL_DIFFER2 (0x2 << ACODEC_ADC_L_MODE_SEL_SFT) /* Only used for rv1103 acodec */
#define ACODEC_ADC_L_SINGLE_END (0x1 << ACODEC_ADC_L_MODE_SEL_SFT)
#define ACODEC_ADC_L_FULL_DIFFER (0x0 << ACODEC_ADC_L_MODE_SEL_SFT)
#define ACODEC_ADC_L_MSK (0x1 << 5)
#define ACODEC_ADC_L_EN (0x1 << 5)
#define ACODEC_ADC_L_DIS (0x0 << 5)
#define ACODEC_MIC_L_MSK (0x1 << 4)
#define ACODEC_MIC_L_EN (0x1 << 4)
#define ACODEC_MIC_L_DIS (0x0 << 4)
#define ACODEC_ADC_R_MODE_SEL_SFT 2
#define ACODEC_ADC_R_MODE_SEL_MSK (0x3 << ACODEC_ADC_R_MODE_SEL_SFT)
#define ACODEC_ADC_R_SINGLE_END (0x1 << ACODEC_ADC_R_MODE_SEL_SFT)
#define ACODEC_ADC_R_FULL_DIFFER (0x0 << ACODEC_ADC_R_MODE_SEL_SFT)
#define ACODEC_ADC_R_MSK (0x1 << 1)
#define ACODEC_ADC_R_EN (0x1 << 1)
#define ACODEC_ADC_R_DIS (0x0 << 1)
#define ACODEC_MIC_R_MSK (0x1 << 0)
#define ACODEC_MIC_R_EN (0x1 << 0)
#define ACODEC_MIC_R_DIS (0x0 << 0)
/* ACODEC_ADC_ANA_CTL4 */
#define ACODEC_ADC_L_ALC_GAIN_MAX 0x1f
#define ACODEC_ADC_L_ALC_GAIN_MIN 0
#define ACODEC_ADC_L_ALC_GAIN_SFT 0
#define ACODEC_ADC_L_ALC_GAIN_MSK (0x1f << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_37_5 (0x1f << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_36 (0x1e << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_34_5 (0x1d << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_33 (0x1c << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_31_5 (0x1b << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_30 (0x1a << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_28_5 (0x19 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_27 (0x18 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_25_5 (0x17 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_24 (0x16 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_22_5 (0x15 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_21 (0x14 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_19_5 (0x13 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_18 (0x12 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_16_5 (0x11 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_15 (0x10 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_13_5 (0x0f << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_12 (0x0e << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_10_5 (0x0d << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_9 (0x0c << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_7_5 (0x0b << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_6 (0x0a << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_4_5 (0x09 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_3 (0x08 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_PDB_1_5 (0x07 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_0DB (0x06 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_1_5 (0x05 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_3 (0x04 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_4_5 (0x03 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_6 (0x02 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_7_5 (0x01 << ACODEC_ADC_L_ALC_GAIN_SFT)
#define ACODEC_ADC_L_ALC_GAIN_NDB_9 (0x00 << ACODEC_ADC_L_ALC_GAIN_SFT)
/* ACODEC_ADC_ANA_CTL5 */
#define ACODEC_ADC_R_ALC_GAIN_MAX 0x1f
#define ACODEC_ADC_R_ALC_GAIN_MIN 0
#define ACODEC_ADC_R_ALC_GAIN_SFT 0
#define ACODEC_ADC_R_ALC_GAIN_MSK (0x1f << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_37_5 (0x1f << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_36 (0x1e << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_34_5 (0x1d << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_33 (0x1c << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_31_5 (0x1b << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_30 (0x1a << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_28_5 (0x19 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_27 (0x18 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_25_5 (0x17 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_24 (0x16 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_22_5 (0x15 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_21 (0x14 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_19_5 (0x13 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_18 (0x12 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_16_5 (0x11 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_15 (0x10 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_13_5 (0x0f << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_12 (0x0e << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_10_5 (0x0d << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_9 (0x0c << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_7_5 (0x0b << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_6 (0x0a << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_4_5 (0x09 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_3 (0x08 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_PDB_1_5 (0x07 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_0DB (0x06 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_1_5 (0x05 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_3 (0x04 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_4_5 (0x03 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_6 (0x02 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_7_5 (0x01 << ACODEC_ADC_R_ALC_GAIN_SFT)
#define ACODEC_ADC_R_ALC_GAIN_NDB_9 (0x00 << ACODEC_ADC_R_ALC_GAIN_SFT)
/* ACODEC_ADC_ANA_CTL6 */
#define ACODEC_ADC_L_ALC_MSK (0x1 << 7)
#define ACODEC_ADC_L_ALC_WORK (0x1 << 7)
#define ACODEC_ADC_L_ALC_INIT (0x0 << 7)
#define ACODEC_ADC_L_CLK_MSK (0x1 << 6)
#define ACODEC_ADC_L_CLK_WORK (0x1 << 6)
#define ACODEC_ADC_L_CLK_RST (0x0 << 6)
#define ACODEC_ADC_L_WORK (0x1 << 5)
#define ACODEC_ADC_L_INIT (0x0 << 5)
#define ACODEC_ADC_L_SIGNAL_EN (0x1 << 4)
#define ACODEC_ADC_L_SIGNAL_DIS (0x0 << 4)
#define ACODEC_ADC_R_ALC_MSK (0x1 << 3)
#define ACODEC_ADC_R_ALC_WORK (0x1 << 3)
#define ACODEC_ADC_R_ALC_INIT (0x0 << 3)
#define ACODEC_ADC_R_CLK_MSK (0x1 << 2)
#define ACODEC_ADC_R_CLK_WORK (0x1 << 2)
#define ACODEC_ADC_R_CLK_RST (0x0 << 2)
#define ACODEC_ADC_R_WORK (0x1 << 1)
#define ACODEC_ADC_R_INIT (0x0 << 1)
#define ACODEC_ADC_R_SIGNAL_EN (0x1 << 0)
#define ACODEC_ADC_R_SIGNAL_DIS (0x0 << 0)
/* ACODEC_DAC_ANA_CTL0 */
#define ACODEC_DAC_IBIAS_MSK (0x1 << 7)
#define ACODEC_DAC_IBIAS_EN (0x1 << 7)
#define ACODEC_DAC_IBIAS_DIS (0x0 << 7)
#define ACODEC_DAC_L_REF_VOL_BUF_MSK (0x1 << 6)
#define ACODEC_DAC_L_REF_VOL_BUF_EN (0x1 << 6)
#define ACODEC_DAC_L_REF_VOL_BUF_DIS (0x0 << 6)
#define ACODEC_DAC_L_REF_POP_SOUND_MSK (0x3 << 4)
#define ACODEC_DAC_L_REF_POP_SOUND_WORK (0x2 << 4)
#define ACODEC_DAC_L_REF_POP_SOUND_INIT (0x1 << 4)
#define ACODEC_DAC_L_REF_POP_SOUND_DIS (0x0 << 4)
#define ACODEC_DAC_L_REF_VOL_MSK (0x1 << 3)
#define ACODEC_DAC_L_REF_VOL_EN (0x1 << 3)
#define ACODEC_DAC_L_REF_VOL_DIS (0x0 << 3)
#define ACODEC_DAC_L_CLK_MSK (0x1 << 2)
#define ACODEC_DAC_L_CLK_EN (0x1 << 2)
#define ACODEC_DAC_L_CLK_DIS (0x0 << 2)
#define ACODEC_DAC_SRC_SIGNAL_MSK (0x1 << 1)
#define ACODEC_DAC_SRC_SIGNAL_EN (0x1 << 1)
#define ACODEC_DAC_SRC_SIGNAL_DIS (0x0 << 1)
#define ACODEC_DAC_L_SIGNAL_MSK (0x1 << 0)
#define ACODEC_DAC_L_SIGNAL_WORK (0x1 << 0)
#define ACODEC_DAC_L_SIGNAL_INIT (0x0 << 0)
/* ACODEC_DAC_ANA_CTL1 */
#define ACODEC_DAC_L_LINEOUT_MUTE_MSK (0x1 << 6)
#define ACODEC_DAC_L_LINEOUT_MUTE (0x0 << 6)
#define ACODEC_DAC_L_LINEOUT_WORK (0x1 << 6)
#define ACODEC_DAC_L_LINEOUT_SIGNAL_MSK (0x1 << 5)
#define ACODEC_DAC_L_LINEOUT_SIGNAL_WORK (0x1 << 5)
#define ACODEC_DAC_L_LINEOUT_SIGNAL_INIT (0x0 << 5)
#define ACODEC_DAC_L_LINEOUT_MSK (0x1 << 4)
#define ACODEC_DAC_L_LINEOUT_EN (0x1 << 4)
#define ACODEC_DAC_L_LINEOUT_DIS (0x0 << 4)
#define ACODEC_DAC_DRV_STRENGTH_SFT 0
#define ACODEC_DAC_DRV_STRENGTH_MSK (0xf << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_20_4 (0x8 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_22_7 (0x7 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_25_7 (0x6 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_29_7 (0x5 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_35_5 (0x4 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_44_2 (0x3 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_60_1 (0x2 << ACODEC_DAC_DRV_STRENGTH_SFT)
#define ACODEC_DAC_DRV_STRENGTH_100 (0x1 << ACODEC_DAC_DRV_STRENGTH_SFT)
/* ACODEC_DAC_ANA_CTL2 */
#define ACODEC_DAC_LINEOUT_GAIN_MAX 0x1e
#define ACODEC_DAC_LINEOUT_GAIN_MIN 0
#define ACODEC_DAC_LINEOUT_GAIN_SFT 0
#define ACODEC_DAC_LINEOUT_GAIN_MSK (0x1f << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_PDB_6_0 (0x1f << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_PDB_6 (0x1e << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_PDB_4_5 (0x1d << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_PDB_3 (0x1c << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_PDB_1_5 (0x1b << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_0DB (0x1a << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_1_5 (0x19 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_3 (0x18 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_4_5 (0x17 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_6 (0x16 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_7_5 (0x15 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_9 (0x14 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_10_5 (0x13 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_12 (0x12 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_13_5 (0x11 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_15 (0x10 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_16_5 (0x0f << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_18 (0x0e << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_19_5 (0x0d << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_21 (0x0c << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_22_5 (0x0b << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_24 (0x0a << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_25_5 (0x09 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_27 (0x08 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_28_5 (0x07 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_30 (0x06 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_31_5 (0x05 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_33 (0x04 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_34_5 (0x03 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_36 (0x02 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_37_5 (0x01 << ACODEC_DAC_LINEOUT_GAIN_SFT)
#define ACODEC_DAC_LINEOUT_GAIN_NDB_39 (0x00 << ACODEC_DAC_LINEOUT_GAIN_SFT)
/* ACODEC_DAC_HPMIX_CTL */
#define ACODEC_DAC_HPMIX_MSK (0x1 << 7)
#define ACODEC_DAC_HPMIX_EN (0x1 << 7)
#define ACODEC_DAC_HPMIX_DIS (0x0 << 7)
#define ACODEC_DAC_HPMIX_GAIN_SFT 5
#define ACODEC_DAC_HPMIX_GAIN_MAX 2
#define ACODEC_DAC_HPMIX_GAIN_MIN 1
#define ACODEC_DAC_HPMIX_GAIN_MSK (0x3 << ACODEC_DAC_HPMIX_GAIN_SFT)
#define ACODEC_DAC_HPMIX_GAIN_6DB (0x2 << ACODEC_DAC_HPMIX_GAIN_SFT)
#define ACODEC_DAC_HPMIX_GAIN_0DB (0x1 << ACODEC_DAC_HPMIX_GAIN_SFT)
#define ACODEC_DAC_HPMIX_MDL_MSK (0x1 << 4)
#define ACODEC_DAC_HPMIX_MDL_WORK (0x1 << 4)
#define ACODEC_DAC_HPMIX_MDL_INIT (0x0 << 4)
#define ACODEC_DAC_HPMIX_MUTE_MSK (0x1 << 3)
#define ACODEC_DAC_HPMIX_WORK (0x1 << 3)
#define ACODEC_DAC_HPMIX_MUTE (0x0 << 3)
#define ACODEC_DAC_HPMIX_SEL_SFT 0
#define ACODEC_DAC_HPMIX_SEL_MSK (0x7 << ACODEC_DAC_HPMIX_SEL_SFT)
#define ACODEC_DAC_HPMIX_ADCR (0x4 << ACODEC_DAC_HPMIX_SEL_SFT)
#define ACODEC_DAC_HPMIX_ADCL (0x2 << ACODEC_DAC_HPMIX_SEL_SFT)
#define ACODEC_DAC_HPMIX_I2S (0x1 << ACODEC_DAC_HPMIX_SEL_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL0 */
#define ACODEC_GAIN_ATTACK_MSK (1 << 6)
#define ACODEC_GAIN_ATTACK_JACK (1 << 6)
#define ACODEC_GAIN_ATTACK_NORMAL (0 << 6)
#define ACODEC_CTRL_GEN_SFT 4
#define ACODEC_CTRL_GEN_MSK (0x3 << ACODEC_ALC_CTRL_GEN_SFT)
#define ACODEC_CTRL_GEN_JACK3 (0x3 << ACODEC_ALC_CTRL_GEN_SFT)
#define ACODEC_CTRL_GEN_JACK2 (0x2 << ACODEC_ALC_CTRL_GEN_SFT)
#define ACODEC_CTRL_GEN_JACK1 (0x1 << ACODEC_ALC_CTRL_GEN_SFT)
#define ACODEC_CTRL_GEN_NORMAL (0x0 << ACODEC_ALC_CTRL_GEN_SFT)
#define ACODEC_AGC_HOLD_TIME_SFT 0
#define ACODEC_AGC_HOLD_TIME_MSK (0xf << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_1S (0xa << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_512MS (0x9 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_256MS (0x8 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_128MS (0x7 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_64MS (0x6 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_32MS (0x5 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_16MS (0x4 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_8MS (0x3 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_4MS (0x2 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_2MS (0x1 << ACODEC_AGC_HOLD_TIME_SFT)
#define ACODEC_AGC_HOLD_TIME_0MS (0x0 << ACODEC_AGC_HOLD_TIME_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL1 */
#define ACODEC_AGC_DECAY_TIME_SFT 4
/* Normal mode (reg_agc_mode = 0) */
#define ACODEC_AGC_DECAY_NORMAL_MSK (0xf << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_512MS (0xa << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_256MS (0x9 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_128MS (0x8 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_64MS (0x7 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_32MS (0x6 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_16MS (0x5 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_8MS (0x4 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_4MS (0x3 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_2MS (0x2 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_1MS (0x1 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_NORMAL_0MS (0x0 << ACODEC_AGC_DECAY_TIME_SFT)
/* Limiter mode (reg_agc_mode = 1) */
#define ACODEC_AGC_DECAY_LIMITER_MSK (0xf << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_128MS (0xa << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_64MS (0x9 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_32MS (0x8 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_16MS (0x7 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_8MS (0x6 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_4MS (0x5 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_2MS (0x4 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_1MS (0x3 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_500US (0x2 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_250US (0x1 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_DECAY_LIMITER_125US (0x0 << ACODEC_AGC_DECAY_TIME_SFT)
#define ACODEC_AGC_ATTACK_TIME_SFT 0
/* Normal mode (reg_agc_mode = 0) */
#define ACODEC_AGC_ATTACK_NORMAL_MSK (0xf << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_128MS (0xa << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_64MS (0x9 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_32MS (0x8 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_16MS (0x7 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_8MS (0x6 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_4MS (0x5 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_2MS (0x4 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_1MS (0x3 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_500US (0x2 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_250US (0x1 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_NORMAL_125US (0x0 << ACODEC_AGC_ATTACK_TIME_SFT)
/* Limiter mode (reg_agc_mode = 1) */
#define ACODEC_AGC_ATTACK_LIMITER_MSK (0xf << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_32MS (0xa << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_16MS (0x9 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_8MS (0x8 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_4MS (0x7 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_2MS (0x6 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_1MS (0x5 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_500US (0x4 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_250US (0x3 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_125US (0x2 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_64US (0x1 << ACODEC_AGC_ATTACK_TIME_SFT)
#define ACODEC_AGC_ATTACK_LIMITER_32US (0x0 << ACODEC_AGC_ATTACK_TIME_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL2 */
#define ACODEC_AGC_MODE_LIMITER (0x1 << 7)
#define ACODEC_AGC_MODE_NORMAL (0x0 << 7)
#define ACODEC_AGC_ZERO_CRO_EN (0x1 << 6)
#define ACODEC_AGC_ZERO_CRO_DIS (0x0 << 6)
#define ACODEC_AGC_AMP_RECOVER_GAIN (0x1 << 5)
#define ACODEC_AGC_AMP_RECOVER_LVOL (0x0 << 5)
#define ACODEC_AGC_FAST_DEC_EN (0x1 << 4)
#define ACODEC_AGC_FAST_DEC_DIS (0x0 << 4)
#define ACODEC_AGC_NOISE_GATE_EN (0x1 << 3)
#define ACODEC_AGC_NOISE_GATE_DIS (0x0 << 3)
#define ACODEC_AGC_NOISE_GATE_THRESH_SFT 0
#define ACODEC_AGC_NOISE_GATE_THRESH_MSK (0x7 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N81DB (0x7 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N75DB (0x6 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N69DB (0x5 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N63DB (0x4 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N57DB (0x3 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N51DB (0x2 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N45DB (0x1 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
#define ACODEC_AGC_NOISE_GATE_THRESH_N39DB (0x0 << ACODEC_AGC_NOISE_GATE_THRESH_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL3 */
#define ACODEC_AGC_PGA_ZERO_CRO_EN (0x1 << 5)
#define ACODEC_AGC_PGA_ZERO_CRO_DIS (0x0 << 5)
#define ACODEC_AGC_PGA_GAIN_MAX 0x1f
#define ACODEC_AGC_PGA_GAIN_MIN 0
#define ACODEC_AGC_PGA_GAIN_SFT 0
#define ACODEC_AGC_PGA_GAIN_MSK (0x1f << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_28_5 (0x1f << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_27 (0x1e << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_25_5 (0x1d << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_24 (0x1c << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_22_5 (0x1b << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_21 (0x1a << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_19_5 (0x19 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_18 (0x18 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_16_5 (0x17 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_15 (0x16 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_13_5 (0x15 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_12 (0x14 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_10_5 (0x13 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_9 (0x12 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_7_5 (0x11 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_6 (0x10 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_4_5 (0x0f << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_3 (0x0e << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_PDB_1_5 (0x0d << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_0DB (0x0c << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_1_5 (0x0b << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_3 (0x0a << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_4_5 (0x09 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_6 (0x08 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_7_5 (0x07 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_9 (0x06 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_10_5 (0x05 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_12 (0x04 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_13_5 (0x03 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_15 (0x02 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_16_5 (0x01 << ACODEC_AGC_PGA_GAIN_SFT)
#define ACODEC_AGC_PGA_GAIN_NDB_18 (0x00 << ACODEC_AGC_PGA_GAIN_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL4 */
#define ACODEC_AGC_SLOW_CLK_EN (0x1 << 3)
#define ACODEC_AGC_SLOW_CLK_DIS (0x0 << 3)
#define ACODEC_AGC_APPROX_RATE_SFT 0
#define ACODEC_AGC_APPROX_RATE_MSK (0x7 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_8K (0x7 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_12K (0x6 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_16K (0x5 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_24K (0x4 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_32K (0x3 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_44_1K (0x2 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_48K (0x1 << ACODEC_AGC_APPROX_RATE_SFT)
#define ACODEC_AGC_APPROX_RATE_96K (0x0 << ACODEC_AGC_APPROX_RATE_SFT)
/* ACODEC_ADC_PGA_AGC_L_CTL5 */
#define ACODEC_AGC_LO_8BITS_AGC_MAX_MSK 0xff
/* ACODEC_ADC_PGA_AGC_L_CTL6 */
#define ACODEC_AGC_HI_8BITS_AGC_MAX_MSK 0xff
/* ACODEC_ADC_PGA_AGC_L_CTL7 */
#define ACODEC_AGC_LO_8BITS_AGC_MIN_MSK 0xff
/* ACODEC_ADC_PGA_AGC_L_CTL8 */
#define ACODEC_AGC_HI_8BITS_AGC_MIN_MSK 0xff
/* ACODEC_ADC_PGA_AGC_L_CTL9 */
#define ACODEC_AGC_FUNC_SEL_MSK (0x1 << 6)
#define ACODEC_AGC_FUNC_SEL_EN (0x1 << 6)
#define ACODEC_AGC_FUNC_SEL_DIS (0x0 << 6)
#define ACODEC_AGC_MAX_GAIN_PGA_MAX 0x7
#define ACODEC_AGC_MAX_GAIN_PGA_MIN 0
#define ACODEC_AGC_MAX_GAIN_PGA_SFT 3
#define ACODEC_AGC_MAX_GAIN_PGA_MSK (0x7 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_PDB_28_5 (0x7 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_PDB_22_5 (0x6 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_PDB_16_5 (0x5 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_PDB_10_5 (0x4 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_PDB_4_5 (0x3 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_NDB_1_5 (0x2 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_NDB_7_5 (0x1 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MAX_GAIN_PGA_NDB_13_5 (0x0 << ACODEC_AGC_MAX_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_MAX 0x7
#define ACODEC_AGC_MIN_GAIN_PGA_MIN 0
#define ACODEC_AGC_MIN_GAIN_PGA_SFT 0
#define ACODEC_AGC_MIN_GAIN_PGA_MSK (0x7 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_PDB_24 (0x7 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_PDB_18 (0x6 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_PDB_12 (0x5 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_PDB_6 (0x4 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_0DB (0x3 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_NDB_6 (0x2 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_NDB_12 (0x1 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_AGC_MIN_GAIN_PGA_NDB_18 (0x0 << ACODEC_AGC_MIN_GAIN_PGA_SFT)
#define ACODEC_HIFI 0x0
#endif /* __RV1106_CODEC_H__ */