Lines Matching refs:scpd

192 static int scpsys_domain_is_on(struct scp_domain *scpd)  in scpsys_domain_is_on()  argument
194 struct scp *scp = scpd->scp; in scpsys_domain_is_on()
196 u32 status = readl(scp->base + SPM_PWR_STATUS) & scpd->sta_mask; in scpsys_domain_is_on()
197 u32 status2 = readl(scp->base + SPM_PWR_STATUS_2ND) & scpd->sta_mask; in scpsys_domain_is_on()
214 struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd); in scpsys_power_on() local
215 struct scp *scp = scpd->scp; in scpsys_power_on()
218 void __iomem *ctl_addr = scpd->ctl_addr; in scpsys_power_on()
219 u32 sram_pdn_ack = scpd->sram_pdn_ack_bits; in scpsys_power_on()
224 for (i = 0; i < MAX_CLKS && scpd->clk[i]; i++) { in scpsys_power_on()
225 ret = clk_prepare_enable(scpd->clk[i]); in scpsys_power_on()
228 clk_disable_unprepare(scpd->clk[i]); in scpsys_power_on()
244 ret = scpsys_domain_is_on(scpd); in scpsys_power_on()
268 val &= ~scpd->sram_pdn_bits; in scpsys_power_on()
287 if (scpd->bus_prot_mask) { in scpsys_power_on()
289 scpd->bus_prot_mask); in scpsys_power_on()
298 if (scpd->clk[i]) in scpsys_power_on()
299 clk_disable_unprepare(scpd->clk[i]); in scpsys_power_on()
309 struct scp_domain *scpd = container_of(genpd, struct scp_domain, genpd); in scpsys_power_off() local
310 struct scp *scp = scpd->scp; in scpsys_power_off()
313 void __iomem *ctl_addr = scpd->ctl_addr; in scpsys_power_off()
314 u32 pdn_ack = scpd->sram_pdn_ack_bits; in scpsys_power_off()
319 if (scpd->bus_prot_mask) { in scpsys_power_off()
321 scpd->bus_prot_mask); in scpsys_power_off()
327 val |= scpd->sram_pdn_bits; in scpsys_power_off()
364 ret = scpsys_domain_is_on(scpd); in scpsys_power_off()
379 for (i = 0; i < MAX_CLKS && scpd->clk[i]; i++) in scpsys_power_off()
380 clk_disable_unprepare(scpd->clk[i]); in scpsys_power_off()
393 struct scp_domain *scpd; in scpsys_active_wakeup() local
396 scpd = container_of(genpd, struct scp_domain, genpd); in scpsys_active_wakeup()
398 return scpd->active_wakeup; in scpsys_active_wakeup()
454 struct scp_domain *scpd = &scp->domains[i]; in scpsys_probe() local
455 struct generic_pm_domain *genpd = &scpd->genpd; in scpsys_probe()
459 scpd->scp = scp; in scpsys_probe()
461 scpd->sta_mask = data->sta_mask; in scpsys_probe()
462 scpd->ctl_addr = scp->base + data->ctl_offs; in scpsys_probe()
463 scpd->sram_pdn_bits = data->sram_pdn_bits; in scpsys_probe()
464 scpd->sram_pdn_ack_bits = data->sram_pdn_ack_bits; in scpsys_probe()
465 scpd->bus_prot_mask = data->bus_prot_mask; in scpsys_probe()
466 scpd->active_wakeup = data->active_wakeup; in scpsys_probe()
468 scpd->clk[j] = clk[data->clk_id[j]]; in scpsys_probe()