Part Number:OMAP-L138
Tool/software: Linux
Hello,
I am attempting to use the McASP through the DSP while simultaneously running Linux on the GPP. I am using the McASP example project provided in the PDK. Versions are as follows:
- MCSDK 1.01.00.02
- PDK OMAPL138 1.01.00.02
- bios 6.34.03.19
- Syslink 2.21.01.05
- XDC Tools 3.24.03.33
When I do not load Linux, I find that the DMA PaRAMs get configured properly and the program runs, transmitting audio as expected. However, when I load Linux before starting loading the DSP the EDMA PaRAM sets do not appear to be properly configured. For example, PaRAM set 0 and 1, which are used by the McASP, load the values shown below:
Linux Boot, DSP load/run:
OPT0 0x00000000
SRC0 0x00000000
A_B_CNT0 0x00000000
DST0 0x00000000
SRC_DST_BIDX0 0x00000000
LINK_BCNTRLD0 0x0000FFFF
SRC_DST_CIDX0 0x00000000
CCNT0 0x00000000
OPT1 0x81001804
SRC1 0x00000000
A_B_CNT1 0x00010004
DST1 0x01D02000
SRC_DST_BIDX1 0x00000000
LINK_BCNTRLD1 0x00010000
SRC_DST_CIDX1 0x00000000
CCNT1 0x00000000
No Linux, Load GEL, Wake DSP, Load Code
OPT0 0x81100804
SRC0 0x01D02000
A_B_CNT0 0x00010004
DST0 0xC3001F1C
SRC_DST_BIDX0 0x10000000
LINK_BCNTRLD0 0x00014400
SRC_DST_CIDX0 0x00040000
CCNT0 0x000000F3
OPT1 0x81101804
SRC1 0xC3002224
A_B_CNT1 0x00010004
DST1 0x01D02000
SRC_DST_BIDX1 0x00001000
LINK_BCNTRLD1 0x00014440
SRC_DST_CIDX1 0x00000004
CCNT1 0x000002EF
The second set (which works) shows the source and destination addresses in the DDR Memory Space, as it should be.
I have:
- Reserved EDMA channels 0, 1 in board-omapl138-lcdk.c (ARM)
- Modified sample_omapl138_cfg.c (DSP) to show that EDMACC0 Shadow Region 1 owns Channels and PaRAMs 0 and 1.
- Disabled ALSA (ARM)
- Un-registered the McASP with the linux kernel (ARM)
- Ensured McASP PSC is active
It does not seem that the EDMA LLD instance in the DSP code is making any changes to the DMA configuration. Any ideas what may be the cause of this?
Jeff