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

📄 tsc_ssp.h

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

// - added the remaining defines for use with TSC2301GenericReadReg

/* ---- 
Module Name:  

  tsc_ssp.h

Abstract:  

  This module contains the functions prototypes to the SSP functions for communicating with the part.
  
Functions:

  
Revision History:

  Bob Green (Embedded Express for Texas' Intruments) FEB 2002

--*/


#include <tsc_regs.h>



BOOL Is_DAV_Open(void);
BOOL TSC2301ReadData(unsigned __int16 iSetupValue, unsigned __int16 iReadValue, unsigned __int16 *pDataVal);
BOOL TSC2301ReadPortScan(unsigned __int16 *pBat1Val, unsigned __int16 *pBat2Val, unsigned __int16 *pAux1Val, unsigned __int16 *pAux2Val);


// functions for SSP setup and configuration
void setupSSP();
void SetupSSPRegisters(void);
void DisableSSP(void);
void EnableSSP(void);



// functions to control the actual TSC2200 part.
unsigned __int16 TSC2200ReadADCReg(void);
void TSC2200WriteADCReg(unsigned __int16 newValue);
void TSC2200ReadXY(unsigned __int16 *pXdata, unsigned __int16 *pYdata);
void TSC2200Reset(void);
unsigned __int16 TSC2200ReadKPDataReg(void);
unsigned __int16 TSC2200ReadKeyReg(void);
void TSC2200WriteKeyReg(unsigned __int16 newValue);
void TSC2200WriteKeyMaskReg(unsigned __int16 newValue);
unsigned __int16 TSC2200ReadKeyMaskReg(void);
void TSC2200StopConversions(void);
void TSC2200StartConversions(void);
void InitSSP(void);
unsigned __int16 TSC2200ReadCFGReg(void);
unsigned __int16 TSC2200ReadREFReg(void);
unsigned __int16 TSC2200ReadDACReg(void);
void TSC2200WriteCFGReg(unsigned __int16 newValue);
void TSC2200WriteREFReg(unsigned __int16 newValue);
void TSC2200WriteDACReg(unsigned __int16 newValue);

// Audio Registers for the TSC2301 
// Bg 18JUL02

unsigned __int16 TSC2301ReadAudioControlReg(void);
unsigned __int16 TSC2301ReadAudioByPassReg(void);
unsigned __int16 TSC2301ReadAudioADCVolumeReg(void);
unsigned __int16 TSC2301ReadAudioDACVolumeReg(void);
unsigned __int16 TSC2301ReadAudioKeyClickReg(void);
unsigned __int16 TSC2301ReadAudioPowerReg(void);
unsigned __int16 TSC2301ReadAudioGPIOReg(void);


void TSC2301WriteAudioControlReg(unsigned __int16 newValue);
void TSC2301WriteAudioByPassReg(unsigned __int16 newValue);
void TSC2301WriteAudioADCVolumeReg(unsigned __int16 newValue);
void TSC2301WriteAudioDACVolumeReg(unsigned __int16 newValue);
void TSC2301WriteAudioKeyClickReg(unsigned __int16 newValue);
void TSC2301WriteAudioPowerReg(unsigned __int16 newValue);
void TSC2301WriteAudioGPIOReg(unsigned __int16 newValue);


void TSC2301GenericWriteReg(unsigned __int16 targetReg, unsigned __int16 newValue);
unsigned __int16 TSC2301GenericReadReg(unsigned __int16 sourceReg);


unsigned __int16 TSC2200ReadCFG2Reg(void);
void TSC2200WriteCFG2Reg(unsigned __int16 newValue);


// defines for TSC2200 configuration
#define ADC_SETUP_VALUE			(ADC_PSM_TSC2200 | ADC_STS_NORMAL | ADC_AD_XY_SCAN | ADC_RS_TWELVE | ADC_AV_FOUR | ADC_CL_2 | ADC_PV_1_MS)

#define ADC_SETUP_VALUE_2		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_X_SCAN | ADC_RS_TWELVE | ADC_AV_FOUR | ADC_CL_2 | ADC_PV_1_MS)


#define ADC_STOP_CONVERSIONS	(ADC_PSM_TSC2200 | ADC_STS_STOP | ADC_AD_XY_SCAN | ADC_RS_TWELVE | ADC_AV_FOUR | ADC_CL_2 | ADC_PV_1_MS)

#define KEYREG_SETUP_VALUE		(KEY_STC_NO | KEY_SCS_NORMAL | KEY_DB_20)

#define KEYMASKREG_SETUP_VALUE	(KPMASK_ALL)

#define PORT_SCAN_VALUE			(ADC_PSM_TSC2200 | ADC_STS_NORMAL | ADC_AD_PORT_SCAN | ADC_RS_TWELVE | ADC_AV_SIXTEEN | ADC_CL_1 | ADC_PV_100_MS)


#define SETUP_BATT1_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_BAT1_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_BATT2_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_BAT2_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_AUX1_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_AUX1_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_AUX2_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_AUX2_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_TEMP1_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_TEMP1_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_TEMP2_VALUE		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_TEMP2_CONV | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)
#define SETUP_PORT_SCAN_VALUE	(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_PORT_SCAN | ADC_RS_TWELVE | ADC_AV_ZERO | ADC_CL_2 | ADC_PV_1_MS)



#define READ_X_VALUE			0x8000
#define READ_Y_VALUE			0x8020
#define READ_Z1_VALUE			0x8040
#define READ_Z2_VALUE			0x8060
#define READ_KPDATA_VALUE		0x8080
#define READ_BATT1_VALUE		0x80A0
#define READ_BATT2_VALUE		0x80C0
#define READ_AUX1_VALUE			0x80E0
#define READ_AUX2_VALUE			0x8100
#define READ_TEMP1_VALUE		0x8120
#define READ_TEMP2_VALUE		0x8140
#define READ_DAC_VALUE			0x8160

// Bg 12SEP02 - new functions to handle the touch ADC reg setup bug in the TSC2301
void TSC2200ReadX(unsigned __int16 *pXdata);
void TwoTwoWordSPITransactions(unsigned __int16 *iWord1, unsigned __int16 *iWord2, unsigned __int16  *iWord3, unsigned __int16 *iWord4);
void TSC2301SetupADCReg(unsigned __int16 newValue);

⌨️ 快捷键说明

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