summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pm.c
diff options
context:
space:
mode:
authorJoseph Lo <josephl@nvidia.com>2013-04-03 19:31:28 +0800
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:42:19 -0700
commite4e1009b4728dfe8da78e60d4dad6ece2ab3f90d (patch)
tree5287d744e96d1975b5859a7582b4123cee1bcfac /arch/arm/mach-tegra/pm.c
parent29182221bbb6bdc5d3461db7e8405aba53a4e5cb (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.c8
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
*