|
@@ -107,6 +107,27 @@ int power_domain_off(struct power_domain *power_domain)
|
|
|
return ops->off(power_domain);
|
|
|
}
|
|
|
|
|
|
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
|
|
|
+int dev_power_domain_on(struct udevice *dev)
|
|
|
+{
|
|
|
+ struct power_domain pd;
|
|
|
+ int i, count, ret;
|
|
|
+
|
|
|
+ count = dev_count_phandle_with_args(dev, "power-domains",
|
|
|
+ "#power-domain-cells");
|
|
|
+ for (i = 0; i < count; i++) {
|
|
|
+ ret = power_domain_get_by_index(dev, &pd, i);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+ ret = power_domain_on(&pd);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
UCLASS_DRIVER(power_domain) = {
|
|
|
.id = UCLASS_POWER_DOMAIN,
|
|
|
.name = "power_domain",
|