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 shutdown for omapl138

Other Parts Discussed in Thread: OMAP-L138

Hello,

I'm looking for a way to disable easyly the dsp from ARM side.

Looking http://www.ti.com/lit/ug/sprufk5a/sprufk5a.pdf and technical reference guide.

I was thinking of using PSC for that purpose:

reading PSC:

md.l 0x01C10A30 -> 0x1D03 (PSC0ModuleControl15)

I try to put into disable state;

mw.l 1C10A30 0x82

and then activate the next state:

mw.l 1C1120 1 (PowerDomainTransitionCommandRegister(PTCMD))

But there is no effect.

In fact writing to 0x01C10A30 make no effect.

I'm under u-boot.

Is this the good way to do?

OR the only way is to follow "9.2.5 C674xMegamodulePower-Down"  or "9.3 Power-DownControllerCommandRegister(PDCCMD)"?

If yes do you have a kind of example to make such code running from ARM at u-boot level?

 

Regards.

  • One question: Why is the DSP enabled under u-boot?

    Regardless of that, look at section 10.7.4.1 of the OMAP-L138 Technical Reference Manual.

    The code I provided in this post shows both disabling and enabling the DSP from the ARM using the PSC.  I have not tried to do this under u-boot, so I don't know how effective that would be.

    Regards, Daniel

  • Hi daniel,

     

    Thanks, this was exactly what I was looking for.

    Sure under U-boot it was a pain so I tried under linux with succes.

    (U-boot code set DSP in Idle state at startup.)

    One question remain.

    I see the state of DSP = 0x2 for lowest bytes. Still the power consumption did not go down as expected.

    Sure under linux the DSP was in idle state but still I expected to save more power using this method.

    Is there something else to shutdown?

    Reading DSP megamodule doc there is complex method to shutdown the mega module only available from  DSP side.

    Does the method with PSC is the optimal one (ie. deactivate also DSP L1/L2 cache etc... ?)

    My board still eat 1.2W @300Mz currently :/ without SATA and ethernet is this normal?

    Thanks for your help.

    Laurent.

  • Pep said:

    I see the state of DSP = 0x2 for lowest bytes. Still the power consumption did not go down as expected.

    Sure under linux the DSP was in idle state but still I expected to save more power using this method.

    Is there something else to shutdown?

    Laurent,

    You can try setting the DSP to the SWRSTDISABLE state (0x00 instead of 0x02).  That will clock gate the entire DSP module, in addition to putting it in a global reset.  That should provide maximum power savings for the DSP domain.  As for your board power consumption, I can't comment on that.  I can say that I have seen the OMAP-L138 device use about 500 mW on the 1.2V core voltage when running at 456 MHz, about 200mW of which is the DSP (when the DSP was fully loaded).  But that is only core power consumption, you are running at only 300MHz and I don't know what else is on your board, nor am I an expert in power consumption or power optimization. The above example is only to illustrate that shutting down the DSP can save power, but only so much.

    Regards, Daniel