![Logo](ti_logo.svg) |
AM273x MCU+ SDK
08.06.00
|
|
Go to the documentation of this file.
63 #include <drivers/hw_include/cslr_mcasp.h>
81 #define MCASP_GBLCTL_TIMEOUT (30000U)
87 #define MCASP_DATA_TIMEOUT (30000U)
90 #define MCASP_RESET ((uint32_t) 0x00U)
91 #define MCASP_ENABLE ((uint32_t) 0x01U)
92 #define MCASP_DISABLE ((uint32_t) 0x00U)
97 #define MCASP_REG_OFFSET ((uint32_t)0x4U)
108 #define MCASP_TRANSFER_STATUS_COMPLETED (0U)
110 #define MCASP_TRANSFER_STATUS_STARTED (1U)
112 #define MCASP_TRANSFER_STATUS_CANCELLED (2U)
114 #define MCASP_TRANSFER_STATUS_FAILED (3U)
116 #define MCASP_TRANSFER_STATUS_TIMEOUT (4U)
129 #define MCASP_TRANSFER_MODE_POLLING (0U)
135 #define MCASP_TRANSFER_MODE_INTERRUPT (1U)
140 #define MCASP_TRANSFER_MODE_DMA (2U)
152 #define MCASP_OPMODE_CONTROLLER (0U)
154 #define MCASP_OPMODE_PERIPHERAL (1U)
166 #define MCASP_CHANNEL_INPUT (0x0001U)
168 #define MCASP_CHANNEL_OUTPUT (0x0002U)
170 #define MCASP_CHANNEL_INOUT (MCASP_CHANNEL_INPUT | MCASP_CHANNEL_OUTPUT)
181 #define MCASP_DRIVER_STATE_DELETED (0U)
182 #define MCASP_DRIVER_STATE_CREATED (1U)
183 #define MCASP_DRIVER_STATE_INITIALIZED (2U)
184 #define MCASP_DRIVER_STATE_OPENED (3U)
185 #define MCASP_DRIVER_STATE_CLOSED (4U)
186 #define MCASP_DRIVER_STATE_DEINITIALIZED (5U)
187 #define MCASP_DRIVER_STATE_POWERED_DOWN (6U)
188 #define MCASP_DRIVER_STATE_PWRM_SUSPEND (7U)
199 #define MCASP_SERIALIZER_STATUS_FREE (0U)
200 #define MCASP_SERIALIZER_STATUS_XMT (1U)
201 #define MCASP_SERIALIZER_STATUS_RCV (2U)
212 #define MCASP_CHANNEL_MODE_FREE (0U)
213 #define MCASP_CHANNEL_MODE_XMT_DIT (1U)
214 #define MCASP_CHANNEL_MODE_XMT_TDM (2U)
215 #define MCASP_CHANNEL_MODE_RCV (3U)
226 #define MCASP_WORD_SELECT_LSW (0U)
227 #define MCASP_WORD_SELECT_MSW (1U)
244 #define MCASP_AUDBUFF_FORMAT_1SER_MULTISLOT_NON_INTERLEAVED (0U)
250 #define MCASP_AUDBUFF_FORMAT_1SER_MULTISLOT_INTERLEAVED (1U)
257 #define MCASP_AUDBUFF_FORMAT_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1 (2U)
264 #define MCASP_AUDBUFF_FORMAT_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2 (3U)
275 #define MCASP_TRANSMIT_STATE_TX_RESET (0U)
276 #define MCASP_TRANSMIT_STATE_TX_FLUSH (1U)
277 #define MCASP_TRANSMIT_STATE_LOAD_INIT_BUFFER (2U)
278 #define MCASP_TRANSMIT_STATE_RELEASE_FROM_RESET (3U)
279 #define MCASP_TRANSMIT_STATE_WAIT_EVENT (4U)
280 #define MCASP_TRANSMIT_STATE_PROCESS_EVENT (5U)
281 #define MCASP_TRANSMIT_STATE_LOAD_ACTIVE_BUFFER (6U)
282 #define MCASP_TRANSMIT_STATE_DONE (7U)
283 #define MCASP_TRANSMIT_STATE_SPIN_IDLE (8U)
284 #define MCASP_TRANSMIT_STATE_ERROR (9U)
285 #define MCASP_TRANSMIT_STATE_EXIT (10U)
296 #define MCASP_RECEIVE_STATE_RX_RESET (0U)
297 #define MCASP_RECEIVE_STATE_RX_FLUSH (1U)
298 #define MCASP_RECEIVE_STATE_RELEASE_FROM_RESET (2U)
299 #define MCASP_RECEIVE_STATE_WAIT_EVENT (3U)
300 #define MCASP_RECEIVE_STATE_PROCESS_EVENT (4U)
301 #define MCASP_RECEIVE_STATE_DONE (5U)
302 #define MCASP_RECEIVE_STATE_SPIN_IDLE (6U)
303 #define MCASP_RECEIVE_STATE_ERROR (7U)
304 #define MCASP_RECEIVE_STATE_EXIT (8U)
378 uint32_t serSetup[16u];
615 uint16_t serStatus[16];
807 if (openPrms != NULL)
uint32_t amute
Definition: mcasp/v0/mcasp.h:376
MCASP_Transaction txnLoopjob
Definition: mcasp/v0/mcasp.h:525
uint32_t txLoopjobEnable
Definition: mcasp/v0/mcasp.h:467
const MCASP_Attrs * attrs
Definition: mcasp/v0/mcasp.h:635
void * args
Definition: mcasp/v0/mcasp.h:331
uint32_t aClk
Definition: mcasp/v0/mcasp.h:353
MCASP_Transaction * MCASP_withdrawRx(MCASP_Handle handle)
Function to withdraw the buffer submitted to McASP driver for reception. This should be called after ...
MCASP driver object.
Definition: mcasp/v0/mcasp.h:556
void MCASP_close(MCASP_Handle handle)
Function to close a MCASP peripheral specified by the MCASP handle.
Edma_IntrObject intrObj
Definition: mcasp/v0/mcasp.h:549
int32_t MCASP_submitRx(MCASP_Handle handle, MCASP_Transaction *txn)
Function to submit the buffer to McASP driver for reception. Transaction object is held by the driver...
Opaque QueueP element.
Definition: QueueP.h:77
uint32_t tdm
Definition: mcasp/v0/mcasp.h:404
uint32_t pfunc
Definition: mcasp/v0/mcasp.h:366
uint8_t txSlotCount
Definition: mcasp/v0/mcasp.h:459
uint8_t frameIndex
Definition: mcasp/v0/mcasp.h:512
MCASP_Handle handle
Definition: mcasp/v0/mcasp.h:560
MCASP_Config gMcaspConfig[]
Externally defined driver configuration array.
EDMA interrupt configuration object. The object is passed to the EDMA_registerIntr() function....
Definition: edma/v0/edma.h:479
uint8_t slotCount
Definition: mcasp/v0/mcasp.h:506
uint8_t txSerUsedCount
Definition: mcasp/v0/mcasp.h:451
int32_t status
Definition: mcasp/v0/mcasp.h:502
MCASP_Transaction * MCASP_withdrawTx(MCASP_Handle handle)
Function to withdraw the buffer submitted to McASP driver for transmission. This should be called aft...
uint8_t * txSerUsedArray
Definition: mcasp/v0/mcasp.h:455
HwiP_Object hwiObjTx
Definition: mcasp/v0/mcasp.h:588
uint32_t txLoopjobBufLength
Definition: mcasp/v0/mcasp.h:471
uint32_t isTxStarted
Definition: mcasp/v0/mcasp.h:580
SemaphoreP_Object transferSemObj
Definition: mcasp/v0/mcasp.h:586
uint32_t baseAddr
Definition: mcasp/v0/mcasp.h:537
SemaphoreP_Object lockObj
Definition: mcasp/v0/mcasp.h:584
uint32_t txSlotSize
Definition: mcasp/v0/mcasp.h:627
uint8_t frameCount
Definition: mcasp/v0/mcasp.h:510
MCASP_RxCallbackFxn rxCallbackFxn
Definition: mcasp/v0/mcasp.h:465
uint32_t rxLoopjobBufLength
Definition: mcasp/v0/mcasp.h:477
QueueP_Handle reqQueueHandleTx
Definition: mcasp/v0/mcasp.h:599
uint32_t state
Definition: mcasp/v0/mcasp.h:500
Hardware fifo setup structure.
Definition: mcasp/v0/mcasp.h:386
uint32_t paramId
Definition: mcasp/v0/mcasp.h:543
uint32_t edmaChRx
Definition: mcasp/v0/mcasp.h:625
MCASP_ClockConfig clk
Definition: mcasp/v0/mcasp.h:412
uint32_t linkParamId
Definition: mcasp/v0/mcasp.h:547
MCASP edma configuration object.
Definition: mcasp/v0/mcasp.h:536
MCASP_Handle MCASP_open(uint32_t index, const MCASP_OpenParams *openParams)
This function opens a given MCASP peripheral.
int32_t edmaInst
Definition: mcasp/v0/mcasp.h:443
uint16_t numOfSerializers
Definition: mcasp/v0/mcasp.h:613
MCASP_HwConfig hwCfg
Definition: mcasp/v0/mcasp.h:617
uint32_t fifoStatus
Definition: mcasp/v0/mcasp.h:389
uint32_t dlbCtl
Definition: mcasp/v0/mcasp.h:374
Hardware setup data structure.
Definition: mcasp/v0/mcasp.h:397
uint8_t serCount
Definition: mcasp/v0/mcasp.h:514
MCASP_TxCallbackFxn cbFxn
Definition: mcasp/v0/mcasp.h:522
Data structure used with transfer call.
Definition: mcasp/v0/mcasp.h:316
MCASP_EdmaConfig xmtDmaObj
Definition: mcasp/v0/mcasp.h:592
MCASP Parameters.
Definition: mcasp/v0/mcasp.h:442
int32_t MCASP_stopTransferRx(MCASP_Handle handle)
Function to stop McASP reception.
uint32_t transferMode
Definition: mcasp/v0/mcasp.h:445
MCASP_TransferObj XmtObj
Definition: mcasp/v0/mcasp.h:570
MCASP instance attributes - used during init time.
Definition: mcasp/v0/mcasp.h:605
uint32_t count
Definition: mcasp/v0/mcasp.h:323
Hardware setup global structure.
Definition: mcasp/v0/mcasp.h:365
uint32_t tccId
Definition: mcasp/v0/mcasp.h:545
uint8_t intrPriority
Definition: mcasp/v0/mcasp.h:488
MCASP_DataConfig tx
Definition: mcasp/v0/mcasp.h:427
Definition: mcasp/v0/mcasp.h:634
void(* MCASP_RxCallbackFxn)(MCASP_Handle handle, MCASP_Transaction *transaction)
Definition: mcasp/v0/mcasp.h:345
void MCASP_deinit(void)
This function de-initializes the MCASP module.
MCASP_Transaction * transaction
Definition: mcasp/v0/mcasp.h:520
int32_t MCASP_startTransferTx(MCASP_Handle handle)
Function to start McASP transmission.
uint32_t gMcaspConfigNum
Externally defined driver configuration array size.
uint8_t bufferFormat
Definition: mcasp/v0/mcasp.h:518
uint32_t count
Definition: mcasp/v0/mcasp.h:504
uint8_t rxBufferFormat
Definition: mcasp/v0/mcasp.h:449
uint32_t ditCtl
Definition: mcasp/v0/mcasp.h:372
uint32_t evtCtl
Definition: mcasp/v0/mcasp.h:410
MCASP_TransferObj RcvObj
Definition: mcasp/v0/mcasp.h:572
uint32_t rxSlotSize
Definition: mcasp/v0/mcasp.h:629
uint32_t loopjobEnable
Definition: mcasp/v0/mcasp.h:527
MCASP_DataConfig rx
Definition: mcasp/v0/mcasp.h:425
uint32_t hiClk
Definition: mcasp/v0/mcasp.h:355
MCASP_TxCallbackFxn txCallbackFxn
Definition: mcasp/v0/mcasp.h:463
QueueP_Elem qElem
Definition: mcasp/v0/mcasp.h:317
uintptr_t baseAddr
Definition: mcasp/v0/mcasp.h:609
int32_t status
Definition: mcasp/v0/mcasp.h:329
uint8_t rxSlotCount
Definition: mcasp/v0/mcasp.h:461
MCASP_EdmaConfig rcvDmaObj
Definition: mcasp/v0/mcasp.h:594
Opaque task object used with the task APIs.
Definition: QueueP.h:92
int32_t edmaInst
Definition: mcasp/v0/mcasp.h:568
Hardware setup data clock structure.
Definition: mcasp/v0/mcasp.h:352
uint32_t inProgress
Definition: mcasp/v0/mcasp.h:498
uint32_t regionId
Definition: mcasp/v0/mcasp.h:539
uint32_t gblCtl
Definition: mcasp/v0/mcasp.h:370
uint32_t frSyncCtl
Definition: mcasp/v0/mcasp.h:402
uintptr_t dataBaseAddr
Definition: mcasp/v0/mcasp.h:611
uint32_t isOpen
Definition: mcasp/v0/mcasp.h:578
uint32_t intCtl
Definition: mcasp/v0/mcasp.h:406
void * QueueP_Handle
Opaque client reference to an instance of a QueueP.
Definition: QueueP.h:68
uint32_t rxLoopjobEnable
Definition: mcasp/v0/mcasp.h:473
uint32_t stat
Definition: mcasp/v0/mcasp.h:408
static void MCASP_openParamsInit(MCASP_OpenParams *openPrms)
Function to initialize the MCASP_OpenParams struct to its defaults.
Definition: mcasp/v0/mcasp.h:805
uint32_t edmaChTx
Definition: mcasp/v0/mcasp.h:623
MCASP_GlobalConfig gbl
Definition: mcasp/v0/mcasp.h:423
void * MCASP_Handle
A handle that is returned from a MCASP_open() call.
Definition: mcasp/v0/mcasp.h:75
uint32_t pdir
Definition: mcasp/v0/mcasp.h:368
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:91
QueueP_Object reqQueueObjTx
Definition: mcasp/v0/mcasp.h:597
uint32_t transferMode
Definition: mcasp/v0/mcasp.h:566
uint32_t intrNum
Definition: mcasp/v0/mcasp.h:486
McASP Interrupt structures.
Definition: mcasp/v0/mcasp.h:485
int32_t MCASP_startTransferRx(MCASP_Handle handle)
Function to start McASP reception.
uint32_t fmt
Definition: mcasp/v0/mcasp.h:400
void(* MCASP_TxCallbackFxn)(MCASP_Handle handle, MCASP_Transaction *transaction)
The definition of a callback function used by the MCASP driver when used in Callback Mode.
Definition: mcasp/v0/mcasp.h:342
McASP Transfer Data structure stored in driver object.
Definition: mcasp/v0/mcasp.h:497
MCASP_HwIntConfig intCfgRx
Definition: mcasp/v0/mcasp.h:621
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
uint32_t clkChk
Definition: mcasp/v0/mcasp.h:357
uint8_t rxSerUsedCount
Definition: mcasp/v0/mcasp.h:453
MCASP_HwIntConfig intCfgTx
Definition: mcasp/v0/mcasp.h:619
MCASP_Handle MCASP_getHandle(uint32_t index)
This function returns the handle of an open MCASP Instance from the instance index.
uint8_t * serArray
Definition: mcasp/v0/mcasp.h:516
uint32_t timeout
Definition: mcasp/v0/mcasp.h:327
uint8_t * rxLoopjobBuf
Definition: mcasp/v0/mcasp.h:475
MCASP_FifoConfig fifoCfg
Definition: mcasp/v0/mcasp.h:414
uint16_t instNum
Definition: mcasp/v0/mcasp.h:562
uint8_t slotIndex
Definition: mcasp/v0/mcasp.h:508
void * buf
Definition: mcasp/v0/mcasp.h:320
int32_t MCASP_submitTx(MCASP_Handle handle, MCASP_Transaction *txn)
Function to submit the buffer to McASP driver for transmission. Transaction object is held by the dri...
HwiP_Object hwiObjRx
Definition: mcasp/v0/mcasp.h:590
uint32_t isRxStarted
Definition: mcasp/v0/mcasp.h:582
MCASP_Object * object
Definition: mcasp/v0/mcasp.h:637
void MCASP_init(void)
This function initializes the MCASP module.
uint32_t fifoCtl
Definition: mcasp/v0/mcasp.h:387
uint8_t * txLoopjobBuf
Definition: mcasp/v0/mcasp.h:469
Hardware setup structure.
Definition: mcasp/v0/mcasp.h:422
uint8_t * rxSerUsedArray
Definition: mcasp/v0/mcasp.h:457
uint32_t mask
Definition: mcasp/v0/mcasp.h:398
uint32_t chId
Definition: mcasp/v0/mcasp.h:541
uint32_t drvState
Definition: mcasp/v0/mcasp.h:564
uint8_t txBufferFormat
Definition: mcasp/v0/mcasp.h:447
int32_t MCASP_stopTransferTx(MCASP_Handle handle)
Function to stop McASP transmission.