ARM: shmobile: R-Mobile: Add DT support for PM domains
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 3 Dec 2014 13:41:45 +0000 (14:41 +0100)
committerSimon Horman <horms+renesas@verge.net.au>
Wed, 14 Jan 2015 23:38:14 +0000 (08:38 +0900)
commit2173fc7cb681c38b9e5bc526211045caecf96e44
treefcb881723f9258e8236677fc0fe2e95c3c9c7be0
parent25717b857360760755b83b4e606d61e1fc38552f
ARM: shmobile: R-Mobile: Add DT support for PM domains

Populate the PM domains from DT, and provide support to hook up devices
to their respective PM domain.

The always-on power area (e.g. C5 on r8a7740) is created as a PM domain
without software control, to allow Run-Time management of module clocks
for hardware blocks inside this area.

Special cases like PM domains containing CPUs, the console device, or
Coresight-ETM, are handled by scanning the DT topology.

As long as the ARM debug/perf code doesn't use resource management with
runtime PM support, the power area containing Coresight-ETM (e.g. D4 on
r8a7740) must be kept powered to avoid a crash during resume from s2ram
(dbg_cpu_pm_notify() calls reset_ctrl_regs() unconditionally, causing an
undefined instruction oops).

Initialization is done from core_initcall(), as the
"renesas,intc-irqpin" driver uses postcore_initcall().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/pm-rmobile.c
arch/arm/mach-shmobile/pm-rmobile.h