void exynos_l2_common_pwr_ctrl(void) { unsigned int i; unsigned int option; for (i = 0; i < CLUSTER_NUM; i++) { if ((__raw_readl(EXYNOS_COMMON_STATUS(i)) & 0x3) == 0) { option = __raw_readl(EXYNOS_COMMON_CONFIGURATION(i)); option |= EXYNOS_L2_COMMON_PWR_EN; __raw_writel(option, EXYNOS_COMMON_CONFIGURATION(i)); } } }
/** * exynos_cluster_power_up : power up the specified cluster * @cluster : the cluster to power up */ void exynos_cluster_power_up(int cluster) { pmu_raw_writel(S5P_CORE_LOCAL_PWR_EN, EXYNOS_COMMON_CONFIGURATION(cluster)); }
/** * exynos_cluster_power_down : power down the specified cluster * @cluster : the cluster to power down */ void exynos_cluster_power_down(int cluster) { pmu_raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); }