diff options
Diffstat (limited to 'arch/arm/include/asm/hardware/icst.h')
-rw-r--r-- | arch/arm/include/asm/hardware/icst.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/arm/include/asm/hardware/icst.h b/arch/arm/include/asm/hardware/icst.h new file mode 100644 index 00000000000..10382a3dcec --- /dev/null +++ b/arch/arm/include/asm/hardware/icst.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * arch/arm/include/asm/hardware/icst.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 ICST | ||
11 | * clock generators. See http://www.icst.com/ for more information | ||
12 | * on these devices. | ||
13 | */ | ||
14 | #ifndef ASMARM_HARDWARE_ICST_H | ||
15 | #define ASMARM_HARDWARE_ICST_H | ||
16 | |||
17 | struct icst_params { | ||
18 | unsigned long ref; | ||
19 | unsigned long vco_max; /* inclusive */ | ||
20 | unsigned long vco_min; /* exclusive */ | ||
21 | unsigned short vd_min; /* inclusive */ | ||
22 | unsigned short vd_max; /* inclusive */ | ||
23 | unsigned char rd_min; /* inclusive */ | ||
24 | unsigned char rd_max; /* inclusive */ | ||
25 | const unsigned char *s2div; /* chip specific s2div array */ | ||
26 | const unsigned char *idx2s; /* chip specific idx2s array */ | ||
27 | }; | ||
28 | |||
29 | struct icst_vco { | ||
30 | unsigned short v; | ||
31 | unsigned char r; | ||
32 | unsigned char s; | ||
33 | }; | ||
34 | |||
35 | unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco); | ||
36 | struct icst_vco icst_hz_to_vco(const struct icst_params *p, unsigned long freq); | ||
37 | |||
38 | /* | ||
39 | * ICST307 VCO frequency must be between 6MHz and 200MHz (3.3 or 5V). | ||
40 | * This frequency is pre-output divider. | ||
41 | */ | ||
42 | #define ICST307_VCO_MIN 6000000 | ||
43 | #define ICST307_VCO_MAX 200000000 | ||
44 | |||
45 | extern const unsigned char icst307_s2div[]; | ||
46 | extern const unsigned char icst307_idx2s[]; | ||
47 | |||
48 | /* | ||
49 | * ICST525 VCO frequency must be between 10MHz and 200MHz (3V) or 320MHz (5V). | ||
50 | * This frequency is pre-output divider. | ||
51 | */ | ||
52 | #define ICST525_VCO_MIN 10000000 | ||
53 | #define ICST525_VCO_MAX_3V 200000000 | ||
54 | #define ICST525_VCO_MAX_5V 320000000 | ||
55 | |||
56 | extern const unsigned char icst525_s2div[]; | ||
57 | extern const unsigned char icst525_idx2s[]; | ||
58 | |||
59 | #endif | ||