diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:15:06 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:15:06 +0100 |
commit | 6b2aa055488af2048d4e991c0e1754c24b1b30f5 (patch) | |
tree | 6e70f3db0a742f705e9952b5c854ecbc1dcdbf7a /arch/arm/mach-omap2/pm.c | |
parent | 77b67063bb6bce6d475e910d3b886a606d0d91f7 (diff) | |
parent | 46bf4a562207c5ebd24e1dde5e5ee326cd3d6b91 (diff) |
Merge tag 'omap-for-v3.8/pm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/pm
From Tony Lindgren <tony@atomide.com>:
PM updates for omaps via Kevin Hilman <khilman@deeprootsystems.com>:
- Minor pr_warn() cleanup for OMAP2+ Voltage Processor (VP)
- OMAP: SmartReflex: pass device-independent data via platform_data
- OMAP voltage layer updates towards supporting auto-retention/auto-off
* tag 'omap-for-v3.8/pm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP4: OPP: add OMAP4460 definitions
ARM: OMAP4: TWL: enable high speed mode for PMIC communication
ARM: OMAP4: VC: setup I2C parameters based on board data
ARM: OMAP4: vc: fix channel configuration
ARM: OMAP3+: voltage: remove unused volt_setup_time parameter
ARM: OMAP: TWL: change the vddmin / vddmax voltages to spec
ARM: OMAP3+: voltage: use oscillator data to calculate setup times
ARM: OMAP3+: vp: use new vp_params for calculating vddmin and vddmax
ARM: OMAP: add support for oscillator setup
ARM: OMAP4: VC: calculate ramp times
ARM: OMAP4: voltage: add support for VOLTSETUP_x_OFF register
ARM: OMAP3: VC: calculate ramp times
ARM: OMAP3+: voltage: introduce omap vc / vp params for voltagedomains
ARM: OMAP: voltage: renamed vp_vddmin and vp_vddmax fields
ARM: OMAP3+: PM: VP: use uV for max and min voltage limits
ARM: OMAP2+: PM: VP: minor pr_warn updates
ARM: OMAP: SmartReflex: pass device dependent data via platform data
ARM: OMAP: hwmod: align the SmartReflex fck names
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index ea61c32957b..109a02e02d7 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c @@ -39,6 +39,36 @@ static struct omap_device_pm_latency *pm_lats; */ int (*omap_pm_suspend)(void); +/** + * struct omap2_oscillator - Describe the board main oscillator latencies + * @startup_time: oscillator startup latency + * @shutdown_time: oscillator shutdown latency + */ +struct omap2_oscillator { + u32 startup_time; + u32 shutdown_time; +}; + +static struct omap2_oscillator oscillator = { + .startup_time = ULONG_MAX, + .shutdown_time = ULONG_MAX, +}; + +void omap_pm_setup_oscillator(u32 tstart, u32 tshut) +{ + oscillator.startup_time = tstart; + oscillator.shutdown_time = tshut; +} + +void omap_pm_get_oscillator(u32 *tstart, u32 *tshut) +{ + if (!tstart || !tshut) + return; + + *tstart = oscillator.startup_time; + *tshut = oscillator.shutdown_time; +} + static int __init _init_omap_device(char *name) { struct omap_hwmod *oh; |