Lines Matching full:pwrc
318 struct meson_ee_pwrc *pwrc; member
337 regmap_read(pwrc_domain->pwrc->regmap_ao, in pwrc_ee_is_powered_off()
350 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_off()
357 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi, in meson_ee_pwrc_off()
365 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_off()
386 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_on()
392 regmap_update_bits(pwrc_domain->pwrc->regmap_hhi, in meson_ee_pwrc_on()
403 regmap_update_bits(pwrc_domain->pwrc->regmap_ao, in meson_ee_pwrc_on()
416 struct meson_ee_pwrc *pwrc, in meson_ee_pwrc_init_domain() argument
421 dom->pwrc = pwrc; in meson_ee_pwrc_init_domain()
489 struct meson_ee_pwrc *pwrc; in meson_ee_pwrc_probe() local
498 pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL); in meson_ee_pwrc_probe()
499 if (!pwrc) in meson_ee_pwrc_probe()
502 pwrc->xlate.domains = devm_kcalloc(&pdev->dev, match->count, in meson_ee_pwrc_probe()
503 sizeof(*pwrc->xlate.domains), in meson_ee_pwrc_probe()
505 if (!pwrc->xlate.domains) in meson_ee_pwrc_probe()
508 pwrc->domains = devm_kcalloc(&pdev->dev, match->count, in meson_ee_pwrc_probe()
509 sizeof(*pwrc->domains), GFP_KERNEL); in meson_ee_pwrc_probe()
510 if (!pwrc->domains) in meson_ee_pwrc_probe()
513 pwrc->xlate.num_domains = match->count; in meson_ee_pwrc_probe()
530 pwrc->regmap_ao = regmap_ao; in meson_ee_pwrc_probe()
531 pwrc->regmap_hhi = regmap_hhi; in meson_ee_pwrc_probe()
533 platform_set_drvdata(pdev, pwrc); in meson_ee_pwrc_probe()
536 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_probe()
540 ret = meson_ee_pwrc_init_domain(pdev, pwrc, dom); in meson_ee_pwrc_probe()
544 pwrc->xlate.domains[i] = &dom->base; in meson_ee_pwrc_probe()
547 return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate); in meson_ee_pwrc_probe()
552 struct meson_ee_pwrc *pwrc = platform_get_drvdata(pdev); in meson_ee_pwrc_shutdown() local
555 for (i = 0 ; i < pwrc->xlate.num_domains ; ++i) { in meson_ee_pwrc_shutdown()
556 struct meson_ee_pwrc_domain *dom = &pwrc->domains[i]; in meson_ee_pwrc_shutdown()
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",