Lines Matching refs:prm

40 	struct omap_prm *prm;  member
75 struct omap_prm *prm; member
509 readl_relaxed(prmd->prm->base + prmd->pwrstctrl), in omap_prm_domain_show_state()
510 readl_relaxed(prmd->prm->base + prmd->pwrstst)); in omap_prm_domain_show_state()
534 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl); in omap_prm_domain_power_on()
536 if (prmd->prm->data->flags & OMAP_PRM_RET_WHEN_IDLE) in omap_prm_domain_power_on()
542 prmd->prm->base + prmd->pwrstctrl); in omap_prm_domain_power_on()
545 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst, in omap_prm_domain_power_on()
575 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl); in omap_prm_domain_power_off()
588 writel_relaxed(v, prmd->prm->base + prmd->pwrstctrl); in omap_prm_domain_power_off()
591 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst, in omap_prm_domain_power_off()
679 static int omap_prm_domain_init(struct device *dev, struct omap_prm *prm) in omap_prm_domain_init() argument
696 data = prm->data; in omap_prm_domain_init()
701 prmd->prm = prm; in omap_prm_domain_init()
702 prmd->cap = prmd->prm->data->dmap; in omap_prm_domain_init()
703 prmd->pwrstctrl = prmd->prm->data->pwrstctrl; in omap_prm_domain_init()
704 prmd->pwrstst = prmd->prm->data->pwrstst; in omap_prm_domain_init()
718 prm->prmd = prmd; in omap_prm_domain_init()
734 const struct omap_rst_map *map = reset->prm->data->rstmap; in omap_reset_get_st_bit()
752 bool has_rstst = reset->prm->data->rstst || in omap_reset_status()
753 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST); in omap_reset_status()
760 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); in omap_reset_status()
768 v = readl_relaxed(reset->prm->base + reset->prm->data->rstst); in omap_reset_status()
784 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); in omap_reset_assert()
786 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl); in omap_reset_assert()
807 has_rstst = reset->prm->data->rstst || in omap_reset_deassert()
808 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST); in omap_reset_deassert()
815 writel_relaxed(v, reset->prm->base + reset->prm->data->rstst); in omap_reset_deassert()
823 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); in omap_reset_deassert()
825 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl); in omap_reset_deassert()
829 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base + in omap_reset_deassert()
830 reset->prm->data->rstctrl, in omap_reset_deassert()
835 reset->prm->data->name, id); in omap_reset_deassert()
839 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base + in omap_reset_deassert()
840 reset->prm->data->rstst, in omap_reset_deassert()
845 reset->prm->data->name, id); in omap_reset_deassert()
872 struct omap_prm *prm) in omap_prm_reset_init() argument
885 if (!prm->data->rstctrl && !(prm->data->flags & OMAP_PRM_HAS_RSTCTRL)) in omap_prm_reset_init()
893 map = prm->data->rstmap; in omap_prm_reset_init()
910 reset->prm = prm; in omap_prm_reset_init()
912 sprintf(buf, "%s_clkdm", prm->data->clkdm_name ? prm->data->clkdm_name : in omap_prm_reset_init()
913 prm->data->name); in omap_prm_reset_init()
915 if (!(prm->data->flags & OMAP_PRM_HAS_NO_CLKDM)) { in omap_prm_reset_init()
927 if (prm->data->rstmap == rst_map_012) { in omap_prm_reset_init()
928 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); in omap_prm_reset_init()
931 writel_relaxed(reset->mask, reset->prm->base + in omap_prm_reset_init()
932 reset->prm->data->rstctrl); in omap_prm_reset_init()
943 struct omap_prm *prm; in omap_prm_probe() local
955 prm = devm_kzalloc(&pdev->dev, sizeof(*prm), GFP_KERNEL); in omap_prm_probe()
956 if (!prm) in omap_prm_probe()
967 prm->data = data; in omap_prm_probe()
969 prm->base = devm_ioremap_resource(&pdev->dev, res); in omap_prm_probe()
970 if (IS_ERR(prm->base)) in omap_prm_probe()
971 return PTR_ERR(prm->base); in omap_prm_probe()
973 ret = omap_prm_domain_init(&pdev->dev, prm); in omap_prm_probe()
977 ret = omap_prm_reset_init(pdev, prm); in omap_prm_probe()
985 pm_genpd_remove(&prm->prmd->pd); in omap_prm_probe()