ARM: EXYNOS: Add support for clock handling in power domain
authorPrathyush K <prathyush.k@samsung.com>
Thu, 10 Jul 2014 23:02:15 +0000 (08:02 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Thu, 10 Jul 2014 23:03:19 +0000 (08:03 +0900)
commitc760569d0e9c06b39dd19e82bff0b704d90a73b7
treef0e69210b658804b75f39a650c36bb867f732cc0
parentbe0b420ad6123e587738a67a9eff3ec213a57604
ARM: EXYNOS: Add support for clock handling in power domain

While powering on/off a local powerdomain in exynos5 chipsets, the
input clocks to each device gets modified. This behaviour is based
on the SYSCLK_SYS_PWR_REG registers.
E.g. SYSCLK_MFC_SYS_PWR_REG = 0x0, the parent of input clock to MFC
                             (aclk333) gets modified to oscclk
                            = 0x1, no change in clocks.
The recommended value of SYSCLK_SYS_PWR_REG before power gating any
domain is 0x0. So we must also restore the clocks while powering on
a domain everytime.

This patch adds the framework for getting the required mux and parent
clocks through a power domain device node. With this patch, while
powering off a domain, parent is set to oscclk and while powering back
on, its re-set to the correct parent which is as per the recommended
pd on/off sequence.

Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Documentation/devicetree/bindings/arm/exynos/power_domain.txt
arch/arm/mach-exynos/pm_domains.c