Commit 7353c546 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski

soc: samsung: pmu: Populate children syscon nodes

The syscon poweroff and restart nodes logically belong to the Power
Management Unit so populate possible children.

This also requires providing compatibles for Exynos5410 and Exynos7 so
the PMU device and its children will be instantiated for them as well.
Just like Exynos5433, these chipsets are not yet supported by the PMU
driver.
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
parent bcb41a53
...@@ -43,6 +43,12 @@ following properties: ...@@ -43,6 +43,12 @@ following properties:
- interrupt-parent: a phandle indicating which interrupt controller - interrupt-parent: a phandle indicating which interrupt controller
this PMU signals interrupts to. this PMU signals interrupts to.
Optional nodes:
- nodes defining the restart and poweroff syscon children
Example : Example :
pmu_system_controller: system-controller@10040000 { pmu_system_controller: system-controller@10040000 {
compatible = "samsung,exynos5250-pmu", "syscon"; compatible = "samsung,exynos5250-pmu", "syscon";
......
...@@ -84,11 +84,15 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = { ...@@ -84,11 +84,15 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
}, { }, {
.compatible = "samsung,exynos5250-pmu", .compatible = "samsung,exynos5250-pmu",
.data = exynos_pmu_data_arm_ptr(exynos5250_pmu_data), .data = exynos_pmu_data_arm_ptr(exynos5250_pmu_data),
}, {
.compatible = "samsung,exynos5410-pmu",
}, { }, {
.compatible = "samsung,exynos5420-pmu", .compatible = "samsung,exynos5420-pmu",
.data = exynos_pmu_data_arm_ptr(exynos5420_pmu_data), .data = exynos_pmu_data_arm_ptr(exynos5420_pmu_data),
}, { }, {
.compatible = "samsung,exynos5433-pmu", .compatible = "samsung,exynos5433-pmu",
}, {
.compatible = "samsung,exynos7-pmu",
}, },
{ /*sentinel*/ }, { /*sentinel*/ },
}; };
...@@ -126,6 +130,9 @@ static int exynos_pmu_probe(struct platform_device *pdev) ...@@ -126,6 +130,9 @@ static int exynos_pmu_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pmu_context); platform_set_drvdata(pdev, pmu_context);
if (devm_of_platform_populate(dev))
dev_err(dev, "Error populating children, reboot and poweroff might not work properly\n");
dev_dbg(dev, "Exynos PMU Driver probe done\n"); dev_dbg(dev, "Exynos PMU Driver probe done\n");
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment