aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/pm.h
AgeCommit message (Collapse)AuthorFilesLines
2010-12-21OMAP3: pm: introduce errata handlingNishanth Menon1-0/+7
Introduce errata handling for OMAP3. This patch introduces errata variable and stub for initialization which will be filled up by follow-on patches. Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-12-21omap4: opp: add OPP table dataNishanth Menon1-0/+5
This patch adds OPP tables for OMAP4. New file has been added to keep the OMAP4 opp tables and the registration of these tables with the generic opp framework by OMAP SoC OPP interface. Based on: http://dev.omapzoom.org/?p=santosh/kernel-omap4-base.git;a=blob;f=arch/arm/mach-omap2/opp44xx_data.c;h=252e3d0cb6050a64f390b9311c1c4977d74f762a;hb=refs/heads/omap4_next Signed-off-by: Thara Gopinath <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-12-21omap: opp: add OMAP3 OPP table data and common initNishanth Menon1-0/+9
Add OPP data for OMAP34xx and OMAP36xx and initialization functions to populate OPP tables based on current SoC. introduce an OMAP generic opp initialization routine which OMAP3 and OMAP4+ SoCs can use to register their OPP definitions. Cc: Thomas Petazzoni <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-10-01OMAP: PM: Fix build when CONFIG_PM_DEBUG isn't setLoïc Minier1-3/+4
Since 6cdee91257bee23a46dc869ca62469b67cba2c7e the references to enable_off_mode and sleep_while_idle can't be resolved when CONFIG_PM_DEBUG isn't set: arch/arm/mach-omap2/built-in.o: In function `omap_uart_restore_context': arch/arm/mach-omap2/serial.c:253: undefined reference to `enable_off_mode' arch/arm/mach-omap2/built-in.o: In function `omap3_can_sleep': arch/arm/mach-omap2/pm34xx.c:479: undefined reference to `sleep_while_idle' Simply #define these in pm.h just like omap2_pm_debug. Signed-off-by: Loïc Minier <[email protected]> [khilman: moved down into existing #ifdef section] Signed-off-by: Kevin Hilman <[email protected]>
2010-09-23omap: pm: Move set_pwrdm_state routine to common pm.cSantosh Shilimkar1-1/+1
The set_pwrdm_state() is needed on omap4 as well so move this routine to common pm.c file so that it's available for omap3/4 Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-23omap: pm-debug: Move common debug code to pm-debug.cSantosh Shilimkar1-0/+2
This patch moves omap2_pm_wakeup_on_timer() and pm debug entries form pm34xx.c to pm-debug.c and export it, so that it is available to other OMAPs Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-05-12OMAP3: PM: Add milliseconds interface to suspend wakeup timerAri Kauppi1-0/+1
Millisecond resolution is possible and there are use cases for it (automatic testing). Seconds-based interface is preserved for compatibility. Signed-off-by: Ari Kauppi <[email protected]> Reviewed-by: Phil Carmody <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-02-23OMAP3: cpuidle: Add valid field into C-state parameter passingKalle Jokiniemi1-0/+1
Different boards benefit differently from the available seven C-states for cpu idle. In most cases, only few, properly spaced (in terms of consumption and latency) C-states are required to make the power management optimal. Hence we need a possibility to pass which C-states are actually used for each board. So added the valid field to cpuidle_params and added support to 3430sdp, which uses the paramenter passing. Signed-off-by: Kalle Jokiniemi <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-02-23OMAP3: cpuidle: configure latencies/thresholds from board fileKevin Hilman1-0/+15
The CPUidle C state latencies and thresholds are dependent on various board specific details. This patch makes it possible to configure these values from the respective board files. omap3_pm_init_cpuidle() can now be optionally called from board files to pass board specific cpuidle parameters. If the board files do not use this function to pass the params default values are used which might cause higher consumption dur to wrong state selection by the governor. This patch only updates the 3430sdp board files to use omap3_pm_init_cpuidle(). From Kalle, in addition to original patch from Rajendra: Building without CONFIG_CPU_IDLE or CONFIG_PM causes build to fail if cpu idle parameters are tried to pass using omap3_pm_init_cpuidle function. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Kalle Jokiniemi <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-02-23OMAP3: cpuidle: Update statistics for correct stateSanjeev Premi1-0/+4
When 'enable_off_mode' is 0, the target power state for MPU and CORE was locally changed to PWRDM_POWER_RET but, the statistics are updated for idle state originally selected by the governor. This patch 'invalidates' the idle states that lead either of MPU or Core to PWRDM_POWER_OFF state when 'enable_off_mode' is '0'. The states are valid once 'enable_off_mode' is set to '1'. Added function next_valid_state() to check if current state is valid; else get the next valid state. It is called from omap3_enter_idle_bm(). Signed-off-by: Sanjeev Premi <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-01-20OMAP3: PM debug: fix build error when !CONFIG_DEBUG_FSManjunatha GK1-2/+6
The PM debug code fails to build on when CONFIG_DEBUG_FS is not enabled. Build error log: arch/arm/mach-omap2/built-in.o: In function `omap_sram_idle': arch/arm/mach-omap2/pm34xx.c:449: undefined reference to `pm_dbg_regset_save' arch/arm/mach-omap2/pm34xx.c:460: undefined reference to `pm_dbg_regset_save' arch/arm/mach-omap2/built-in.o: In function `configure_vc': arch/arm/mach-omap2/pm34xx.c:1237: undefined reference to `pm_dbg_regset_init' arch/arm/mach-omap2/pm34xx.c:1238: undefined reference to `pm_dbg_regset_init' make: *** [.tmp_vmlinux1] Error 1 This patch fixes the above errors. Kernel booting is tested on omap zoom2 and zoom3 boards. Signed-off-by: Manjunatha GK <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11OMAP3: PM: CPUidle: fix init sequencingKalle Jokiniemi1-0/+1
Previously omap3_idle_init() was called in device_init, while omap_pm_init() is called at late_initcall. This causes the cpu idle driver to call omap_sram_idle before it is properly initialized. This patch fixes the issue by moving omap3_idle_init into omap3_pm_init. Signed-off-by: Kalle Jokiniemi <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11OMAP3: PM: CPUidle: support retention and off-mode C-statesRajendra Nayak1-0/+2
This patch adds support and enables state C4(MPU RET + CORE RET) and MPU OFF states (C3 and C5.) Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11OMAP3: PM: CPUidle: base driver and support for C1-C2Rajendra Nayak1-0/+1
Basic CPUidle driver for OMAP3 with deepest sleep state supported being MPU CSWR. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11PM debug: allow configurable wakeup from suspend on OMAP GPtimerKevin Hilman1-0/+3
Using debugfs, export a configurable wakeup timer to be used to wakeup system from suspend. If a non-zero value is written to /debug/pm_debug/wakeup_timer_seconds, A timer wakeup event will wake the system and resume after the configured number of seconds. Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11OMAP3: PM debug: allow runtime toggle of PM featuresKevin Hilman1-0/+4
Allow enable/disable of low-power states during idle. To enable low-power idle: echo 1 > /debug/pm_debug/sleep_while_idle to disable: echo 0 > /debug/pm_debug/sleep_while_idle Also allow enable/disable of OFF-mode. To enable: echo 1 > /debug/pm_debug/enable_off_mode to disable: echo 0 > /debug/pm_debug/enable_off_mode Signed-off-by: Kevin Hilman <[email protected]>
2009-11-11OMAP3 PM: off-mode support for HS/EMU devicesTero Kristo1-0/+3
For HS/EMU devices, some additional resources need to be saved/restored for off-mode support. Namely, saving the secure RAM and a pointer to it in the scratchpad. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-10-20omap: headers: Move remaining headers from include/mach to include/platTony Lindgren1-1/+1
Move the remaining headers under plat-omap/include/mach to plat-omap/include/plat. Also search and replace the files using these headers to include using the right path. This was done with: #!/bin/bash mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" headers=$(cd $mach_dir_old && ls *.h) omap_dirs="arch/arm/*omap*/ \ drivers/video/omap \ sound/soc/omap" other_files="drivers/leds/leds-ams-delta.c \ drivers/mfd/menelaus.c \ drivers/mfd/twl4030-core.c \ drivers/mtd/nand/ams-delta.c" for header in $headers; do old="#include <mach\/$header" new="#include <plat\/$header" for dir in $omap_dirs; do find $dir -type f -name \*.[chS] | \ xargs sed -i "s/$old/$new/" done find drivers/ -type f -name \*omap*.[chS] | \ xargs sed -i "s/$old/$new/" for file in $other_files; do sed -i "s/$old/$new/" $file done done for header in $(ls $mach_dir_old/*.h); do git mv $header $plat_dir_new/ done Signed-off-by: Tony Lindgren <[email protected]>
2009-09-02OMAP: PM: Added suspend target state control to debugfs for OMAP3Tero Kristo1-0/+3
Target state can be read / programmed via files under: [debugfs]/pm_debug/[pwrdm]/suspend Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-09-02OMAP: PM debug: Add PRCM register dump supportTero Kristo1-0/+4
Allows dumping out current register contents from the debug filesystem, and also allows user to add arbitrary register save points into code. Current register contents are available under debugfs at: [debugfs]/pm_debug/registers/current To add a save point, do following: From module init (or somewhere before the save call, called only once): pm_dbg_init_regset(n); // n=1..4, allocates memory for dump area #n From arbitrary code location: pm_dbg_regset_save(n); // n=1..4, saves registers to dump area #n After this, the register dump can be seen under [debugfs]/pm_debug/registers/n Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-09-02OMAP: PM: Add pm-debug countersPeter 'p2' De Schrijver1-0/+4
This patch provides the debugfs entries and a function which will be called by the PM code to register the time spent per domain per state. Also some new fields are added to the powerdomain struct to keep the time information. NOTE: As of v2.6.29, using getnstimeofday() after drivers are suspended is no longer safe since the timekeeping subsystem is also suspended as part of the suspend process. Instead use sched_clock() which on OMAP returns the 32k SYNC timer in nanoseconds. Also, do not print out status for meta powerdomains (dpll*) Signed-off-by: Peter 'p2' De Schrijver <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2009-08-05OMAP2/3: PM: make PM __init calls staticKevin Hilman1-3/+0
Signed-off-by: Kevin Hilman <[email protected]>
2009-05-28OMAP2/3: PM: push core PM code from linux-omapKevin Hilman1-0/+38
This patch is to sync the core linux-omap PM code with mainline. This code has evolved and been used for a while the linux-omap tree, but the attempt here is to finally get this into mainline. Following this will be a series of patches from the 'PM branch' of the linux-omap tree to add full PM hardware support from the linux-omap tree. Much of this PM core code was written by Jouni Hogander with significant contributions from Paul Walmsley as well as many others from Nokia, Texas Instruments and linux-omap community. Signed-off-by: Jouni Hogander <[email protected]> Cc: Paul Walmsley <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>