mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-04 16:52:06 +10:00 
			
		
		
		
	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 */
 |