Part Number:OMAP-L138
Tool/software: Linux
Hello,
This is an issue I have had for some time in various permutations, but I had hoped that the new SDK would remedy some of the issues. As the title suggests, I am attempting to run the McASP example project on TI-RTOS on the DSP while running Linux on the ARM. Previously (using MCSDK) I had run into problems related to the EDMA, and I am hopeful that the new EDMA driver for Linux will remove those problems. Currently, the problem I am having is not related to the DMA, but to the LPSC. If I run the DSP code by itself, the program passes audio in to out. If I load Linux, then load the DSP through CCS and run the code, the code times out during McASP configuration (McASP_drv.c[4084]). This appears to be due to the LPSC not being enabled for the McASP. I verified that the LPSC Status is different between the two scenarios. When the DSP code runs alone, the LPSC is enabled. When Linux is active, the LPSC is disabled.
I suspected that the Linux DTB may have something to do with it, so I have tried two variants of the Device tree for Linux. In the first, the McASP is "disabled", and in the second the McASP is "okay". In both cases, the LSPC for the McASP is disabled. In my kernel configuration, the sound drivers are modules and the modules are not loaded.
The eventual goal will be to have the two programs running with IPC between them, where the DSP is loaded from the ARM. The documentation on this seems somewhat hard to find for the new SDK, as they tend to refer to other device families (Keystone II). I was, however, able to run the IPC examples.
Does anyone have any insight on how I might get Linux and RTOS to run simultaneously? Are there recommended practices for sharing DMA resources?
Where should I look for documentation on starting DSP applications from the Linux userspace?
I am happy to provide more information as needed.
Jeff