1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4  *		http://www.samsung.com
5  *
6  * Header for Exynos PMU Driver support
7  */
8 
9 #ifndef __LINUX_SOC_EXYNOS_PMU_H
10 #define __LINUX_SOC_EXYNOS_PMU_H
11 
12 struct regmap;
13 struct device_node;
14 
15 enum sys_powerdown {
16 	SYS_AFTR,
17 	SYS_LPA,
18 	SYS_SLEEP,
19 	NUM_SYS_POWERDOWN,
20 };
21 
22 extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
23 #ifdef CONFIG_EXYNOS_PMU
24 struct regmap *exynos_get_pmu_regmap(void);
25 struct regmap *exynos_get_pmu_regmap_by_phandle(struct device_node *np,
26 						const char *propname);
27 #else
exynos_get_pmu_regmap(void)28 static inline struct regmap *exynos_get_pmu_regmap(void)
29 {
30 	return ERR_PTR(-ENODEV);
31 }
32 
exynos_get_pmu_regmap_by_phandle(struct device_node * np,const char * propname)33 static inline struct regmap *exynos_get_pmu_regmap_by_phandle(struct device_node *np,
34 							      const char *propname)
35 {
36 	return ERR_PTR(-ENODEV);
37 }
38 #endif
39 
40 #endif /* __LINUX_SOC_EXYNOS_PMU_H */
41