ARM: tegra: power: Consolidate power management flags
Scott Williams [Thu, 21 Jul 2011 19:24:05 +0000 (12:24 -0700)]
Consolidate all of the power management control flags in one
header and adjust the values of the software flags so that they
do not conflict with the values of the hardware flags.

Change-Id: I7971d274946d84dcc50bd9d9e0190091ebbefa2e
Signed-off-by: Scott Williams <scwilliams@nvidia.com>
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: R29d2420a74f977c16f73b1abd9ca7470695a53f4

arch/arm/mach-tegra/pm.h
arch/arm/mach-tegra/sleep.h
arch/arm/mach-tegra/sysfs-cluster.c

index 13c5845..561660b 100644 (file)
@@ -53,14 +53,6 @@ bool tegra_set_cpu_in_lp2(int cpu);
 
 int tegra_suspend_dram(enum tegra_suspend_mode mode);
 
-#define TEGRA_POWER_SDRAM_SELFREFRESH  0x400   /* SDRAM is in self-refresh */
-
-#define TEGRA_POWER_CLUSTER_G          0x1000  /* G CPU */
-#define TEGRA_POWER_CLUSTER_LP         0x2000  /* LP CPU */
-#define TEGRA_POWER_CLUSTER_MASK       0x3000
-#define TEGRA_POWER_CLUSTER_IMMEDIATE  0x4000  /* Immediate wake */
-#define TEGRA_POWER_CLUSTER_FORCE      0x8000  /* Force switch */
-
 #define FLOW_CTRL_CLUSTER_CONTROL \
        (IO_ADDRESS(TEGRA_FLOW_CTRL_BASE) + 0x2c)
 
index fecd459..63f2066 100644 (file)
 
 #include "iomap.h"
 
+#define TEGRA_POWER_SDRAM_SELFREFRESH  (1 << 26) /* SDRAM is in self-refresh */
+#define TEGRA_POWER_HOTPLUG_SHUTDOWN   (1 << 27) /* Hotplug shutdown */
+#define TEGRA_POWER_CLUSTER_G          (1 << 28) /* G CPU */
+#define TEGRA_POWER_CLUSTER_LP         (1 << 29) /* LP CPU */
+#define TEGRA_POWER_CLUSTER_MASK       (TEGRA_POWER_CLUSTER_G | \
+                                               TEGRA_POWER_CLUSTER_LP)
+#define TEGRA_POWER_CLUSTER_IMMEDIATE  (1 << 30) /* Immediate wake */
+#define TEGRA_POWER_CLUSTER_FORCE      (1 << 31) /* Force switch */
+
 #define TEGRA_IRAM_CODE_AREA           (TEGRA_IRAM_BASE + SZ_4K)
 
 /* PMC_SCRATCH37-39 and 41 are used for tegra_pen_lock in Tegra2 idle */
 /* PMC_SCRATCH41 stores the reset vector of the CPU after LP0 and LP1 */
 #define PMC_SCRATCH41                   0x140
 
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
 #define CPU_RESETTABLE                 2
 #define CPU_RESETTABLE_SOON            1
 #define CPU_NOT_RESETTABLE             0
+#endif
 
 #define TEGRA_ARM_PERIF_VIRT (TEGRA_ARM_PERIF_BASE - IO_CPU_PHYS \
                                        + IO_CPU_VIRT)
index bf99e87..3aa51dd 100644 (file)
 #include <linux/io.h>
 #include <linux/clk.h>
 
+#include "clock.h"
 #include "iomap.h"
+#include "sleep.h"
 #include "pm.h"
-#include "clock.h"
 
 #define SYSFS_CLUSTER_PRINTS      1    /* Nonzero: enable status prints */
 #define SYSFS_CLUSTER_TRACE_PRINTS 0   /* Nonzero: enable trace prints */