1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Header for ZTE's Power Domain Driver support
4  *
5  * Copyright (C) 2017 ZTE Ltd.
6  *
7  * Author: Baoyou Xie <baoyou.xie@linaro.org>
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 */
45