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.

OMAP3530 ARM/DSP Memory Map

Other Parts Discussed in Thread: OMAP3530, OMAP-L138

Regarding the OMAP3530, does the DSP side have access to all the memory space (peripheral configuration registers) that the ARM side does?  For instance, could I implement a GPMC or SPI driver from the DSP side? 

I've done a similar thing with the OMAP-L138, where I was able to implement device drivers from the DSP side, just want to make sure that the 3530 has this same capability.  

 

  • In general, yes, the DSP can be configured to see the ARM address space.  Folks more familiar with the HW than me might comment more on the specific peripherals you're interested in.  Also, depending on what you've got running on the ARM, you should make sure to disable any ARM-side drivers that may be initializing/utilizing those peripherals so you don't get conflicts.

    One extra thing to be aware of on OMAP3 is the DSP-side MMU, which will need set up to enable the DSP to see any external memory at all(!).  The DSP Link product provides this feature - a relevant article is here:  http://processors.wiki.ti.com/index.php/OMAP3_DSP_MMU_Configuration

    Chris

  • Yes but the SPI interrupt isn't routed to the DSP core!

    Table 14.3 IVA2.2 Interrupt mappings

    p1753 in OMAP35x Technical Reference Manual (spruf98t)

    Marc.

     

  • Hi Chris,

    I'm trying to develop a simpler version of "DSPLink", would mind telling me how to setup DSP MMU to let it have a direct translation of global physical address and DSP virtual address? I reserved 32MB of external RAM for DSP to use. So how can I config the DSP MMU to let it translate 0x8E00 0000 (phy) to 0x8E00 0000 (virt) , for all 32MB?

     And, I'm currently experiencing a problem that I lost access to DSP subsystem Global memory space. I use devmem2 (a handy tool which does ioremap and can read/write registers) to access 0x5D00 0000 (DSP MMU), and Linux kernel panic and hangs.

    I'm not sure what can cause this and how to solve it. The processor is OMAP3530, and the board I use is Gumstix Overo. 

    Thanks for any input.