Hi Champs,
I'm trying to use McASP Write FIFO w/ EDMA. The DMA transfer works when I don't use the FIFO.
But the transfer dose not work when I enable the FIFO because McASP XSTAT.XDATA bit is not cleared in the initialization procedure.
Is there anything wrong in my settings below.
I'm not sure how to use the FIFO. I really need your help. Any comments would be appreciated.
o McASP Settings
XMASK = 0xFFFFFFFF
XFMT = 0x000180F0
AHCLKXCTL = 0x00180000
ACLKXCTL = 0x001800E0
AFSXCTL = 0x00000413 // 8-slot
XTDM = 0x000000FF
XCLKCHK = 0x00FF0008
SRCTL13 = 0x00000011 // I use AXR13 and AXR14
SRCTL14 = 0x00000011
PFUNC = 0x00009F2F
PDIR = 0x9400FF2F
o McASP Settings for enabling the Write FIFO
WFIFOCTL = 0x00014002
* WNUMEVT and WNUMDMA are set prior to enabling the FIFO.
* WNUMDMA is set to 0x2 because of 2-serializer
o EDMA PaRAM Settings for PING/PONG
// PaRAM[1]
OPT = 0x80001200
SRC = 0x80003000
A_B_CNT = 0x02000008
DST = 0x01D02000
SRC_DST_BIDX = 0x00000008
LINK_BCNTRLD = 0x00004800
SRC_DST_CIDX = 0x00000000
CCNT = 0x00000001
// PaRAM[64]
OPT = 0x80001200
SRC = 0x80004000
A_B_CNT = 0x02000008
DST = 0x01D02000
SRC_DST_BIDX = 0x00000008
LINK_BCNTRLD = 0x00004820
SRC_DST_CIDX = 0x00000000
CCNT = 0x00000001
// PaRAM[65]
OPT = 0x80001200
SRC = 0x80003000
A_B_CNT = 0x02000008
DST = 0x01D02000
SRC_DST_BIDX = 0x00000008
LINK_BCNTRLD = 0x00004800
SRC_DST_CIDX = 0x00000000
CCNT = 0x00000001
Regards,
j-breeze