⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsc_regs.h

📁 为TI的TSC2301音频芯片所设计的嵌入式linux驱动程序源代码
💻 H
字号:
// Developped for TI's TSC2301
// 20SEP02 
// Copyright (c) 2002, 2003, Texas Instruments


#define TSC_CMD_READ	0x8000
#define TSC_CMD_WRITE	0x0000

// Control Registers
#define TSC_CMD_ADC		0x0800	
#define TSC_CMD_KEY		0x0820
#define TSC_CMD_DACCTL	0x0840
#define TSC_CMD_REF		0x0860
#define TSC_CMD_RESET	0x0880
#define TSC_CMD_CFG		0x08A0
#define TSC_CMD_KPMASK	0x0A00

#define TSC_CMD_CFG_2	0x08C0



// Data Registers
#define TSC_CMD_X		0x0000
#define TSC_CMD_Y		0x0020
#define TSC_CMD_Z1		0x0040
#define TSC_CMD_Z2		0x0060
#define TSC_CMD_KPDATA	0x0080
#define TSC_CMD_BAT1	0x00A0
#define TSC_CMD_BAT2	0x00C0
#define TSC_CMD_AUX1	0x00E0
#define TSC_CMD_AUX2	0x0100
#define TSC_CMD_TEMP1	0x0120
#define TSC_CMD_TEMP2	0x0140
#define TSC_CMD_DACDATA	0x0160
#define TSC_CMD_ZERO	0x0200


// Bg 18JUL02  Audio registers
#define TSC_AUDIO_CONTROL		0x1000
#define TSC_AUDIO_ADC_VOLUME	0x1020
#define TSC_AUDIO_DAC_VOLUME	0x1040
#define TSC_AUDIO_BYPASS		0x1060
#define TSC_AUDIO_KEYCLICK		0x1080
#define TSC_AUDIO_POWER			0x10A0
#define TSC_AUDIO_GPIO			0x10C0


// A/D Converter Control Register
// ControlMode
#define    ADC_PSM_HOST		0x0000			
#define    ADC_PSM_TSC2200	0x8000

// ConvCtl
#define	ADC_STS_NORMAL	0x0000
#define	ADC_STS_STOP	0x4000

// ADFunction
#define ADC_AD_INVALID		0x0000
#define	ADC_AD_XY_SCAN		0x0400
#define ADC_AD_XYZ_SCAN		0x0800
#define ADC_AD_X_SCAN		0x0C00
#define ADC_AD_Y_SCAN		0x1000
#define ADC_AD_Z_SCAN		0x1400
#define ADC_AD_BAT1_CONV	0x1800
#define ADC_AD_BAT2_CONV	0x1C00
#define ADC_AD_AUX1_CONV	0x2000
#define ADC_AD_AUX2_CONV	0x2400
#define ADC_AD_TEMP1_CONV	0x2800
#define ADC_AD_PORT_SCAN	0x2C00
#define ADC_AD_TEMP2_CONV	0x3000
#define ADC_AD_X_DRIVER		0x3400
#define ADC_AD_Y_DRIVER		0x3800
#define ADC_AD_Z_DRIVER		0x3C00

// ADResolution
#define ADC_RS_EIGHT	0x0100
#define ADC_RS_TEN		0x0200
#define ADC_RS_TWELVE	0x0300

// ADAvgs
#define ADC_AV_ZERO		0x0000
#define ADC_AV_FOUR		0x0040
#define ADC_AV_EIGHT	0x0080
#define ADC_AV_SIXTEEN	0x00C0

// ConvClock
#define ADC_CL_8	0x0000
#define ADC_CL_4	0x0010
#define ADC_CL_2	0x0020
#define ADC_CL_1	0x0030
 
// PVSTime
#define ADC_PV_0		0x0000	
#define ADC_PV_100_US	0x0002
#define ADC_PV_500_US	0x0004
#define ADC_PV_1_MS		0x0006
#define ADC_PV_5_MS		0x0008
#define ADC_PV_10_MS	0x000A
#define ADC_PV_50_MS	0x000C
#define ADC_PV_100_MS	0x000E

// DAC CONTROL REGISTER
// Power Down
#define DAC_ON		0x0000
#define DAC_OFF		0x8000

// REFERNECE REGISTER
// Internal Reference Mode
#define REF_INT_EXTERNAL 0x0000
#define REF_INT_INTERNAL 0x0010

