Lines Matching full:pwrc
23 struct meson_secure_pwrc *pwrc; member
48 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_GET, &is_off, in pwrc_secure_is_off()
61 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_SET, NULL, in meson_secure_pwrc_off()
76 if (meson_sm_call(pwrc_domain->pwrc->fw, SM_A1_PWRC_SET, NULL, in meson_secure_pwrc_on()
125 struct meson_secure_pwrc *pwrc; in meson_secure_pwrc_probe() local
140 pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL); in meson_secure_pwrc_probe()
141 if (!pwrc) in meson_secure_pwrc_probe()
144 pwrc->fw = meson_sm_get(sm_np); in meson_secure_pwrc_probe()
146 if (!pwrc->fw) in meson_secure_pwrc_probe()
149 pwrc->xlate.domains = devm_kcalloc(&pdev->dev, match->count, in meson_secure_pwrc_probe()
150 sizeof(*pwrc->xlate.domains), in meson_secure_pwrc_probe()
152 if (!pwrc->xlate.domains) in meson_secure_pwrc_probe()
155 pwrc->domains = devm_kcalloc(&pdev->dev, match->count, in meson_secure_pwrc_probe()
156 sizeof(*pwrc->domains), GFP_KERNEL); in meson_secure_pwrc_probe()
157 if (!pwrc->domains) in meson_secure_pwrc_probe()
160 pwrc->xlate.num_domains = match->count; in meson_secure_pwrc_probe()
161 platform_set_drvdata(pdev, pwrc); in meson_secure_pwrc_probe()
164 struct meson_secure_pwrc_domain *dom = &pwrc->domains[i]; in meson_secure_pwrc_probe()
169 dom->pwrc = pwrc; in meson_secure_pwrc_probe()
178 pwrc->xlate.domains[i] = &dom->base; in meson_secure_pwrc_probe()
181 return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate); in meson_secure_pwrc_probe()
191 .compatible = "amlogic,meson-a1-pwrc",