Lines Matching refs:prm
21 #include <linux/platform_data/ti-prm.h>
38 struct omap_prm *prm;
72 struct omap_prm *prm;
225 { .compatible = "ti,omap4-prm-inst", .data = omap4_prm_data },
226 { .compatible = "ti,omap5-prm-inst", .data = omap5_prm_data },
227 { .compatible = "ti,dra7-prm-inst", .data = dra7_prm_data },
228 { .compatible = "ti,am3-prm-inst", .data = am3_prm_data },
229 { .compatible = "ti,am4-prm-inst", .data = am4_prm_data },
239 readl_relaxed(prmd->prm->base + prmd->pwrstctrl),
240 readl_relaxed(prmd->prm->base + prmd->pwrstst));
264 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
267 prmd->prm->base + prmd->pwrstctrl);
270 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
300 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
313 writel_relaxed(v, prmd->prm->base + prmd->pwrstctrl);
316 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
364 static int omap_prm_domain_init(struct device *dev, struct omap_prm *prm)
381 data = prm->data;
386 prmd->prm = prm;
387 prmd->cap = prmd->prm->data->dmap;
388 prmd->pwrstctrl = prmd->prm->data->pwrstctrl;
389 prmd->pwrstst = prmd->prm->data->pwrstst;
402 prm->prmd = prmd;
418 const struct omap_rst_map *map = reset->prm->data->rstmap;
436 bool has_rstst = reset->prm->data->rstst ||
437 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
444 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
452 v = readl_relaxed(reset->prm->base + reset->prm->data->rstst);
468 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
470 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
491 has_rstst = reset->prm->data->rstst ||
492 (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);
499 writel_relaxed(v, reset->prm->base + reset->prm->data->rstst);
507 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
509 writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
513 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
514 reset->prm->data->rstctrl,
519 reset->prm->data->name, id);
523 ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
524 reset->prm->data->rstst,
529 reset->prm->data->name, id);
556 struct omap_prm *prm)
569 if (!prm->data->rstctrl && !(prm->data->flags & OMAP_PRM_HAS_RSTCTRL))
577 map = prm->data->rstmap;
594 reset->prm = prm;
596 sprintf(buf, "%s_clkdm", prm->data->clkdm_name ? prm->data->clkdm_name :
597 prm->data->name);
599 if (!(prm->data->flags & OMAP_PRM_HAS_NO_CLKDM)) {
611 if (prm->data->rstmap == rst_map_012) {
612 v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl);
615 writel_relaxed(reset->mask, reset->prm->base +
616 reset->prm->data->rstctrl);
627 struct omap_prm *prm;
639 prm = devm_kzalloc(&pdev->dev, sizeof(*prm), GFP_KERNEL);
640 if (!prm)
651 prm->data = data;
653 prm->base = devm_ioremap_resource(&pdev->dev, res);
654 if (IS_ERR(prm->base))
655 return PTR_ERR(prm->base);
657 ret = omap_prm_domain_init(&pdev->dev, prm);
661 ret = omap_prm_reset_init(pdev, prm);
669 pm_genpd_remove(&prm->prmd->pd);