// Power-Up Delay Reference
#define REF_DL_0_US		0x0000
#define REF_DL_100_US	0x0006
#define REF_DL_500_US	0x0008
#define REF_DL_1_MS		0x000C

// Power Down Reference - whether or not the internal reference is power down in between conversions
#define REF_PDN_ON		0x0000
#define REF_PDN_OFF		0x0002

// Reference Volatage Control
#define REF_RFV_125	0x0000
#define REF_RFV_250	0x0001


// Configuration Control Register
// Precharge Time
#define CFG_PRE_20		0x0000
#define CFG_PRE_84		0x0008
#define CFG_PRE_276		0x0010
#define CFG_PRE_340		0x0018
#define CFG_PRE_1044	0x0020
#define CFG_PRE_1108	0x0028
#define CFG_PRE_1300	0x0030
#define CFG_PRE_1364	0x0038


// Sense Time
#define CFG_SNS_32		0x0000
#define CFG_SNS_96		0x0001
#define CFG_SNS_544		0x0002
#define CFG_SNS_608		0x0003
#define CFG_SNS_2080	0x0004
#define CFG_SNS_2144	0x0005
#define CFG_SNS_2592	0x0006
#define CFG_SNS_2656	0x0007

// Keypad Control Register
// Keyboard Status
#define KEY_STC_NO		0x0000
#define KEY_STC_YES		0x8000

// Scan Status
#define KEY_SCS_BUSY	0x0000
#define KEY_SCS_DONE	0x4000
#define KEY_SCS_NORMAL	0x0000
#define KEY_SCS_STOP	0x4000

//De-bounce Control
#define KEY_DB_2	0x0000
#define KEY_DB_10	0x0800
#define KEY_DB_20	0x1000
#define KEY_DB_50	0x1800
#define KEY_DB_60	0x2000
#define KEY_DB_80	0x2800
#define KEY_DB_100	0x3000
#define KEY_DB_120	0x3800


// Keypad Mask Register
#define KPMASK_ALL	0x0000
#define KPMASK_M0	0x0001
#define KPMASK_M1	0x0002
#define KPMASK_M2	0x0004
#define KPMASK_M3	0x0008
#define KPMASK_M4	0x0010
#define KPMASK_M5	0x0020
#define KPMASK_M6	0x0040
#define KPMASK_M7	0x0080
#define KPMASK_M8	0x0100
#define KPMASK_M9	0x0200
#define KPMASK_M10	0x0400
#define KPMASK_M11	0x0800
#define KPMASK_M12	0x1000
#define KPMASK_M13	0x2000
#define KPMASK_M14	0x4000
#define KPMASK_M15	0x8000


//Reset Register
#define RESET_RESET	0xBBFF




// Bg JULY 02
// Audio register define
// Audio Control Reg
#define AUD_CTRL_HPF_DISABLED	0x0000
#define AUD_CTRL_HPF_19Fs	0x4000
#define AUD_CTRL_HPF_78Fs	0x8000
#define AUD_CTRL_HPF_1Fs	0xC000

#define AUD_CTRL_L_MPX_MIC		0x0000
#define AUD_CTRL_L_MPX_AUXL		0x1000
#define AUD_CTRL_L_MPX_AUXR		0x2000
#define AUD_CTRL_L_MPX_AUXMIX	0x3000

#define AUD_CTRL_R_MPX_MIC		0x0000
#define AUD_CTRL_R_MPX_AUXL		0x0400
#define AUD_CTRL_R_MPX_AUXR		0x0800
#define AUD_CTRL_R_MPX_AUXMIX	0x0C00


#define AUD_CTRL_MIC_GAIN_0dB	0x0000
#define AUD_CTRL_MIC_GAIN_6dB	0x0200
#define AUD_CTRL_MIC_GAIN_12dB	0x0300

#define AUD_CTRL_MCLK_256	0x0000
#define AUD_CTRL_MCLK_384	0x0040
#define AUD_CTRL_MCLK_512	0x0080


#define AUD_CTRL_I2SFS_48	0x0000
#define AUD_CTRL_I2SFS_44	0x0004
#define AUD_CTRL_I2SFS_32	0x0008
#define AUD_CTRL_I2SFS_24	0x000C
#define AUD_CTRL_I2SFS_22	0x0010
#define AUD_CTRL_I2SFS_16	0x0014
#define AUD_CTRL_I2SFS_12	0x0018
#define AUD_CTRL_I2SFS_11	0x001C
#define AUD_CTRL_I2SFS_8	0x0020


