120 lines
3.5 KiB
C
120 lines
3.5 KiB
C
|
/*
|
||
|
* extdrv/peripheral/ada/tlv320.h for Linux .
|
||
|
*
|
||
|
* History:
|
||
|
* 10-April-2006 create this file
|
||
|
*/
|
||
|
|
||
|
#ifndef _INC_TLV320AIC31
|
||
|
#define _INC_TLV320AIC31
|
||
|
|
||
|
#define IN2LR_2_LEFT_ADC_CTRL 0x0
|
||
|
#define IN2LR_2_RIGTH_ADC_CTRL 0x1
|
||
|
#define IN1L_2_LEFT_ADC_CTRL 0x2
|
||
|
#define IN1R_2_RIGHT_ADC_CTRL 0x3
|
||
|
#define PGAL_2_HPLOUT_VOL_CTRL 0x4
|
||
|
#define PGAR_2_HPLOUT_VOL_CTRL 0x5
|
||
|
#define DACL1_2_HPLOUT_VOL_CTRL 0x6
|
||
|
#define DACR1_2_HPLOUT_VOL_CTRL 0x7
|
||
|
#define HPLOUT_OUTPUT_LEVEL_CTRL 0x8
|
||
|
#define PGAL_2_HPLCOM_VOL_CTRL 0x9
|
||
|
#define PGAR_2_HPLCOM_VOL_CTRL 0xa
|
||
|
#define DACL1_2_HPLCOM_VOL_CTRL 0xb
|
||
|
#define DACR1_2_HPLCOM_VOL_CTRL 0xc
|
||
|
#define HPLCOM_OUTPUT_LEVEL_CTRL 0xd
|
||
|
#define PGAR_2_HPROUT_VOL_CTRL 0xf
|
||
|
#define DACR1_2_HPROUT_VOL_CTRL 0x10
|
||
|
#define HPROUT_OUTPUT_LEVEL_CTRL 0x11
|
||
|
#define PGAR_2_HPRCOM_VOL_CTRL 0x12
|
||
|
#define DACR1_2_HPRCOM_VOL_CTRL 0X13
|
||
|
#define HPRCOM_OUTPUT_LEVEL_CTRL 0x14
|
||
|
#define PGAL_2_LEFT_LOP_VOL_CTRL 0x15
|
||
|
#define DACL1_2_LEFT_LOP_VOL_CTRL 0x16
|
||
|
#define LEFT_LOP_OUTPUT_LEVEL_CTRL 0x17
|
||
|
#define PGAR_2_RIGHT_LOP_VOL_CTRL 0x18
|
||
|
#define DACR1_2_RIGHT_LOP_VOL_CTRL 0x19
|
||
|
#define RIGHT_LOP_OUTPUT_LEVEL_CTRL 0x20
|
||
|
#define SET_ADC_SAMPLE 0x21
|
||
|
#define SET_DAC_SAMPLE 0x22
|
||
|
#define SET_DATA_LENGTH 0x23
|
||
|
#define SET_CTRL_MODE 0x24
|
||
|
#define LEFT_DAC_VOL_CTRL 0x25
|
||
|
#define RIGHT_DAC_VOL_CTRL 0x26
|
||
|
#define LEFT_DAC_POWER_SETUP 0x27
|
||
|
#define RIGHT_DAC_POWER_SETUP 0x28
|
||
|
#define DAC_OUT_SWITCH_CTRL 0x29
|
||
|
#define LEFT_ADC_PGA_CTRL 0x30
|
||
|
#define RIGHT_ADC_PGA_CTRL 0x31
|
||
|
#define TLV320AIC31_REG_DUMP 0x32
|
||
|
#define SOFT_RESET 0x33
|
||
|
#define SET_TRANSFER_MODE 0x34
|
||
|
#define SET_SERIAL_DATA_OFFSET 0X35
|
||
|
|
||
|
/*
|
||
|
0: ADC Fs = Fsref/1 48 44
|
||
|
1: ADC Fs = Fsref/1.5 32
|
||
|
2: ADC Fs = Fsref/2 24 22
|
||
|
3: ADC Fs = Fsref/2.5 20
|
||
|
4: ADC Fs = Fsref/3 16
|
||
|
5: ADC Fs = Fsref/3.5 13.7
|
||
|
6: ADC Fs = Fsref/4 12 11
|
||
|
7: ADC Fs = Fsref/4.5 10.6
|
||
|
8: ADC Fs = Fsref/5 9.6
|
||
|
9: ADC Fs = Fsref/5.5
|
||
|
a: ADC Fs = Fsref / 6 8
|
||
|
*/
|
||
|
#define AC31_SET_8K_SAMPLERATE 0xa
|
||
|
#define AC31_SET_12K_SAMPLERATE 0x6
|
||
|
#define AC31_SET_16K_SAMPLERATE 0x4
|
||
|
#define AC31_SET_24K_SAMPLERATE 0x2
|
||
|
#define AC31_SET_32K_SAMPLERATE 0x1
|
||
|
#define AC31_SET_48K_SAMPLERATE 0x0
|
||
|
|
||
|
#define AC31_SET_11_025K_SAMPLERATE 0x6
|
||
|
#define AC31_SET_22_05K_SAMPLERATE 0x2
|
||
|
#define AC31_SET_44_1K_SAMPLERATE 0x0
|
||
|
|
||
|
#define AC31_SET_SLAVE_MODE 0
|
||
|
#define AC31_SET_MASTER_MODE 1
|
||
|
|
||
|
#define AC31_SET_16BIT_WIDTH 0
|
||
|
#define AC31_SET_20BIT_WIDTH 1
|
||
|
#define AC31_SET_24BIT_WIDTH 2
|
||
|
#define AC31_SET_32BIT_WIDTH 3
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef enum Audio_In_
|
||
|
{
|
||
|
IN1L = 0,
|
||
|
IN1R = 1,
|
||
|
IN2L = 2,
|
||
|
IN2R = 3,
|
||
|
} Audio_In;
|
||
|
typedef enum Audio_Out_
|
||
|
{
|
||
|
LINE_OUT_R = 0,
|
||
|
LINE_OUT_L,
|
||
|
HPL,
|
||
|
HPR,
|
||
|
} Audio_Out;
|
||
|
typedef struct
|
||
|
{
|
||
|
unsigned int chip_num: 3;
|
||
|
unsigned int audio_in_out: 2;
|
||
|
unsigned int if_mute_route: 1;
|
||
|
unsigned int if_powerup: 1;
|
||
|
unsigned int input_level: 7;
|
||
|
unsigned int sample: 4;
|
||
|
unsigned int if_44100hz_series: 1;
|
||
|
unsigned int data_length: 2;
|
||
|
unsigned int ctrl_mode: 1;
|
||
|
unsigned int dac_path: 2;
|
||
|
unsigned int trans_mode: 2;
|
||
|
unsigned int reserved : 6;
|
||
|
unsigned int data_offset: 8;
|
||
|
unsigned int sampleRate;
|
||
|
} Audio_Ctrl;
|
||
|
#endif
|