| Vitaly Wool | 78818e4 | 2006-05-16 11:54:37 +0100 | [diff] [blame] | 1 | /* | 
 | 2 |  * arch/arm/mach-pnx4008/clock.h | 
 | 3 |  * | 
 | 4 |  * Clock control driver for PNX4008 - internal header file | 
 | 5 |  * | 
 | 6 |  * Author: Vitaly Wool <source@mvista.com> | 
 | 7 |  * | 
 | 8 |  * 2006 (c) MontaVista Software, Inc. This file is licensed under | 
 | 9 |  * the terms of the GNU General Public License version 2. This program | 
 | 10 |  * is licensed "as is" without any warranty of any kind, whether express | 
 | 11 |  * or implied. | 
 | 12 |  */ | 
 | 13 | #ifndef __ARCH_ARM_PNX4008_CLOCK_H__ | 
 | 14 | #define __ARCH_ARM_PNX4008_CLOCK_H__ | 
 | 15 |  | 
 | 16 | struct clk { | 
| Vitaly Wool | 78818e4 | 2006-05-16 11:54:37 +0100 | [diff] [blame] | 17 | 	const char *name; | 
 | 18 | 	struct clk *parent; | 
 | 19 | 	struct clk *propagate_next; | 
 | 20 | 	u32 rate; | 
 | 21 | 	u32 user_rate; | 
 | 22 | 	s8 usecount; | 
 | 23 | 	u32 flags; | 
 | 24 | 	u32 scale_reg; | 
 | 25 | 	u8 enable_shift; | 
 | 26 | 	u32 enable_reg; | 
 | 27 | 	u8 enable_shift1; | 
 | 28 | 	u32 enable_reg1; | 
 | 29 | 	u32 parent_switch_reg; | 
| Russell King | 0c452df | 2009-11-20 11:28:59 +0000 | [diff] [blame] | 30 | 	u32(*round_rate) (struct clk *, u32); | 
| Vitaly Wool | 78818e4 | 2006-05-16 11:54:37 +0100 | [diff] [blame] | 31 | 	int (*set_rate) (struct clk *, u32); | 
 | 32 | 	int (*set_parent) (struct clk * clk, struct clk * parent); | 
| Russell King | 0c452df | 2009-11-20 11:28:59 +0000 | [diff] [blame] | 33 | 	int (*enable)(struct clk *); | 
 | 34 | 	void (*disable)(struct clk *); | 
| Vitaly Wool | 78818e4 | 2006-05-16 11:54:37 +0100 | [diff] [blame] | 35 | }; | 
 | 36 |  | 
 | 37 | /* Flags */ | 
 | 38 | #define RATE_PROPAGATES      (1<<0) | 
 | 39 | #define NEEDS_INITIALIZATION (1<<1) | 
 | 40 | #define PARENT_SET_RATE      (1<<2) | 
 | 41 | #define FIXED_RATE           (1<<3) | 
 | 42 |  | 
 | 43 | #endif |