Lines Matching full:pwrc
334 struct meson_ee_pwrc *pwrc; member
353 regmap_read(pwrc_domain->pwrc->regmap_ao, in pwrc_ee_is_powered_off()
366 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_off()
373 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi, in meson_ee_pwrc_off()
381 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_off()
402 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_on()
408 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi, in meson_ee_pwrc_on()
419 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_on()
432 struct meson_ee_pwrc *pwrc, in meson_ee_pwrc_init_domain() argument
437 dom->pwrc = pwrc; in meson_ee_pwrc_init_domain()
505 struct meson_ee_pwrc *pwrc; in meson_ee_pwrc_probe() local
514 pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL); in meson_ee_pwrc_probe()
515 if (!pwrc) in meson_ee_pwrc_probe()
518 pwrc->xlate.domains = devm_kcalloc(&pdev->dev, match->count, in meson_ee_pwrc_probe()
519 sizeof(*pwrc->xlate.domains), in meson_ee_pwrc_probe()
521 if (!pwrc->xlate.domains) in meson_ee_pwrc_probe()
524 pwrc->domains = devm_kcalloc(&pdev->dev, match->count, in meson_ee_pwrc_probe()
525 sizeof(*pwrc->domains), GFP_KERNEL); in meson_ee_pwrc_probe()
526 if (!pwrc->domains) in meson_ee_pwrc_probe()
529 pwrc->xlate.num_domains = match->count; in meson_ee_pwrc_probe()
546 pwrc->regmap_ao = regmap_ao; in meson_ee_pwrc_probe()
547 pwrc->regmap_hhi = regmap_hhi; in meson_ee_pwrc_probe()
549 platform_set_drvdata(pdev, pwrc); in meson_ee_pwrc_probe()
552 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_probe()
556 ret = meson_ee_pwrc_init_domain(pdev, pwrc, dom); in meson_ee_pwrc_probe()
560 pwrc->xlate.domains[i] = &dom->base; in meson_ee_pwrc_probe()
563 return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate); in meson_ee_pwrc_probe()
568 struct meson_ee_pwrc *pwrc = platform_get_drvdata(pdev); in meson_ee_pwrc_shutdown() local
571 for (i = 0 ; i < pwrc->xlate.num_domains ; ++i) { in meson_ee_pwrc_shutdown()
572 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_shutdown()
611 .compatible = "amlogic,meson8-pwrc",
615 .compatible = "amlogic,meson8b-pwrc",
619 .compatible = "amlogic,meson8m2-pwrc",
623 .compatible = "amlogic,meson-axg-pwrc",
627 .compatible = "amlogic,meson-gxbb-pwrc",
631 .compatible = "amlogic,meson-g12a-pwrc",
635 .compatible = "amlogic,meson-sm1-pwrc",