[RFC] powerpc/mpc85xx: add support for suspend mode

Sebastian Andrzej Siewior bigeasy at linutronix.de
Thu Jun 4 17:59:35 EST 2009


* Kumar Gala | 2009-06-03 16:31:42 [-0500]:

>On Jun 3, 2009, at 2:54 PM, Sebastian Andrzej Siewior wrote:
>
>>This patch adds support for the MPC85xx boards to enter the SLEEP  
>>mode.
>>The wake up is done via an external interrupt.
>>mpc85xx_enter_sleep() does not clear HID0_SLEEP in resume but it may  
>>be
>>okay since it gets cleared on next NAP/DOZE.
>>mpc85xx_enter_sleep() is mostly copied from NAP/DOZE. It does not look
>>like it is worth to merge into e500_idle(). I removed the feature  
>>check
>>for NAP/DOZE because it does not look required. It is just there to  
>>work
>>around the BDI. If it is required it could be moved to
>>mpc85xx_init_suspend().
>>The suspend.c file contains a sample implementation. I need  
>>additionally
>>to add hooks prio and after mpc85xx_enter_sleep() to toggle a few bits
>>in my FPGA. Since the suspend.c is really short I'm not sure if it is
>>worth to keep it here and add couple function prototypes or add the
>>required bits directly into the board code.
>>
>>Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
>>---
>>arch/powerpc/Kconfig                  |    2 +-
>>arch/powerpc/kernel/idle_e500.S       |   43 ++++++++++++++++++++++++ 
>>+++++++++
>>arch/powerpc/platforms/85xx/Makefile  |    1 +
>>arch/powerpc/platforms/85xx/suspend.c |   27 ++++++++++++++++++++
>>4 files changed, 72 insertions(+), 1 deletions(-)
>>create mode 100644 arch/powerpc/platforms/85xx/suspend.c
>
>On what system did you test / develop this on?

An mpc8544ds based custom board. Non-SMP machine. The only negative
thing I've noticed is that the clock stops in SLEEP. The spec says
that all clocks will halt so I thing it is okay :) I have no RTC
directly on my board so I'm not sure if I have to call something to sync
with a RTC or the suspend code is doing this on its own.

>
>- k

Sebastian



More information about the Linuxppc-dev mailing list