Where is MMU config done for DSP in OMAP35xx (am using DVSDK)? Is it in BIOS/Codec Engine/DSPLink? Also, what is the relation between vritual and physical addresses on DSP (is it one-to-one mapping?)
-Madhvi
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
DSP MMU is configured by dsplink. It does not utilize table walking logic, just the straight-up entries, so you're "limited" to 31 entries (generally that's not an issue). For simplicity the memory mapping is implemented as a 1-to-1 mapping. This has the benefit of memory protection, e.g. the Linux kernel space is NOT mapped to the DSP so if it tried to access memory assigned to the kernel it would generate an MMU fault rather than crashing the ARM. Codec Engine works closely with dsplink, i.e. at run-time it passes the memory map to dsplink which serves as the basis for the MMU configuration. At run-time Codec Engine calls into CMEM to get its base address so that CMEM gets mapped into the MMU space.
Here is also a related article:
http://processors.wiki.ti.com/index.php/DSP_MMU_Faults