kernel_optimize_test/arch/mips/alchemy/common
Manuel Lauss 61f9c58da5 MIPS: Alchemy: new userspace suspend interface for development boards.
Replace the current sysctl-based suspend interface with a new sysfs-
based one which also uses the Linux-2.6 suspend model.

To configure wakeup sources, a subtree for the demoboards is created
under /sys/power/db1x:

sys/
`-- power
    `-- db1x
        |-- gpio0
        |-- gpio1
        |-- gpio2
        |-- gpio3
        |-- gpio4
        |-- gpio5
        |-- gpio6
        |-- gpio7
        |-- timer
        |-- timer_timeout
        |-- wakemsk
        `-- wakesrc

The nodes 'gpio[0-7]' and 'timer' configure the GPIO0..7 and M2
bits of the SYS_WAKEMSK (wakeup source enable) register.  Writing '1'
enables a wakesource, 0 disables it.

The 'timer_timeout' node holds the timeout in seconds after which the
TOYMATCH2 event should wake the system.

The 'wakesrc' node holds the SYS_WAKESRC register after wakeup (in hex),
the 'wakemsk' node can be used to get/set the wakeup mask directly.

For example, to have the timer wake the system after 10 seconds of sleep,
the following must be done in userspace:

echo 10 > /sys/power/db1x/timer_timeout
echo 1 > /sys/power/db1x/timer
echo mem > /sys/power/sleep

This patch also removes the homebrew CPU frequency switching code.  I don't
understand how it could have ever worked reliably; it does not communicate
the clock changes to peripheral devices other than uarts.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 create mode 100644 arch/mips/alchemy/devboards/pm.c
2009-01-11 09:57:27 +00:00
..
clocks.c MIPS: Alchemy: move calc_clock function. 2009-01-11 09:57:27 +00:00
dbdma.c MIPS: Alchemy: dbdma suspend/resume support. 2009-01-11 09:57:27 +00:00
dma.c MIPS: Alchemy: rename directory 2008-10-11 16:18:50 +01:00
gpio.c MIPS: Alchemy: rename directory 2008-10-11 16:18:50 +01:00
irq.c MIPS: Alchemy: new userspace suspend interface for development boards. 2009-01-11 09:57:27 +00:00
Makefile MIPS: Alchemy: remove cpu_table. 2009-01-11 09:57:26 +00:00
pci.c MIPS: Alchemy: rename directory 2008-10-11 16:18:50 +01:00
platform.c MIPS: Alchemy: Wire up SD controller on DB/PB1200 boards. 2008-10-27 16:18:27 +00:00
power.c MIPS: Alchemy: new userspace suspend interface for development boards. 2009-01-11 09:57:27 +00:00
prom.c MIPS: Alchemy: rename directory 2008-10-11 16:18:50 +01:00
puts.c MIPS: Alchemy: rename directory 2008-10-11 16:18:50 +01:00
reset.c MIPS: Alchemy: Fix up PM code on Au1550/Au1200 2009-01-11 09:57:27 +00:00
setup.c MIPS: Alchemy: move calc_clock function. 2009-01-11 09:57:27 +00:00
sleeper.S MIPS: Alchemy: Fix up PM code on Au1550/Au1200 2009-01-11 09:57:27 +00:00
time.c MIPS: Alchemy: move calc_clock function. 2009-01-11 09:57:27 +00:00