add mmp specific clocks including apbc cloks, apmu clocks, and pll2, fraction clocks Signed-off-by: Chao Xie <xiechao.mail@gmail.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __MACH_MMP_CLK_H
 | 
						|
#define __MACH_MMP_CLK_H
 | 
						|
 | 
						|
#include <linux/clk-provider.h>
 | 
						|
#include <linux/clkdev.h>
 | 
						|
 | 
						|
#define APBC_NO_BUS_CTRL	BIT(0)
 | 
						|
#define APBC_POWER_CTRL		BIT(1)
 | 
						|
 | 
						|
struct clk_factor_masks {
 | 
						|
	unsigned int	factor;
 | 
						|
	unsigned int	num_mask;
 | 
						|
	unsigned int	den_mask;
 | 
						|
	unsigned int	num_shift;
 | 
						|
	unsigned int	den_shift;
 | 
						|
};
 | 
						|
 | 
						|
struct clk_factor_tbl {
 | 
						|
	unsigned int num;
 | 
						|
	unsigned int den;
 | 
						|
};
 | 
						|
 | 
						|
extern struct clk *mmp_clk_register_pll2(const char *name,
 | 
						|
		const char *parent_name, unsigned long flags);
 | 
						|
extern struct clk *mmp_clk_register_apbc(const char *name,
 | 
						|
		const char *parent_name, void __iomem *base,
 | 
						|
		unsigned int delay, unsigned int apbc_flags, spinlock_t *lock);
 | 
						|
extern struct clk *mmp_clk_register_apmu(const char *name,
 | 
						|
		const char *parent_name, void __iomem *base, u32 enable_mask,
 | 
						|
		spinlock_t *lock);
 | 
						|
extern struct clk *mmp_clk_register_factor(const char *name,
 | 
						|
		const char *parent_name, unsigned long flags,
 | 
						|
		void __iomem *base, struct clk_factor_masks *masks,
 | 
						|
		struct clk_factor_tbl *ftbl, unsigned int ftbl_cnt);
 | 
						|
#endif
 |