diff options
author | Joseph Lo <josephl@nvidia.com> | 2013-04-03 19:31:28 +0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:42:19 -0700 |
commit | e4e1009b4728dfe8da78e60d4dad6ece2ab3f90d (patch) | |
tree | 5287d744e96d1975b5859a7582b4123cee1bcfac /arch/arm/mach-tegra/pm.c | |
parent | 29182221bbb6bdc5d3461db7e8405aba53a4e5cb (diff) |
ARM: tegra: moving the CPU power timer function to PMC driver
The CPU power timer set up function was related to PMC register. Now moving
it to PMC driver. And it also help to clean up the PM related code later.
The timer was calculated based on the input clock of PMC. In this patch, we
also get the clock from DT.
Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
(cherry picked from commit 0337c3e0c3cbbb3a4f411c292f52fcc314abae67)
bug 1173104
Change-Id: I03a80b2c0cfcb5223b1b113f395ef3899eafd06e
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-on: http://git-master/r/263722
Diffstat (limited to 'arch/arm/mach-tegra/pm.c')
-rw-r--r-- | arch/arm/mach-tegra/pm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index 74e656753295..53f333d6e529 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -28,7 +28,9 @@ #include <linux/smp.h> #include <linux/irq.h> #include <linux/interrupt.h> -#include <linux/clk.h> +#include <linux/cpumask.h> +#include <linux/delay.h> +#include <linux/cpu_pm.h> #include <linux/err.h> #include <linux/debugfs.h> #include <linux/delay.h> @@ -72,6 +74,7 @@ #include "pm.h" #include "pm-irq.h" #include "reset.h" +#include "pmc.h" #include "sleep.h" #include "timer.h" #include "dvfs.h" @@ -105,6 +108,7 @@ struct suspend_context { struct tegra_twd_context twd; }; +#define PMC_CTRL 0x0 #ifdef CONFIG_PM_SLEEP phys_addr_t tegra_pgd_phys; /* pgd used by hotplug & LP2 bootup */ @@ -473,6 +477,8 @@ void tegra_limit_cpu_power_timers(unsigned long us_on, unsigned long us_off) set_power_timers(us_on, us_off, clk_get_min_rate(tegra_pclk)); } +void (*tegra_tear_down_cpu)(void); + /* * restore_cpu_complex * |