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>
This commit is contained in:

committed by
Simon Horman

parent
25717b8573
commit
2173fc7cb6
@@ -37,7 +37,7 @@ struct pm_domain_device {
|
||||
struct platform_device *pdev;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PM_RMOBILE
|
||||
#if defined(CONFIG_PM_RMOBILE) && defined(CONFIG_ARCH_SHMOBILE_LEGACY)
|
||||
extern void rmobile_init_domains(struct rmobile_pm_domain domains[], int num);
|
||||
extern void rmobile_add_device_to_domain_td(const char *domain_name,
|
||||
struct platform_device *pdev,
|
||||
|
Reference in New Issue
Block a user