@@ -12,6 +12,8 @@ Required Properties:
must be 0.
Optional Properties:
+- compatible: This is a second compatible name and gives the complete Power Domain
+ name like "samsung,exynos7-pd-mfc"
- clocks: List of clock handles. The parent clocks of the input clocks to the
devices in this power domain are set to oscclk before power gating
and restored back after powering on a domain. This is required for
@@ -43,5 +45,11 @@ Example:
#power-domain-cells = <0>;
};
+ mfc_pd: power-domain@10044060 {
+ compatible = "samsung,exynos4210-pd", "samsung,exynos7-pd-mfc";
+ pd-offset = <0x4060>;
+ #power-domain-cells = <0>;
+ };
+
See Documentation/devicetree/bindings/power/power_domain.txt for description
of consumer-side bindings.
@@ -124,12 +124,17 @@ static int exynos_power_domain_probe(struct platform_device *pdev)
for_each_compatible_node(np, NULL, "samsung,exynos4210-pd") {
struct exynos_pm_domain *pd;
int on, i;
+ const char *name;
pd = devm_kzalloc(&pdev->dev, sizeof(*pd), GFP_KERNEL);
if (!pd)
return -ENOMEM;
- pd->pd.name = kstrdup(np->name, GFP_KERNEL);
+ if (of_property_read_string_index(np, "compatible", 1, &name)) {
+ /* Second entry not found, use the node name*/
+ name = np->name;
+ }
+ pd->pd.name = kstrdup(name, GFP_KERNEL);
pd->name = pd->pd.name;
if (of_property_read_u32(np, "pd-offset", &offset)) {
pr_err("%s: failed to find offset for power domain\n",