Linux-libre 4.14.82-gnu
[librecmc/linux-libre.git] / drivers / soc / zte / zx2967_pm_domains.h
1 /*
2  * Header for ZTE's Power Domain Driver support
3  *
4  * Copyright (C) 2017 ZTE Ltd.
5  *
6  * Author: Baoyou Xie <baoyou.xie@linaro.org>
7  * License terms: GNU General Public License (GPL) version 2
8  */
9
10 #ifndef __ZTE_ZX2967_PM_DOMAIN_H
11 #define __ZTE_ZX2967_PM_DOMAIN_H
12
13 #include <linux/platform_device.h>
14 #include <linux/pm_domain.h>
15
16 enum {
17         REG_CLKEN,
18         REG_ISOEN,
19         REG_RSTEN,
20         REG_PWREN,
21         REG_PWRDN,
22         REG_ACK_SYNC,
23
24         /* The size of the array - must be last */
25         REG_ARRAY_SIZE,
26 };
27
28 enum zx2967_power_polarity {
29         PWREN,
30         PWRDN,
31 };
32
33 struct zx2967_pm_domain {
34         struct generic_pm_domain dm;
35         const u16 bit;
36         const enum zx2967_power_polarity polarity;
37         const u16 *reg_offset;
38 };
39
40 int zx2967_pd_probe(struct platform_device *pdev,
41                     struct generic_pm_domain **zx_pm_domains,
42                     int domain_num);
43
44 #endif /* __ZTE_ZX2967_PM_DOMAIN_H */