soc: rockchip: power-domain: fix up the pd add list error

Fixed commit d45556ed94 ("soc: rockchip: power-domain: Add protection
for some special pd during startup") states.

If the pd is power down by default. but it's has keepon_startup flag,
need to power up it before pm_genpd_init.
(ie: PD is off by default on PX30 SOC)

Change-Id: I60e9a5385794ad73f7da86cf8a18aaeecc8bcc6b
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
This commit is contained in:
Elaine Zhang
2019-07-31 10:42:03 +08:00
parent c0570888f0
commit d289019bbb

View File

@@ -655,6 +655,15 @@ static int rockchip_pm_add_one_domain(struct rockchip_pmu *pmu,
if (pd_info->keepon_startup) {
pd->genpd.flags &= (~GENPD_FLAG_PM_CLK);
pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
if (!rockchip_pmu_domain_is_on(pd)) {
error = rockchip_pd_power(pd, true);
if (error) {
dev_err(pmu->dev,
"failed to power on domain '%s': %d\n",
node->name, error);
goto err_unprepare_clocks;
}
}
}
pm_genpd_init(&pd->genpd, NULL, !rockchip_pmu_domain_is_on(pd));