Lines Matching +full:syscon +full:- +full:poweroff

1 // SPDX-License-Identifier: GPL-2.0
3 // Copyright (c) 2011-2014 Samsung Electronics Co., Ltd.
6 // Exynos - CPU PMU(Power Management Unit) support
12 #include <linux/mfd/syscon.h>
16 #include <linux/soc/samsung/exynos-regs-pmu.h>
17 #include <linux/soc/samsung/exynos-pmu.h>
19 #include "exynos-pmu.h"
44 if (!pmu_context || !pmu_context->pmu_data) in exynos_sys_powerdown_conf()
47 pmu_data = pmu_context->pmu_data; in exynos_sys_powerdown_conf()
49 if (pmu_data->powerdown_conf) in exynos_sys_powerdown_conf()
50 pmu_data->powerdown_conf(mode); in exynos_sys_powerdown_conf()
52 if (pmu_data->pmu_config) { in exynos_sys_powerdown_conf()
53 for (i = 0; (pmu_data->pmu_config[i].offset != PMU_TABLE_END); i++) in exynos_sys_powerdown_conf()
54 pmu_raw_writel(pmu_data->pmu_config[i].val[mode], in exynos_sys_powerdown_conf()
55 pmu_data->pmu_config[i].offset); in exynos_sys_powerdown_conf()
58 if (pmu_data->powerdown_conf_extra) in exynos_sys_powerdown_conf()
59 pmu_data->powerdown_conf_extra(mode); in exynos_sys_powerdown_conf()
77 .compatible = "samsung,exynos3250-pmu",
80 .compatible = "samsung,exynos4210-pmu",
83 .compatible = "samsung,exynos4412-pmu",
86 .compatible = "samsung,exynos5250-pmu",
89 .compatible = "samsung,exynos5410-pmu",
91 .compatible = "samsung,exynos5420-pmu",
94 .compatible = "samsung,exynos5433-pmu",
96 .compatible = "samsung,exynos7-pmu",
98 .compatible = "samsung,exynos850-pmu",
104 { .name = "exynos-clkout", },
113 return ERR_PTR(-ENODEV); in exynos_get_pmu_regmap()
119 struct device *dev = &pdev->dev; in exynos_pmu_probe()
126 pmu_context = devm_kzalloc(&pdev->dev, in exynos_pmu_probe()
130 return -ENOMEM; in exynos_pmu_probe()
131 pmu_context->dev = dev; in exynos_pmu_probe()
132 pmu_context->pmu_data = of_device_get_match_data(dev); in exynos_pmu_probe()
134 if (pmu_context->pmu_data && pmu_context->pmu_data->pmu_init) in exynos_pmu_probe()
135 pmu_context->pmu_data->pmu_init(); in exynos_pmu_probe()
145 dev_err(dev, "Error populating children, reboot and poweroff might not work properly\n"); in exynos_pmu_probe()
153 .name = "exynos-pmu",