Lines Matching refs:prm
22 #include <linux/platform_data/ti-prm.h>
39 struct omap_prm *prm;
74 struct omap_prm *prm;
494 { .compatible = "ti,omap4-prm-inst", .data = omap4_prm_data },
495 { .compatible = "ti,omap5-prm-inst", .data = omap5_prm_data },
496 { .compatible = "ti,dra7-prm-inst", .data = dra7_prm_data },
497 { .compatible = "ti,am3-prm-inst", .data = am3_prm_data },
498 { .compatible = "ti,am4-prm-inst", .data = am4_prm_data },
508 readl_relaxed(prmd->prm->base + prmd->pwrstctrl),
509 readl_relaxed(prmd->prm->base + prmd->pwrstst));
533 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
535 if (prmd->prm->data->flags & OMAP_PRM_RET_WHEN_IDLE)
541 prmd->prm->base + prmd->pwrstctrl);
544 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
574 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
587 writel_relaxed(v, prmd->prm->base + prmd->pwrstctrl);
590 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
678 static int omap_prm_domain_init(struct device *dev, struct omap_prm *prm)
695 data = prm->data;
700 prmd->prm = prm;
701 prmd->cap = prmd->prm->data->dmap;
702 prmd->pwrstctrl = prmd->prm->data->pwrstctrl;
703 prmd->pwrstst = prmd->prm->data->pwrstst;
717 prm->prmd = prmd;
733 const struct omap_rst_map *map = reset->prm->data->rstmap;
751 bool has_rstst = reset->prm->data->rstst ||
752 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
759 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
767 v = readl_relaxed(reset->prm->base + reset->prm->data->rstst);
783 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
785 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
806 has_rstst = reset->prm->data->rstst ||
807 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
814 writel_relaxed(v, reset->prm->base + reset->prm->data->rstst);
822 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
824 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
828 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
829 reset->prm->data->rstctrl,
834 reset->prm->data->name, id);
838 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
839 reset->prm->data->rstst,
844 reset->prm->data->name, id);
871 struct omap_prm *prm)
884 if (!prm->data->rstctrl && !(prm->data->flags & OMAP_PRM_HAS_RSTCTRL))
892 map = prm->data->rstmap;
909 reset->prm = prm;
911 sprintf(buf, "%s_clkdm", prm->data->clkdm_name ? prm->data->clkdm_name :
912 prm->data->name);
914 if (!(prm->data->flags & OMAP_PRM_HAS_NO_CLKDM)) {
926 if (prm->data->rstmap == rst_map_012) {
927 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
930 writel_relaxed(reset->mask, reset->prm->base +
931 reset->prm->data->rstctrl);
942 struct omap_prm *prm;
949 prm = devm_kzalloc(&pdev->dev, sizeof(*prm), GFP_KERNEL);
950 if (!prm)
953 prm->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
954 if (IS_ERR(prm->base))
955 return PTR_ERR(prm->base);
963 prm->data = data;
965 ret = omap_prm_domain_init(&pdev->dev, prm);
969 ret = omap_prm_reset_init(pdev, prm);
977 pm_genpd_remove(&prm->prmd->pd);