Mcbsp_ChannelObj_t Struct Reference

Mcbsp channel Object. More...

#include <mcbsp_pvt.h>

Data Fields

uint16_t mode
Mcbsp_DriverState chanState
Mcbsp_Object * devHandle
Mcbsp_CallbackFxn cbFxn
void * cbArg
void * edmaHandle
uint32_t edmaEventQue
EDMA3_RM_TccCallback edmaCallback
uint32_t xferChan
uint32_t tcc
uint32_t pramTbl [Mcbsp_MAXLINKCNT]
uint32_t pramTblAddr [Mcbsp_MAXLINKCNT]
void * ptrQPendList
void * ptrQFloatList
Mcbsp_IOBuftempIOBuf
Mcbsp_IOBufdataIOBuf
uint32_t submitCount
Mcbsp_BufferFormat dataFormat
Bool nextFlag
volatile Bool bMuteON
volatile Bool paused
volatile Bool flush
volatile Bool isTempIOBufValid
Bool enableHwFifo
Mcbsp_GblErrCallback gblErrCbk
uint32_t userDataBufferSize
void * loopJobBuffer
uint16_t loopJobLength
uint32_t userLoopJobLength
uint32_t nextLinkParamSetToBeUpdated
volatile Bool loopjobUpdatedinParamset
uint16_t roundedWordWidth
uint16_t currentDataSize
Mcbsp_DataConfig chanConfig
Mcbsp_ClkSetup clkSetup
Mcbsp_McrSetup multiChanCtrl
uint32_t chanEnableMask [4]
Bool userLoopJob
int32_t currentError

Detailed Description

Mcbsp channel Object.

This structure maintains the current channel state. It also holds information on DMA channel being used and holds the application callback function to be called in case of an interrupt.

This structure is initialized by mdCreateChan and a pointer to this is passed down to all other channel related functions. Lifetime of the data structure is from its creation by mdCreateChan till it is invalidated by mdDeleteChan.each instance object will have two channel object one for TX and one for the RX channel.


Field Documentation

Flag to set the mute ON/OFF status

Callback Function argument

Driver call back function to be called once a I/O buffer is processed

settings to configure the TX or RX hardware sections

Mask of the channels to be enabled or disabled

operational state of the channel (opened/closed)

clock setup for the RX or the TX section

data buffer size of the currently transferring buffer

Current I/O buffer error status

Application supplied buffer format

Temporary I/O buffer holder used to load the next buffer in to EDMA

Pointer to McBSP device driver instance object

EDMA3_RM_TccCallback Mcbsp_ChannelObj_t::edmaCallback

Edma callback function pointer

EDMA event queue to be used by the channel

Handle to the EDMA3 driver(given by application)

whether the FIFO has to be enabled for this channel

Flag to indicate if the Driver IO request flush is set

Callback to called in case an error occurs(supplied by application)

Flag to indicate whether a valid buffer is available in tempIOBuf

Buffer to be transferred when the loop job is running

Length of userloop job for each serialiser

Used to prevent updating second paramset with loopjob for * last dataIOBuf edma callback

Mode of operation of the channel (MCBSP_MODE_INPUT or MCBSP_MODE_OUTPUT)

multiple channel control settings

Flag to indicate if the state machine can be stopped or not

Used to store the next index of link param to be updated

Flag to indicate if the audio is paused or not

uint32_t Mcbsp_ChannelObj_t::pramTbl[Mcbsp_MAXLINKCNT]

Logical channel numbers of EDMA, which are used for linking

uint32_t Mcbsp_ChannelObj_t::pramTblAddr[Mcbsp_MAXLINKCNT]

Physical address of logical channel numbers of EDMA, which * are used for linking

Queue to manage floating I/O buffers in DMA

Queue to hold the pending I/O buffers received from the application

Word length bytes to be transferred for DMA transaction

Number of submit calls pending in the driver

EDMA transfer completion code

Temporary I/O buffer holder

Size of the data buffer to be transferred

Option to indicate if the user loop job is used or driver loop job

user specified loop job length to be used if supplied

eDMA ChannelID


The documentation for this struct was generated from the following file:

Copyright 2012, Texas Instruments Incorporated