Merge branches 'fixes', 'cleanups' and 'boards'
[linux-2.6] / arch / arm / include / asm / hardware / icst525.h
1 /*
2  *  arch/arm/include/asm/hardware/icst525.h
3  *
4  *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  *  Support functions for calculating clocks/divisors for the ICST525
11  *  clock generators.  See http://www.icst.com/ for more information
12  *  on these devices.
13  */
14 #ifndef ASMARM_HARDWARE_ICST525_H
15 #define ASMARM_HARDWARE_ICST525_H
16
17 struct icst525_params {
18         unsigned long   ref;
19         unsigned long   vco_max;        /* inclusive */
20         unsigned short  vd_min;         /* inclusive */
21         unsigned short  vd_max;         /* inclusive */
22         unsigned char   rd_min;         /* inclusive */
23         unsigned char   rd_max;         /* inclusive */
24 };
25
26 struct icst525_vco {
27         unsigned short  v;
28         unsigned char   r;
29         unsigned char   s;
30 };
31
32 unsigned long icst525_khz(const struct icst525_params *p, struct icst525_vco vco);
33 struct icst525_vco icst525_khz_to_vco(const struct icst525_params *p, unsigned long freq);
34 struct icst525_vco icst525_ps_to_vco(const struct icst525_params *p, unsigned long period);
35
36 #endif