| 
									
										
										
										
											2009-04-23 10:21:30 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * arch/arm/mach-u300/include/mach/clock.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2004 - 2005 Nokia corporation | 
					
						
							|  |  |  |  * Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com> | 
					
						
							|  |  |  |  * Based on clocks.h by Tony Lindgren, Gordon McNutt and RidgeRun, Inc | 
					
						
							|  |  |  |  * Copyright (C) 2007-2009 ST-Ericsson AB | 
					
						
							|  |  |  |  * Adopted to ST-Ericsson U300 platforms by | 
					
						
							|  |  |  |  * Jonas Aaberg <jonas.aberg@stericsson.com> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __MACH_CLOCK_H
 | 
					
						
							|  |  |  | #define __MACH_CLOCK_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/clk.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct clk { | 
					
						
							|  |  |  | 	struct list_head node; | 
					
						
							|  |  |  | 	struct module *owner; | 
					
						
							|  |  |  | 	struct device *dev; | 
					
						
							|  |  |  | 	const char *name; | 
					
						
							|  |  |  | 	struct clk *parent; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	spinlock_t lock; | 
					
						
							|  |  |  | 	unsigned long rate; | 
					
						
							|  |  |  | 	bool reset; | 
					
						
							|  |  |  | 	__u16 clk_val; | 
					
						
							|  |  |  | 	__s8 usecount; | 
					
						
							| 
									
										
										
										
											2011-06-07 09:40:51 +01:00
										 |  |  | 	void __iomem * res_reg; | 
					
						
							| 
									
										
										
										
											2009-04-23 10:21:30 +01:00
										 |  |  | 	__u16 res_mask; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	bool hw_ctrld; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	void (*recalc) (struct clk *); | 
					
						
							|  |  |  | 	int (*set_rate) (struct clk *, unsigned long); | 
					
						
							|  |  |  | 	unsigned long (*get_rate) (struct clk *); | 
					
						
							|  |  |  | 	unsigned long (*round_rate) (struct clk *, unsigned long); | 
					
						
							|  |  |  | 	void (*init) (struct clk *); | 
					
						
							|  |  |  | 	void (*enable) (struct clk *); | 
					
						
							|  |  |  | 	void (*disable) (struct clk *); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-05 07:58:13 +01:00
										 |  |  | int u300_clock_init(void); | 
					
						
							| 
									
										
										
										
											2009-04-23 10:21:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |