ARM: tegra12: set CPU rate to 2.2GHz for sku 0x87
[linux-3.10.git] / arch / arm / mach-tegra / pm.h
index 88332a0..6b86d50 100644 (file)
 
 #include "iomap.h"
 
+#include "pmc.h"
+
 #define PMC_SCRATCH0           0x50
 #define PMC_SCRATCH1           0x54
 #define PMC_SCRATCH4           0x60
 
-enum tegra_suspend_mode {
-       TEGRA_SUSPEND_NONE = 0,
-       TEGRA_SUSPEND_LP2,      /* CPU voltage off */
-       TEGRA_SUSPEND_LP1,      /* CPU voltage off, DRAM self-refresh */
-       TEGRA_SUSPEND_LP0,      /* CPU + core voltage off, DRAM self-refresh */
-       TEGRA_MAX_SUSPEND_MODE,
-};
-
 enum suspend_stage {
        TEGRA_SUSPEND_BEFORE_PERIPHERAL,
        TEGRA_SUSPEND_BEFORE_CPU,
@@ -88,7 +82,7 @@ struct tegra_suspend_platform_data {
        unsigned long min_residency_crail;
        bool crail_up_early;
 #endif
-       unsigned long min_residency_mc_clk;
+       unsigned long min_residency_mclk_stop;
        bool usb_vbus_internal_wake; /* support for internal vbus wake */
        bool usb_id_internal_wake; /* support for internal id wake */
 
@@ -119,6 +113,12 @@ bool tegra_set_cpu_in_pd(int cpu);
 void tegra_mc_clk_prepare(void);
 void tegra_mc_clk_finish(void);
 int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags);
+#ifdef CONFIG_TEGRA_LP0_IN_IDLE
+int tegra_enter_lp0(unsigned long sleep_time);
+#else
+static inline int tegra_enter_lp0(unsigned long sleep_time)
+{ return 0; }
+#endif
 #ifdef CONFIG_TEGRA_LP1_LOW_COREVOLTAGE
 int tegra_is_lp1_suspend_mode(void);
 #endif
@@ -171,7 +171,7 @@ static inline void tegra_lp0_cpu_mode(bool enter) {}
 #endif
 
 #ifdef CONFIG_TEGRA_CLUSTER_CONTROL
-#define INSTRUMENT_CLUSTER_SWITCH 0    /* Should be zero for shipping code */
+#define INSTRUMENT_CLUSTER_SWITCH 1    /* Should be zero for shipping code */
 #define DEBUG_CLUSTER_SWITCH 0         /* Should be zero for shipping code */
 #define PARAMETERIZE_CLUSTER_SWITCH 1  /* Should be zero for shipping code */