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.

Disable DSP Clock on DM6467T - Interrupt Service Routine for writing PDCCMD - Compiling for use with Codec Server

I am trying to disable the DSP clock on a DM6467T for power savings, when using the ARM, but not using the DSP.  I am using the encode demo from the DVSDK as a baseline.  I tried setting the PDCCMD register and executing the IDLE instruction from a call through Codec Engine, but I believe it’s failing because the PDCCMD register can only be set in supervisor mode, and calls to the DSP via codec engine don’t run in supervisor mode.  Based on the post below, the proper approach is to set the register and execute IDLE from an interrupt service routine.  I have seen the wiki page on adding ISRs to DSP/BIOS, but I’m unsure whether this applies to dual core ARM/DSP processors using codec server. 

 

What is the proper way to write the PDCCMD register and execute the idle instruction on the DSP?  Via ISR?  If so, how can I add an ISR using the DVSDK’s toolchain and Codec Server?  What other things do I need to be aware of, such as how to send an interrupt from the ARM to the DSP, and how to enable that interrupt from the DSP?

Thanks

 

Wiki Page for Setting up interrupts in DSP BIOS:

http://processors.wiki.ti.com/index.php/Setting_up_interrupts_in_DSP_BIOS

 

E2E thread suggesting an ISR for DSP clock power-down:

http://e2e.ti.com/support/embedded/bios/f/355/p/89531/313621.aspx#313621

 

E2E thread addressing a similar question, but with conflicting answers:

http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/29670/103143.aspx