|
@@ -136,6 +136,36 @@ int exynos_cpu_power_state(int cpu)
|
|
S5P_CORE_LOCAL_PWR_EN);
|
|
S5P_CORE_LOCAL_PWR_EN);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * exynos_cluster_power_down : power down the specified cluster
|
|
|
|
+ * @cluster : the cluster to power down
|
|
|
|
+ */
|
|
|
|
+void exynos_cluster_power_down(int cluster)
|
|
|
|
+{
|
|
|
|
+ __raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * exynos_cluster_power_up : power up the specified cluster
|
|
|
|
+ * @cluster : the cluster to power up
|
|
|
|
+ */
|
|
|
|
+void exynos_cluster_power_up(int cluster)
|
|
|
|
+{
|
|
|
|
+ __raw_writel(S5P_CORE_LOCAL_PWR_EN,
|
|
|
|
+ EXYNOS_COMMON_CONFIGURATION(cluster));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * exynos_cluster_power_state : returns the power state of the cluster
|
|
|
|
+ * @cluster : the cluster to retrieve the power state from
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+int exynos_cluster_power_state(int cluster)
|
|
|
|
+{
|
|
|
|
+ return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) &
|
|
|
|
+ S5P_CORE_LOCAL_PWR_EN);
|
|
|
|
+}
|
|
|
|
+
|
|
/* For Cortex-A9 Diagnostic and Power control register */
|
|
/* For Cortex-A9 Diagnostic and Power control register */
|
|
static unsigned int save_arm_register[2];
|
|
static unsigned int save_arm_register[2];
|
|
|
|
|