#define AUD_CTRL_I2S_FMT_16BIT_LR	0x0000
#define AUD_CTRL_I2S_FMT_20BIT_LR	0x0001
#define AUD_CTRL_I2S_FMT_20BIT_LL	0x0002
#define AUD_CTRL_I2S_FMT_20BIT_I2S	0x0003


#define ADC_VOL_L_ACTIVE	0x0000
#define ADC_VOL_L_MUTE		0x8000

#define ADC_VOL_R_ACTIVE	0x0000
#define ADC_VOL_R_MUTE		0x0080

#define DAC_VOL_L_ACTIVE	0x0000
#define DAC_VOL_L_MUTE		0x8000

#define DAC_VOL_R_ACTIVE	0x0000
#define DAC_VOL_R_MUTE		0x0080

#define BYPASS_VOL_L_ACTIVE	0x0000
#define BYPASS_VOL_L_MUTE	0x8000

#define BYPASS_VOL_R_ACTIVE	0x0000
#define BYPASS_VOL_R_MUTE	0x0080


#define KEYCLICK_CLEAR	0x0000
#define KEYCLICK_SOUND	0x8000

#define KEYCLICK_AMP_MIN	0x0000
#define KEYCLICK_AMP_MED	0x4000
#define KEYCLICK_AMP_MAX	0x7000

#define KEYCLICK_FREQ_62Hz	0x0000
#define KEYCLICK_FREQ_215Hz	0x0100
#define KEYCLICK_FREQ_150Hz	0x0200
#define KEYCLICK_FREQ_500Hz	0x0300
#define KEYCLICK_FREQ_1kHz	0x0400
#define KEYCLICK_FREQ_2kHz	0x0500
#define KEYCLICK_FREQ_4kHz	0x0600
#define KEYCLICK_FREQ_8kHz	0x0700

#define KEYCLICK_LEN_2	0x0000
#define KEYCLICK_LEN_4	0x0010
#define KEYCLICK_LEN_6	0x0020
#define KEYCLICK_LEN_8	0x0030
#define KEYCLICK_LEN_32	0x00F0

#define KEYCLICK_MONO_ADC	0x0000
#define KEYCLICK_MONO_DAC	0x0004

#define KEYCLICK_SSRTE_NORMAL	0x0000
#define KEYCLICK_SSRTE_DOUBLE	0x0002

#define KEYCLICK_SSTEP_BUSY	0x0000
#define KEYCLICK_SSTEP_IDLE	0x0001


#define AUD_POWER_APD_DN	0x8000
#define AUD_POWER_APD_UP	0x0000

#define AUD_POWER_AVPD_AUTO	0x4000
#define AUD_POWER_AVPD_UP	0x0000

#define AUD_POWER_ABPD_DN	0x2000
#define AUD_POWER_ABPD_UP	0x0000

#define AUD_POWER_HAPD_DN	0x1000
#define AUD_POWER_HAPD_UP	0x0000

#define AUD_POWER_MOPD_DN	0x0800
#define AUD_POWER_MOPD_UP	0x0000

#define AUD_POWER_DAPD_DN	0x0400
#define AUD_POWER_DAPD_UP	0x0000

#define AUD_POWER_ADPDL_DN	0x0200
#define AUD_POWER_ADPDL_UP	0x0000

#define AUD_POWER_ADPDR_DN	0x0100
#define AUD_POWER_ADPDR_UP	0x0000

#define AUD_POWER_PDSTS_DONE	0x0080
#define AUD_POWER_PDSTS_BUSY	0x0000

#define AUD_POWER_MIBPD_DN	0x0040
#define AUD_POWER_MIBPD_UP	0x0000

#define AUD_POWER_OSCC_ON	0x0020
#define AUD_POWER_OSCC_OFF	0x0000

#define AUD_POWER_BCKC_ON	0x0010
#define AUD_POWER_BCKC_OFF	0x0000

#define AUD_POWER_SMPD_DN	0x0008
#define AUD_POWER_SMPD_UP	0x0000

#define AUD_POWER_OTSYN_ERR	0x0004
#define AUD_POWER_OTSYN_OK	0x0000

#define AUD_POWER_BASS_ON	0x0002
#define AUD_POWER_BASS_OFF	0x0000

#define AUD_POWER_DEEMP_ON	0x0001
#define AUD_POWER_DEEMP_OFF	0x0000





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -