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.

PM - understanding power management

Guru 20755 points
Other Parts Discussed in Thread: OMAP3530

Hello,

I'm using OMAP3530 device.
As part of understanding the PM mechanism, when the SW get to sleep, in some simple sleep() call,

1. Will it result in system going from Active state to OFF/RETENTION mode ?
2. Do we need to set any timer as wakeup source to achieve wakeup from sleep ?
3. In http://processors.wiki.ti.com/index.php/AM335x_Power_Management_Standby_User
it is described that we can explcitly force getting into standby. Is it same as forcing into PM suspend ? 
How can we force standby if some process still going on ?

Thanks!

Ran

  • Hi Ran,

    1. If you calling simple sleep() function it refers to the current process only but doesn't reflect to the state of system and the system doesn't go to OFF/RETENTION mode but stay in active mode.

    2. Yes, timers or interrupts can change the state of system from sleep to active.

    3. You can force going to standby but the result depends on the process whether it is user application or system process. If you have active user application process the system can by forced to standby but sometimes some active system processes can prevent going to standby.

    You can find helpful information about OMAP3530 power management in the OMAP35x Technical reference manual (Rev. Y) section 3.3.2 Power Management which can be downloaded from the link:

    http://www.ti.com/product/OMAP3530/technicaldocuments

    BR

    Tsvetolin Shulev

  • Hi Tsvetloin, 

    Thanks a lot, I will go over the TRM section, and see if it answers the questions from SW perspective too.

    Regards,

    Ran

  • Hi Ran,

    I would like to add one more clarification about how to make the system going to sleep by using the pm_suspend(suspend_state_t state) function defined in the linux_kernel/kernel/power/suspend.c file. For example with PM_SUSPEND_MEM parameter.

    BR

    Tsvetolin Shulev

  • Hi Tvestolin,

    "1. If you calling simple sleep() function it refers to the current process only but doesn't reflect to the state of system and the system doesn't go to OFF/RETENTION mode but stay in active mode."

    If there is only one user process which sleeps, do you say that still the system (kernel?) might be doing some work ? if yes - than how can we achieve sleeping of cpu by software ?

    Do you mean that we should watch carefully all kernel process becuase if one of them is working then the system stays in active ?

    When the sleep command wakeups what is it that waked up the cpu ? Is it hw timer ? I ask becuase I wander if I need to define specific wakeup soutce for the sleep to work correctly with power management.

    Thank you,

    Ran