File nut/arch/arm/dev/tlv320dac.c


Included Files


Preprocessor definitions

#define TWI_SLA_DAC 0x1A

#define TLV320DAC_VOL 0x18

#define SAMPLE_BUFFERS 3

#define DACI2S_PIO_ID PIOA_ID

#define DACI2S_PINS_A

#define DACI2S_PINS_B 0

#define DACI2S_PDR PIOA_PDR

#define DACI2S_ASR PIOA_ASR

#define DACI2S_BSR PIOA_BSR

#define PCM_CHANS 2

#define PCM_BITS 16

#define TWI_ENABLE

#define SDA_LOW

#define SDA_HIGH

#define SCL_LOW

#define SCL_HIGH

#define SDA_STAT

#define TWI_DELAY 8


Typedef PCM_BUFFER

typedef struct _PCM_BUFFER PCM_BUFFER
struct _PCM_BUFFER  
   {  
      u_short* wbf_dat;  
      int wbf_siz;  
      int wbf_len;  
   }  

Local Variables

i2s_que
static HANDLE i2s_que
Used in: I2sInterrupt()  
  Tlv320DacFlush()  
  Tlv320DacWrite()  

pcm_bufq
static PCM_BUFFER pcm_bufq[3]

Used in: I2sPdcFill()  
  Tlv320DacWrite()  

brd_idx
static volatile unsigned int brd_idx

Used in: I2sPdcFill()  
  Tlv320DacFlush()  
  Tlv320DacWrite()  

brd_pos
static volatile int brd_pos

bwr_idx
static unsigned int bwr_idx

Used in: I2sPdcFill()  
  Tlv320DacFlush()  
  Tlv320DacWrite()  

Global Function Tlv320DacFlush()

int Tlv320DacFlush ( void )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: Tlv320DacStart() nut/arch/arm/dev/tlv320dac.c
  NutEventWait()
References Variables: brd_idx nut/arch/arm/dev/tlv320dac.c
  bwr_idx nut/arch/arm/dev/tlv320dac.c
  i2s_que nut/arch/arm/dev/tlv320dac.c

Global Function Tlv320DacInit()

int Tlv320DacInit ( unsigned int rate )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: Tlv320DacSetRate() nut/arch/arm/dev/tlv320dac.c
  Tlv320DacWriteReg() nut/arch/arm/dev/tlv320dac.c
  Tlv320I2sInit() nut/arch/arm/dev/tlv320dac.c
  TwBitInit() nut/arch/arm/dev/tlv320dac.c

Global Function Tlv320DacReadReg()

u_char Tlv320DacReadReg ( unsigned int reg )
Prototyped in: nut/include/dev/tlv320dac.h

Global Function Tlv320DacSetRate()

int Tlv320DacSetRate ( unsigned int rate )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: Tlv320DacWriteReg() nut/arch/arm/dev/tlv320dac.c
Called by: Tlv320DacInit() nut/arch/arm/dev/tlv320dac.c

Global Function Tlv320DacSetVolume()

int Tlv320DacSetVolume ( int left, int right )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: Tlv320DacWriteReg() nut/arch/arm/dev/tlv320dac.c

Global Function Tlv320DacWrite()

int Tlv320DacWrite ( void* buf, int len )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: Tlv320DacStart() nut/arch/arm/dev/tlv320dac.c
  NutEventWait(), free(), malloc(), memcpy()
References Variables: brd_idx nut/arch/arm/dev/tlv320dac.c
  bwr_idx nut/arch/arm/dev/tlv320dac.c
  i2s_que nut/arch/arm/dev/tlv320dac.c
  pcm_bufq nut/arch/arm/dev/tlv320dac.c

Global Function Tlv320DacWriteReg()

void Tlv320DacWriteReg ( unsigned int reg, unsigned int val )
Prototyped in: nut/include/dev/tlv320dac.h
Calls: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c
Called by: Tlv320DacInit() nut/arch/arm/dev/tlv320dac.c
  Tlv320DacSetRate() nut/arch/arm/dev/tlv320dac.c
  Tlv320DacSetVolume() nut/arch/arm/dev/tlv320dac.c

