aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-08-20 05:07:44 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-10-12 16:14:52 -0400
commit15a4033354c68eb75e417ab60771f36212610820 (patch)
treef8e98b1a781f385e814a49ee528395866f1256e5 /arch/arm
parente259a3aecbfb61981175ddc7fc02dd180da7d73e (diff)
[ARM] pxa: fix naming of memory/lcd/core clock functions
Rename pxa25x and pxa27x memory/lcd/core clock functions, and select the correct version at run time. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-pxa/generic.c38
-rw-r--r--arch/arm/mach-pxa/generic.h18
-rw-r--r--arch/arm/mach-pxa/pxa25x.c18
-rw-r--r--arch/arm/mach-pxa/pxa27x.c10
4 files changed, 61 insertions, 23 deletions
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c
index 98df63898d1d..ac2b1fc5bda9 100644
--- a/arch/arm/mach-pxa/generic.c
+++ b/arch/arm/mach-pxa/generic.c
@@ -43,6 +43,44 @@
43#include "generic.h" 43#include "generic.h"
44 44
45/* 45/*
46 * Get the clock frequency as reflected by CCCR and the turbo flag.
47 * We assume these values have been applied via a fcs.
48 * If info is not 0 we also display the current settings.
49 */
50unsigned int get_clk_frequency_khz(int info)
51{
52 if (cpu_is_pxa21x() || cpu_is_pxa25x())
53 return pxa25x_get_clk_frequency_khz(info);
54 else
55 return pxa27x_get_clk_frequency_khz(info);
56}
57EXPORT_SYMBOL(get_clk_frequency_khz);
58
59/*
60 * Return the current memory clock frequency in units of 10kHz
61 */
62unsigned int get_memclk_frequency_10khz(void)
63{
64 if (cpu_is_pxa21x() || cpu_is_pxa25x())
65 return pxa25x_get_memclk_frequency_10khz();
66 else
67 return pxa27x_get_memclk_frequency_10khz();
68}
69EXPORT_SYMBOL(get_memclk_frequency_10khz);
70
71/*
72 * Return the current LCD clock frequency in units of 10kHz
73 */
74unsigned int get_lcdclk_frequency_10khz(void)
75{
76 if (cpu_is_pxa21x() || cpu_is_pxa25x())
77 return pxa25x_get_memclk_frequency_10khz();
78 else
79 return pxa27x_get_lcdclk_frequency_10khz();
80}
81EXPORT_SYMBOL(get_lcdclk_frequency_10khz);
82
83/*
46 * Handy function to set GPIO alternate functions 84 * Handy function to set GPIO alternate functions
47 */ 85 */
48 86
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h
index 91ab2ad8b34b..0a8a6f8a4f93 100644
--- a/arch/arm/mach-pxa/generic.h
+++ b/arch/arm/mach-pxa/generic.h
@@ -26,3 +26,21 @@ extern unsigned int get_clk_frequency_khz(int info);
26 mi->bank[__nr].size = (__size), \ 26 mi->bank[__nr].size = (__size), \
27 mi->bank[__nr].node = (((unsigned)(__start) - PHYS_OFFSET) >> 27) 27 mi->bank[__nr].node = (((unsigned)(__start) - PHYS_OFFSET) >> 27)
28 28
29#ifdef CONFIG_PXA25x
30extern unsigned pxa25x_get_clk_frequency_khz(int);
31extern unsigned pxa25x_get_memclk_frequency_10khz(void);
32#else
33#define pxa25x_get_clk_frequency_khz(x) (0)
34#define pxa25x_get_memclk_frequency_10khz() (0)
35#endif
36
37#ifdef CONFIG_PXA27x
38extern unsigned pxa27x_get_clk_frequency_khz(int);
39extern unsigned pxa27x_get_memclk_frequency_10khz(void);
40extern unsigned pxa27x_get_lcdclk_frequency_10khz(void);
41#else
42#define pxa27x_get_clk_frequency_khz(x) (0)
43#define pxa27x_get_memclk_frequency_10khz() (0)
44#define pxa27x_get_lcdclk_frequency_10khz() (0)
45#endif
46
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 6dfcca72e90f..bcf3f0a78463 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -53,7 +53,7 @@ static unsigned char N2_clk_mult[8] = { 0, 0, 2, 3, 4, 0, 6, 0 };
53 * We assume these values have been applied via a fcs. 53 * We assume these values have been applied via a fcs.
54 * If info is not 0 we also display the current settings. 54 * If info is not 0 we also display the current settings.
55 */ 55 */
56unsigned int get_clk_frequency_khz(int info) 56unsigned int pxa25x_get_clk_frequency_khz(int info)
57{ 57{
58 unsigned long cccr, turbo; 58 unsigned long cccr, turbo;
59 unsigned int l, L, m, M, n2, N; 59 unsigned int l, L, m, M, n2, N;
@@ -86,28 +86,14 @@ unsigned int get_clk_frequency_khz(int info)
86 return (turbo & 1) ? (N/1000) : (M/1000); 86 return (turbo & 1) ? (N/1000) : (M/1000);
87} 87}
88 88
89EXPORT_SYMBOL(get_clk_frequency_khz);
90
91/* 89/*
92 * Return the current memory clock frequency in units of 10kHz 90 * Return the current memory clock frequency in units of 10kHz
93 */ 91 */
94unsigned int get_memclk_frequency_10khz(void) 92unsigned int pxa25x_get_memclk_frequency_10khz(void)
95{ 93{
96 return L_clk_mult[(CCCR >> 0) & 0x1f] * BASE_CLK / 10000; 94 return L_clk_mult[(CCCR >> 0) & 0x1f] * BASE_CLK / 10000;
97} 95}
98 96
99EXPORT_SYMBOL(get_memclk_frequency_10khz);
100
101/*
102 * Return the current LCD clock frequency in units of 10kHz
103 */
104unsigned int get_lcdclk_frequency_10khz(void)
105{
106 return get_memclk_frequency_10khz();
107}
108
109EXPORT_SYMBOL(get_lcdclk_frequency_10khz);
110
111#ifdef CONFIG_PM 97#ifdef CONFIG_PM
112 98
113#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x 99#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index 203371ab19db..b3bbf3feef75 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -36,7 +36,7 @@
36 * We assume these values have been applied via a fcs. 36 * We assume these values have been applied via a fcs.
37 * If info is not 0 we also display the current settings. 37 * If info is not 0 we also display the current settings.
38 */ 38 */
39unsigned int get_clk_frequency_khz( int info) 39unsigned int pxa27x_get_clk_frequency_khz(int info)
40{ 40{
41 unsigned long ccsr, clkcfg; 41 unsigned long ccsr, clkcfg;
42 unsigned int l, L, m, M, n2, N, S; 42 unsigned int l, L, m, M, n2, N, S;
@@ -79,7 +79,7 @@ unsigned int get_clk_frequency_khz( int info)
79 * Return the current mem clock frequency in units of 10kHz as 79 * Return the current mem clock frequency in units of 10kHz as
80 * reflected by CCCR[A], B, and L 80 * reflected by CCCR[A], B, and L
81 */ 81 */
82unsigned int get_memclk_frequency_10khz(void) 82unsigned int pxa27x_get_memclk_frequency_10khz(void)
83{ 83{
84 unsigned long ccsr, clkcfg; 84 unsigned long ccsr, clkcfg;
85 unsigned int l, L, m, M; 85 unsigned int l, L, m, M;
@@ -104,7 +104,7 @@ unsigned int get_memclk_frequency_10khz(void)
104/* 104/*
105 * Return the current LCD clock frequency in units of 10kHz as 105 * Return the current LCD clock frequency in units of 10kHz as
106 */ 106 */
107unsigned int get_lcdclk_frequency_10khz(void) 107unsigned int pxa27x_get_lcdclk_frequency_10khz(void)
108{ 108{
109 unsigned long ccsr; 109 unsigned long ccsr;
110 unsigned int l, L, k, K; 110 unsigned int l, L, k, K;
@@ -120,10 +120,6 @@ unsigned int get_lcdclk_frequency_10khz(void)
120 return (K / 10000); 120 return (K / 10000);
121} 121}
122 122
123EXPORT_SYMBOL(get_clk_frequency_khz);
124EXPORT_SYMBOL(get_memclk_frequency_10khz);
125EXPORT_SYMBOL(get_lcdclk_frequency_10khz);
126
127#ifdef CONFIG_PM 123#ifdef CONFIG_PM
128 124
129#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x 125#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x