Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 664ba443 authored by Leela Krishna Amudala's avatar Leela Krishna Amudala Committed by Kukjin Kim
Browse files

ARM: EXYNOS: use generic exynos cpu power control functions



Use generic exynos cpu power control functions to power up/down
and to know the status of the cpu in platsmp and hotplug code.

Signed-off-by: default avatarLeela Krishna Amudala <leela.krishna@linaro.org>
Signed-off-by: default avatarAbhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent d3af6976
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious)

		/* make cpu1 to be turned off at next WFI command */
		if (cpu == 1)
			__raw_writel(0, S5P_ARM_CORE1_CONFIGURATION);
			exynos_cpu_power_down(cpu);

		/*
		 * here's the WFI
+3 −6
Original line number Diff line number Diff line
@@ -133,15 +133,12 @@ static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
	 */
	write_pen_release(phys_cpu);

	if (!(__raw_readl(S5P_ARM_CORE1_STATUS) & S5P_CORE_LOCAL_PWR_EN)) {
		__raw_writel(S5P_CORE_LOCAL_PWR_EN,
			     S5P_ARM_CORE1_CONFIGURATION);

	if (!exynos_cpu_power_state(cpu)) {
		exynos_cpu_power_up(cpu);
		timeout = 10;

		/* wait max 10 ms until cpu1 is on */
		while ((__raw_readl(S5P_ARM_CORE1_STATUS)
			& S5P_CORE_LOCAL_PWR_EN) != S5P_CORE_LOCAL_PWR_EN) {
		while (exynos_cpu_power_state(cpu) != S5P_CORE_LOCAL_PWR_EN) {
			if (timeout-- == 0)
				break;

+0 −3
Original line number Diff line number Diff line
@@ -111,9 +111,6 @@
#define EXYNOS_ARM_CORE_STATUS(_nr)		\
			(EXYNOS_ARM_CORE_CONFIGURATION(_nr) + 0x4)

#define S5P_ARM_CORE1_CONFIGURATION		S5P_PMUREG(0x2080)
#define S5P_ARM_CORE1_STATUS			S5P_PMUREG(0x2084)

#define S5P_PAD_RET_MAUDIO_OPTION		S5P_PMUREG(0x3028)
#define S5P_PAD_RET_GPIO_OPTION			S5P_PMUREG(0x3108)
#define S5P_PAD_RET_UART_OPTION			S5P_PMUREG(0x3128)