diff options
author | Wen Yi <wyi@nvidia.com> | 2012-01-23 22:54:21 -0800 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2012-01-31 04:22:28 -0800 |
commit | dd45552b4f02badea998931881ee9671cba40e5e (patch) | |
tree | 17ab159037b7cd1e71654eb2b7aa1587a4364610 /arch/arm/mach-tegra/pm.c | |
parent | 4bea73c207fa4099df484b196508283a0c5b183c (diff) |
arm: tegra3: change min_rate for sclk
Change the minimal rate of sclk to 12 MHz and set the lowest
frequency of sbus to be 40 MHz when display is on.
BUG 922351
Reviewed-on: http://git-master/r/76959
Change-Id: I6a2871d1cc02a19829cf397e9583122e02255f81
Signed-off-by: Wen Yi <wyi@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/78010
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pm.c')
-rw-r--r-- | arch/arm/mach-tegra/pm.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index 58aec4ff0f8d..803ce0762fcf 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -33,6 +33,7 @@ #include <linux/debugfs.h> #include <linux/delay.h> #include <linux/suspend.h> +#include <linux/earlysuspend.h> #include <linux/slab.h> #include <linux/serial_reg.h> #include <linux/seq_file.h> @@ -1257,3 +1258,33 @@ static int tegra_debug_uart_syscore_init(void) return 0; } arch_initcall(tegra_debug_uart_syscore_init); + +#ifdef CONFIG_HAS_EARLYSUSPEND +static struct clk *clk_wake; + +static void pm_early_suspend(struct early_suspend *h) +{ + if (clk_wake) + clk_disable(clk_wake); +} + +static void pm_late_resume(struct early_suspend *h) +{ + if (clk_wake) + clk_enable(clk_wake); +} + +static struct early_suspend pm_early_suspender = { + .suspend = pm_early_suspend, + .resume = pm_late_resume, +}; + +static int pm_init_wake_behavior(void) +{ + clk_wake = tegra_get_clock_by_name("wake.sclk"); + register_early_suspend(&pm_early_suspender); + return 0; +} + +late_initcall(pm_init_wake_behavior); +#endif |