Lines Matching +full:exynos4210 +full:- +full:pd

1 // SPDX-License-Identifier: GPL-2.0
9 // conjunction with runtime-pm. Support for both device-tree and non-device-tree
32 struct generic_pm_domain pd; member
38 struct exynos_pm_domain *pd; in exynos_pd_power() local
43 pd = container_of(domain, struct exynos_pm_domain, pd); in exynos_pd_power()
44 base = pd->base; in exynos_pd_power()
46 pwr = power_on ? pd->local_pwr_cfg : 0; in exynos_pd_power()
52 while ((readl_relaxed(base + 0x4) & pd->local_pwr_cfg) != pwr) { in exynos_pd_power()
55 pr_err("Power domain %s %s failed\n", domain->name, op); in exynos_pd_power()
56 return -ETIMEDOUT; in exynos_pd_power()
58 timeout--; in exynos_pd_power()
86 .compatible = "samsung,exynos4210-pd",
89 .compatible = "samsung,exynos5433-pd",
100 name = kbasename(node->full_name); in exynos_get_domain_name()
111 struct exynos_pm_domain *pd; in exynos4_pm_init_power_domain() local
114 pm_domain_cfg = match->data; in exynos4_pm_init_power_domain()
116 pd = kzalloc(sizeof(*pd), GFP_KERNEL); in exynos4_pm_init_power_domain()
117 if (!pd) { in exynos4_pm_init_power_domain()
119 return -ENOMEM; in exynos4_pm_init_power_domain()
121 pd->pd.name = exynos_get_domain_name(np); in exynos4_pm_init_power_domain()
122 if (!pd->pd.name) { in exynos4_pm_init_power_domain()
123 kfree(pd); in exynos4_pm_init_power_domain()
125 return -ENOMEM; in exynos4_pm_init_power_domain()
128 pd->base = of_iomap(np, 0); in exynos4_pm_init_power_domain()
129 if (!pd->base) { in exynos4_pm_init_power_domain()
131 kfree_const(pd->pd.name); in exynos4_pm_init_power_domain()
132 kfree(pd); in exynos4_pm_init_power_domain()
136 pd->pd.power_off = exynos_pd_power_off; in exynos4_pm_init_power_domain()
137 pd->pd.power_on = exynos_pd_power_on; in exynos4_pm_init_power_domain()
138 pd->local_pwr_cfg = pm_domain_cfg->local_pwr_cfg; in exynos4_pm_init_power_domain()
140 on = readl_relaxed(pd->base + 0x4) & pd->local_pwr_cfg; in exynos4_pm_init_power_domain()
142 pm_genpd_init(&pd->pd, NULL, !on); in exynos4_pm_init_power_domain()
143 of_genpd_add_provider_simple(np, &pd->pd); in exynos4_pm_init_power_domain()
153 if (of_parse_phandle_with_args(np, "power-domains", in exynos4_pm_init_power_domain()
154 "#power-domain-cells", 0, in exynos4_pm_init_power_domain()