Subject: [PATCH v2] arm: exynos: Support cluster power off on exynos5420/5800

From: [email-masked] (Kevin Hilman)
Date: Thu, 19 Jun 2014 13:34:49 -0700

Abhilash Kesavan <[email-masked]> writes:

> Turning off a cluster when all 4 cores of the cluster are powered off
> saves power significantly. Powering off the A15 L2 alone gives around
> 100mW in savings. Add support for powering off the A15/A7 clusters on
> exynos5420/5800.
>
> The patch enables specific register bits which ensure that:
>    - cluster L2 will be turned on before the first man is powered up.
>    - last man will be turned off before the cluster L2 is turned off.
>    - core is powered down before powering it up.
>
> Remove the exynos_cluster_power_control function completely as we can
> rely on the above mentioned bits rather than polling the cluster power
> status register.
>
> Signed-off-by: Abhilash Kesavan <[email-masked]>
> Acked-by: Nicolas Pitre <[email-masked]>
> ---
> Change in v2:
> Added a macro for the COMMON_OPTION register and used it in the MCPM
> back-end.
>
> The patch is based on Linux-next 20140619. It has been tested on an
> exynos5420-based chromebook using the "/dev/bL_switcher" interface as
> well as the script provided by Nicolas Pitre and Dave Martin [1].
>
> Patch depends on:
> [v2] ARM: EXYNOS: mcpm: Don't rely on firmware's secondary_cpu_start
>
> [1] http://www.spinics.net/lists/linux-samsung-soc/msg31257.html

Tested on exynos5800/Chromebook2 along with the dependency patch and using
the script from Dave and Nico.

Tested-by: Kevin Hilman <[email-masked]>

Kevin