blob: c133fb17631fd13d92c526f84fa864941f89f578 [file] [log] [blame]
/*
* aml_codec_tl1_acodec.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _TL1_ACODEC_H
#define _TL1_ACODEC_H
#define DEV_NAME "tl1_acodec"
/* AML TL1 CODEC register space (in decimal to match datasheet) */
//#define ACODEC_BASE_ADD 0xFF632000
#define ACODEC_TOP_ADDR(x) (x)
/* AML TL1 CODEC register define */
#define ACODEC_0 ACODEC_TOP_ADDR(0x00)
#define ACODEC_1 ACODEC_TOP_ADDR(0x04)
#define ACODEC_2 ACODEC_TOP_ADDR(0x08)
#define ACODEC_3 ACODEC_TOP_ADDR(0x0c)
#define ACODEC_4 ACODEC_TOP_ADDR(0x10)
#define ACODEC_5 ACODEC_TOP_ADDR(0x14)
#define ACODEC_6 ACODEC_TOP_ADDR(0x18)
#define ACODEC_7 ACODEC_TOP_ADDR(0x1C)
/* AML TL1 CODEC register-bitfield define */
// bitfield def of ACODEC_0
#define MCLK_FREQ 31
#define I2S_MODE 30
#define ADC_HPF_EN 29
#define ADC_HPF_MODE 28
#define ADC_OVERLOAD_DET_EN 27
#define ADC_DEM_EN 26
#define ADC_CLK_TO_GPIO_EN 25
#define DAC_CLK_TO_GPIO_EN 24
#define DACL_DATA_SOURCE 23
#define DACR_DATA_SOURCE 22
#define DACL_INV 21
#define DACR_INV 20
#define ADCDATL_SOURCE 19
#define ADCDATR_SOURCE 18
#define ADCL_INV 17
#define ADCR_INV 16
#define VMID_GEN_EN 15
#define VMID_GEN_FAST 14
#define BIAS_CURRENT_EN 13
#define REFP_BUF_EN 12
#define PGAL_IN_EN 11
#define PGAR_IN_EN 10
#define PGAL_IN_ZC_EN 9
#define PGAR_IN_ZC_EN 8
#define ADCL_EN 7
#define ADCR_EN 6
//#define DACL_EN 5
//#define DACR_EN 4
#define LO1L_EN 3
#define LO1R_EN 2
#define LO2L_EN 1
#define LO2R_EN 0
// bitfield def of ACODEC_1
#define REG_DAC_GAIN_SEL_1 31
#define ADCL_VC 24 /* bit 30-24 */
#define REG_DAC_GAIN_SEL_0 23
#define ADCR_VC 16 /* bit 22-16 */
#define PGAL_IN_SEL 13 /* bit 15-13 */
#define PGAL_IN_GAIN 8 /* bit 12-8 */
#define PGAR_IN_SEL 5 /* bit 7-5 */
#define PGAR_IN_GAIN 0 /* bit 4-0 */
// bitfield def of ACODEC_2
#define DACL_VC 24 /* bit 31-24 */
#define DACR_VC 16 /* bit 23-16 */
#define DAC_SOFT_MUTE 15
#define DAC_UNMUTE_MODE 14
#define DAC_MUTE_MODE 13
#define DAC_VC_RAMP_MODE 12
#define DAC_RAMP_RATE 10 /* bit 11-10 */
#define DAC_MONO 8
#define MUTE_DAC_PD_EN 7
// bitfield def of ACODEC_3
#define REG_MICBIAS_EN 31
#define REG_MICBIAS_SEL 29 /* bit 29, 30 */
//#define REG_ANA_RESERVED 16 /* bit 16 ~ 28 */
#define LO1L_SEL_DAC1R_INV 14
#define LO1L_SEL_DAC1L 13
#define LO1L_SEL_INL 12
#define LO1R_SEL_DAC1L_INV 10
#define LO1R_SEL_DAC1R 9
#define LO1R_SEL_INR 8
#define LO2L_SEL_DAC2R_INV 6
#define LO2L_SEL_DAC2L 5
#define LO2L_SEL_INL 4
#define LO2R_SEL_DAC2L_INV 2
#define LO2R_SEL_DAC2R 1
#define LO2R_SEL_INR 0
// bitfield def of ACODEC_4
#define MUTE_DAC_WHEN_POWER_DOWN 31
#define IB_CON 16 /* bit 16, 17 */
#define REG_ADCL_SAT_SEL 2 /* bit 2, 3 */
#define REG_ADCR_SAT_SEL 0 /* bit 0, 1 */
// bitfield def of ACODEC_5
#define DAC2L_VC 24 /* bit 24~31 */
#define DAC2R_VC 16 /* bit 16~23 */
#define DAC2L_EN 5
#define DAC2R_EN 4
#define DACL_EN 1
#define DACR_EN 0
// bitfield def of ACODEC_6
#define DAC2_SOFT_MUTE 31
#define DAC2_UNMUTE_MODE 30
#define DAC2_MUTE_MODE 29
#define DAC2_VC_RAMP_MODE 28
#define DAC2_RAMP_RATE 26 /* bit 27-26 */
#define DAC2_MONO 24
#define MUTE_DAC2_PD_EN 23
#define DAC2_CLK_TO_GPIO_EN 8
#define DAC2L_DATA_SOURCE 7
#define DAC2R_DATA_SOURCE 6
#define DAC2L_INV 5
#define DAC2R_INV 4
// bitfield def of ACODEC_7
#define DEBUG_BUS_SEL 16 /* bit 16~18 */
#define REG_DAC2_GAIN_SEL_1 15
#define REG_DAC2_GAIN_SEL_0 7
#endif /*_TL1_ACODEC_H*/