summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c/pm.c
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] S3C64XX: Initial support for PM (suspend to RAM)Ben Dooks2009-05-071-2/+4
| | | | | | | | | | Add the initial support for the S3C64XX based systems to use suspend-to-RAM to sleep. Includes basic debugging for use with the SMDK6410 usign the LEDs on the baseboard. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: PM save UART UDIVSLOT if doing PMBen Dooks2009-05-071-0/+8
| | | | | | | Add the facility to save the UART UDIVSLOT register if the UART state is being saved over suspend. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Add debug to UART save and a per-arch callback pre-restoreBen Dooks2009-05-071-0/+5
| | | | | | | | Add a simple debug message on saving the UART state and add a per-arch pre-restore function to be used by the s3c64xx restore code to ensure the UARTs control registers do not go through any illegal state changes. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Tidy sleep code path to fix call flowBen Dooks2009-03-101-9/+11
| | | | | | | | | | | | | | | | | | | As noted by Russell King, the sleep code path is not elegant and makes use of leaving items on the stack between calls. Change the code that does the following: if (s3c_cpu_save(regs_save) == 0) { flush_cache_all(); S3C_PMDBG("preparing to sleep\n"); pm_cpu_sleep(); } to simply call s3c_cpu_save, and let that do the necessary calls to quiesce and sleep the system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Do not kmalloc/kfree during inner suspend code.Ben Dooks2009-03-081-4/+15
| | | | | | | | | | | | The PM CRC checking code kmallocs an area to save a set of CRC values during suspend. This triggers a warning due to the call of a function that might sleep whilst the system is not in a valid state to do so. Move the allocation and free to points in the suspend and resume process where they can call a function that might-sleep. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Update UART save over PM suspend/resumeBen Dooks2009-03-081-22/+39
| | | | | | | | | | | | Change the way the UART state is saved over suspend to allow the s3c64xx code to modify the settings on resume to avoid any illegal state changes to the UART clocks. This will also allow us to save the UDIVSLOT register on newer SoCs. Move to using a structure for the UART use the extant Kconfig configuration specifying the number of UARTs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Rename sleep.S functions to be non-cpu specificBen Dooks2009-03-081-1/+2
| | | | | | | | Rename s3c2410_cpu_resume to s3c_cpu_resume and s3c2410_cpu_save to s3c_cpu_save to remove the CPU specific naming of these functions which are now in the generic PM code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Rename s3c2410_pm_init to s3c_pm_init.Ben Dooks2009-03-081-2/+2
| | | | | | | | Since we have moved a large proportion of the PM code to the common support area, remove the cpu specific name from the initialisation function. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Make IRQ_EINT sleep control commonBen Dooks2009-03-081-0/+24
| | | | | | | | | Move the IRQ_EINT sleep control to be available to all s3c impelmentations. Since s3c_irqext_wake is not large, place it in arch/arm/plat-s3c/pm.c as adding it to a new file would be a waste of compile time. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Move plat-s3c24xx pm.c support into plat-s3cBen Dooks2009-03-081-0/+211
| | | | | | | Move parts of the core and debug suspend code into the plat-s3c for use with the new s3c64xx code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Move PM support functions to common locationBen Dooks2009-03-081-0/+97
Start moving the PM code by moving all the common support functions to a common location in arch/arm/plat-s3c. With the move we rename the functions from s3cxxx_ to s3c_ to fit the new location. Signed-off-by: Ben Dooks <ben-linux@fluff.org>