Lines Matching refs:pwrc
318 struct meson_ee_pwrc *pwrc;
337 regmap_read(pwrc_domain->pwrc->regmap_ao,
350 regmap_update_bits(pwrc_domain->pwrc->regmap_ao,
357 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi,
365 regmap_update_bits(pwrc_domain->pwrc->regmap_ao,
386 regmap_update_bits(pwrc_domain->pwrc->regmap_ao,
392 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi,
403 regmap_update_bits(pwrc_domain->pwrc->regmap_ao,
416 struct meson_ee_pwrc *pwrc,
421 dom->pwrc = pwrc;
489 struct meson_ee_pwrc *pwrc;
498 pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL);
499 if (!pwrc)
502 pwrc->xlate.domains = devm_kcalloc(&pdev->dev, match->count,
503 sizeof(*pwrc->xlate.domains),
505 if (!pwrc->xlate.domains)
508 pwrc->domains = devm_kcalloc(&pdev->dev, match->count,
509 sizeof(*pwrc->domains), GFP_KERNEL);
510 if (!pwrc->domains)
513 pwrc->xlate.num_domains = match->count;
530 pwrc->regmap_ao = regmap_ao;
531 pwrc->regmap_hhi = regmap_hhi;
533 platform_set_drvdata(pdev, pwrc);
536 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i];
540 ret = meson_ee_pwrc_init_domain(pdev, pwrc, dom);
544 pwrc->xlate.domains[i] = &dom->base;
547 return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate);
552 struct meson_ee_pwrc *pwrc = platform_get_drvdata(pdev);
555 for (i = 0 ; i < pwrc->xlate.num_domains ; ++i) {
556 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i];
595 .compatible = "amlogic,meson8-pwrc",
599 .compatible = "amlogic,meson8b-pwrc",
603 .compatible = "amlogic,meson8m2-pwrc",
607 .compatible = "amlogic,meson-axg-pwrc",
611 .compatible = "amlogic,meson-gxbb-pwrc",
615 .compatible = "amlogic,meson-g12a-pwrc",
619 .compatible = "amlogic,meson-sm1-pwrc",