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;
702 prmd->prm = prm;
703 prmd->cap = prmd->prm->data->dmap;
704 prmd->pwrstctrl = prmd->prm->data->pwrstctrl;
705 prmd->pwrstst = prmd->prm->data->pwrstst;
719 prm->prmd = prmd;
735 const struct omap_rst_map *map = reset->prm->data->rstmap;
753 bool has_rstst = reset->prm->data->rstst ||
754 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
761 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
769 v = readl_relaxed(reset->prm->base + reset->prm->data->rstst);
785 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
787 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
808 has_rstst = reset->prm->data->rstst ||
809 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
816 writel_relaxed(v, reset->prm->base + reset->prm->data->rstst);
824 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
826 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
830 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
831 reset->prm->data->rstctrl,
836 reset->prm->data->name, id);
840 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
841 reset->prm->data->rstst,
846 reset->prm->data->name, id);
873 struct omap_prm *prm)
886 if (!prm->data->rstctrl && !(prm->data->flags & OMAP_PRM_HAS_RSTCTRL))
894 map = prm->data->rstmap;
911 reset->prm = prm;
913 sprintf(buf, "%s_clkdm", prm->data->clkdm_name ? prm->data->clkdm_name :
914 prm->data->name);
916 if (!(prm->data->flags & OMAP_PRM_HAS_NO_CLKDM)) {
928 if (prm->data->rstmap == rst_map_012) {
929 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
932 writel_relaxed(reset->mask, reset->prm->base +
933 reset->prm->data->rstctrl);
944 struct omap_prm *prm;
951 prm = devm_kzalloc(&pdev->dev, sizeof(*prm), GFP_KERNEL);
952 if (!prm)
955 prm->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
956 if (IS_ERR(prm->base))
957 return PTR_ERR(prm->base);
965 prm->data = data;
967 ret = omap_prm_domain_init(&pdev->dev, prm);
971 ret = omap_prm_reset_init(pdev, prm);
979 pm_genpd_remove(&prm->prmd->pd);