Local Function I2sInterrupt()

static void I2sInterrupt ( void* arg )
Calls: I2sPdcFill() nut/arch/arm/dev/tlv320dac.c
Used in: Tlv320I2sInit() nut/arch/arm/dev/tlv320dac.c
References Variables: i2s_que nut/arch/arm/dev/tlv320dac.c

Local Function I2sPdcFill()

static void I2sPdcFill ( void )
Called by: I2sInterrupt() nut/arch/arm/dev/tlv320dac.c
  Tlv320DacStart() nut/arch/arm/dev/tlv320dac.c
References Variables: brd_idx nut/arch/arm/dev/tlv320dac.c
  bwr_idx nut/arch/arm/dev/tlv320dac.c
  pcm_bufq nut/arch/arm/dev/tlv320dac.c

Local Function Tlv320DacStart()

static int Tlv320DacStart ( void )
Calls: I2sPdcFill() nut/arch/arm/dev/tlv320dac.c
  NutIrqDisable(), NutIrqEnable()
Called by: Tlv320DacFlush() nut/arch/arm/dev/tlv320dac.c
  Tlv320DacWrite() nut/arch/arm/dev/tlv320dac.c

Local Function Tlv320I2sDisable()

static int Tlv320I2sDisable ( void )
Calls: NutIrqDisable()
Called by: Tlv320I2sInit() nut/arch/arm/dev/tlv320dac.c

Local Function Tlv320I2sEnable()

static int Tlv320I2sEnable ( unsigned int rate )
Called by: Tlv320I2sInit() nut/arch/arm/dev/tlv320dac.c

Local Function Tlv320I2sInit()

static int Tlv320I2sInit ( unsigned int rate )
Calls: Tlv320I2sDisable() nut/arch/arm/dev/tlv320dac.c
  Tlv320I2sEnable() nut/arch/arm/dev/tlv320dac.c
  NutIrqEnable(), NutRegisterIrqHandler()
Called by: Tlv320DacInit() nut/arch/arm/dev/tlv320dac.c
References Functions: I2sInterrupt() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitAck()

static void TwBitAck ( void )
Calls: TwBitDelay() nut/arch/arm/dev/tlv320dac.c
Called by: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitDelay()

static void TwBitDelay ( int nops )
Called by: TwBitAck() nut/arch/arm/dev/tlv320dac.c
  TwBitGet() nut/arch/arm/dev/tlv320dac.c
  TwBitPut() nut/arch/arm/dev/tlv320dac.c
  TwBitStart() nut/arch/arm/dev/tlv320dac.c
  TwBitStop() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitGet()

static uint8_t TwBitGet ( void )
Calls: TwBitDelay() nut/arch/arm/dev/tlv320dac.c
Called by: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitInit()

static int TwBitInit ( uint8_t sla )
Called by: Tlv320DacInit() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitMasterTransact()

static int TwBitMasterTransact ( uint8_t sla, const void* txdata, uint16_t txlen, void* rxdata, uint16_t rxsiz, uint32_t tmo )
Calls: TwBitAck() nut/arch/arm/dev/tlv320dac.c
  TwBitGet() nut/arch/arm/dev/tlv320dac.c
  TwBitPut() nut/arch/arm/dev/tlv320dac.c
  TwBitStart() nut/arch/arm/dev/tlv320dac.c
  TwBitStop() nut/arch/arm/dev/tlv320dac.c
Called by: Tlv320DacWriteReg() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitPut()

static int TwBitPut ( uint8_t octet )
Calls: TwBitDelay() nut/arch/arm/dev/tlv320dac.c
Called by: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitStart()

static void TwBitStart ( void )
Calls: TwBitDelay() nut/arch/arm/dev/tlv320dac.c
Called by: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c

Local Function TwBitStop()

static void TwBitStop ( void )
Calls: TwBitDelay() nut/arch/arm/dev/tlv320dac.c
Called by: TwBitMasterTransact() nut/arch/arm/dev/tlv320dac.c