History

ARM: EXYNOS: read initial state of power domain from hw registers

Some bootloaders disable unused power domains to reduce power consuption. Power domain driver can easily read the actual state from the hardware registers instead of assuming that their initial state is always 'on'.

Marek Szyprowski committed 14 years ago

Commit 76eb5561 parent bd0a5211 file · +6 −3Browse files

Unified · Split

arch/arm/mach-exynos/pm_domains.c+6−3
@@ -151,9 +151,12 @@ static __init int exynos4_pm_init_power_domain(void) · 150 unmodified lines
151 if (of_have_populated_dt())151 if (of_have_populated_dt())
152 return exynos_pm_dt_parse_domains();152 return exynos_pm_dt_parse_domains();
153 153
154 for (idx = 0; idx < ARRAY_SIZE(exynos4_pm_domains); idx++)154 for (idx = 0; idx < ARRAY_SIZE(exynos4_pm_domains); idx++) {
155 pm_genpd_init(&exynos4_pm_domains[idx]->pd, NULL,155 struct exynos_pm_domain *pd = exynos4_pm_domains[idx];
156 exynos4_pm_domains[idx]->is_off);156 int on = __raw_readl(pd->base + 0x4) & S5P_INT_LOCAL_PWR_EN;
157
158 pm_genpd_init(&pd->pd, NULL, !on);
159 }
157 160
158#ifdef CONFIG_S5P_DEV_FIMD0161#ifdef CONFIG_S5P_DEV_FIMD0
159 exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0);162 exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0);