4c2c2e3971
The ARMv8 zx2967 family (296718, 296716 etc) uses different value for controlling the power domain on/off registers, Choose the value depending on the compatible. Multiple domains are prepared for the family, this patch prepares the common functions. Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
45 lines
833 B
C
45 lines
833 B
C
/*
|
|
* Header for ZTE's Power Domain Driver support
|
|
*
|
|
* Copyright (C) 2017 ZTE Ltd.
|
|
*
|
|
* Author: Baoyou Xie <baoyou.xie@linaro.org>
|
|
* License terms: GNU General Public License (GPL) version 2
|
|
*/
|
|
|
|
#ifndef __ZTE_ZX2967_PM_DOMAIN_H
|
|
#define __ZTE_ZX2967_PM_DOMAIN_H
|
|
|
|
#include <linux/platform_device.h>
|
|
#include <linux/pm_domain.h>
|
|
|
|
enum {
|
|
REG_CLKEN,
|
|
REG_ISOEN,
|
|
REG_RSTEN,
|
|
REG_PWREN,
|
|
REG_PWRDN,
|
|
REG_ACK_SYNC,
|
|
|
|
/* The size of the array - must be last */
|
|
REG_ARRAY_SIZE,
|
|
};
|
|
|
|
enum zx2967_power_polarity {
|
|
PWREN,
|
|
PWRDN,
|
|
};
|
|
|
|
struct zx2967_pm_domain {
|
|
struct generic_pm_domain dm;
|
|
const u16 bit;
|
|
const enum zx2967_power_polarity polarity;
|
|
const u16 *reg_offset;
|
|
};
|
|
|
|
int zx2967_pd_probe(struct platform_device *pdev,
|
|
struct generic_pm_domain **zx_pm_domains,
|
|
int domain_num);
|
|
|
|
#endif /* __ZTE_ZX2967_PM_DOMAIN_H */
|