www.pudn.com > iMagic_2006_0428_v098r23.rar > i2sdrv.h


/* 
**************************************************************** 
*                      Magic Pixel Inc. 
* 
*    Copyright 2004, Magic Pixel Inc., HsinChu, Taiwan 
*                    All rights reserved. 
* 
* 
* 
* Filename:    i2sdrv.H 
* 
* Programmer:    Richard 
*                MPX E120 division 
* 
* Created: 11/01/2004 
* 
* Description: Common header file 
* 
*         
* Change History (most recent first): 
*     <1>     10/27/2004    Richard    first file 
**************************************************************** 
*/ 
#ifndef i2sdrv_h 
#define i2sdrv_h   
 
/* 
***************************************************************************** 
*                         INCLUDE FILES 
***************************************************************************** 
*/ 
 
  
/* 
***************************************************************************** 
*                         DEFINITION OF DATA TYPES 
***************************************************************************** 
*/ 
/* Quota of I2S buffer */ 
#define I2SQUOTA_02K    0x0000 
#define I2SQUOTA_04K    0x0001 
#define I2SQUOTA_08K    0x0003 
#define I2SQUOTA_16K    0x0007 
#define I2SQUOTA_32K    0x000f 
#define I2SQUOTA_64K    0x001f 
#define I2SQUOTA_128K   0x003f 
#define I2SQUOTA_256K   0x007f 
#define I2SQUOTA_512K   0x00ff 
 
/* Sampling rate define */ 
#define FS_08KHZ 0 
#define FS_11KHZ 1 
#define FS_12KHZ 2 
#define FS_16KHZ 3 
#define FS_22KHZ 4 
#define FS_24KHZ 5 
#define FS_32KHZ 6 
#define FS_44KHZ 7 
#define FS_48KHZ 8 
#define FS_64KHZ 9 
#define FS_88KHZ 10 
#define FS_96KHZ 11 
 
#define DAC_INIT 0 
#define ADC_INIT 1 
 
extern WORD MP3FS[12]; 
extern WORD AACFS[12]; 
 
/* 
******************************************************************************** 
*                         DECLARATION OF PROTOTYPES 
******************************************************************************** 
*/ 
void I2SEnable(BYTE OnOff); 
void I2SReset(SWORD *BuffAddr, DWORD BuffLen, WORD Profile); 
void I2SBuffInput(SWORD *pcmbuf1ptr, SWORD *pcmbuf2ptr, SWORD *i2soutptr, DWORD offset, DWORD length, DWORD i2slength,WORD profile); 
void I2SBuffOutput(SWORD *pcmbuf1ptr, SWORD *pcmbuf2ptr, SWORD *i2soutptr, DWORD offset, DWORD length, DWORD i2slength,WORD profile); 
void I2SInit(DWORD BuffAddr, WORD BuffLen, WORD Profile, WORD fs); 
void I2SCodecInit(WORD profile, WORD fs); 
DWORD SamplingRateIndex(DWORD rate); 
void FillCodecMCLKTab(WORD *mclkParam); 
void SetupAudioPLLFrequence(DWORD FS); 
void SetupI2SConfiguration(WORD action); 
void ConfigureI2S(void); 
// for REV B to simulate the baseband to powerup the codec 
void CodecPowerUp(WORD fs); 
 
// Implementation in AppAudio.c 
void recodingDataDownmix(BOOL dwonmixing); 
 
#endif // i2sdrv_h