Loading arch/arm/mach-pxa/generic.c +38 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,44 @@ #include "devices.h" #include "generic.h" /* * Get the clock frequency as reflected by CCCR and the turbo flag. * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz(int info) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_clk_frequency_khz(info); else return pxa27x_get_clk_frequency_khz(info); } EXPORT_SYMBOL(get_clk_frequency_khz); /* * Return the current memory clock frequency in units of 10kHz */ unsigned int get_memclk_frequency_10khz(void) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_memclk_frequency_10khz(); else return pxa27x_get_memclk_frequency_10khz(); } EXPORT_SYMBOL(get_memclk_frequency_10khz); /* * Return the current LCD clock frequency in units of 10kHz */ unsigned int get_lcdclk_frequency_10khz(void) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_memclk_frequency_10khz(); else return pxa27x_get_lcdclk_frequency_10khz(); } EXPORT_SYMBOL(get_lcdclk_frequency_10khz); /* * Handy function to set GPIO alternate functions */ Loading arch/arm/mach-pxa/generic.h +18 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,21 @@ extern unsigned int get_clk_frequency_khz(int info); mi->bank[__nr].size = (__size), \ mi->bank[__nr].node = (((unsigned)(__start) - PHYS_OFFSET) >> 27) #ifdef CONFIG_PXA25x extern unsigned pxa25x_get_clk_frequency_khz(int); extern unsigned pxa25x_get_memclk_frequency_10khz(void); #else #define pxa25x_get_clk_frequency_khz(x) (0) #define pxa25x_get_memclk_frequency_10khz() (0) #endif #ifdef CONFIG_PXA27x extern unsigned pxa27x_get_clk_frequency_khz(int); extern unsigned pxa27x_get_memclk_frequency_10khz(void); extern unsigned pxa27x_get_lcdclk_frequency_10khz(void); #else #define pxa27x_get_clk_frequency_khz(x) (0) #define pxa27x_get_memclk_frequency_10khz() (0) #define pxa27x_get_lcdclk_frequency_10khz() (0) #endif arch/arm/mach-pxa/pxa25x.c +2 −16 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ static unsigned char N2_clk_mult[8] = { 0, 0, 2, 3, 4, 0, 6, 0 }; * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz(int info) unsigned int pxa25x_get_clk_frequency_khz(int info) { unsigned long cccr, turbo; unsigned int l, L, m, M, n2, N; Loading Loading @@ -86,28 +86,14 @@ unsigned int get_clk_frequency_khz(int info) return (turbo & 1) ? (N/1000) : (M/1000); } EXPORT_SYMBOL(get_clk_frequency_khz); /* * Return the current memory clock frequency in units of 10kHz */ unsigned int get_memclk_frequency_10khz(void) unsigned int pxa25x_get_memclk_frequency_10khz(void) { return L_clk_mult[(CCCR >> 0) & 0x1f] * BASE_CLK / 10000; } EXPORT_SYMBOL(get_memclk_frequency_10khz); /* * Return the current LCD clock frequency in units of 10kHz */ unsigned int get_lcdclk_frequency_10khz(void) { return get_memclk_frequency_10khz(); } EXPORT_SYMBOL(get_lcdclk_frequency_10khz); #ifdef CONFIG_PM #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x Loading arch/arm/mach-pxa/pxa27x.c +3 −7 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz( int info) unsigned int pxa27x_get_clk_frequency_khz(int info) { unsigned long ccsr, clkcfg; unsigned int l, L, m, M, n2, N, S; Loading Loading @@ -79,7 +79,7 @@ unsigned int get_clk_frequency_khz( int info) * Return the current mem clock frequency in units of 10kHz as * reflected by CCCR[A], B, and L */ unsigned int get_memclk_frequency_10khz(void) unsigned int pxa27x_get_memclk_frequency_10khz(void) { unsigned long ccsr, clkcfg; unsigned int l, L, m, M; Loading @@ -104,7 +104,7 @@ unsigned int get_memclk_frequency_10khz(void) /* * Return the current LCD clock frequency in units of 10kHz as */ unsigned int get_lcdclk_frequency_10khz(void) unsigned int pxa27x_get_lcdclk_frequency_10khz(void) { unsigned long ccsr; unsigned int l, L, k, K; Loading @@ -120,10 +120,6 @@ unsigned int get_lcdclk_frequency_10khz(void) return (K / 10000); } EXPORT_SYMBOL(get_clk_frequency_khz); EXPORT_SYMBOL(get_memclk_frequency_10khz); EXPORT_SYMBOL(get_lcdclk_frequency_10khz); #ifdef CONFIG_PM #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x Loading Loading
arch/arm/mach-pxa/generic.c +38 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,44 @@ #include "devices.h" #include "generic.h" /* * Get the clock frequency as reflected by CCCR and the turbo flag. * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz(int info) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_clk_frequency_khz(info); else return pxa27x_get_clk_frequency_khz(info); } EXPORT_SYMBOL(get_clk_frequency_khz); /* * Return the current memory clock frequency in units of 10kHz */ unsigned int get_memclk_frequency_10khz(void) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_memclk_frequency_10khz(); else return pxa27x_get_memclk_frequency_10khz(); } EXPORT_SYMBOL(get_memclk_frequency_10khz); /* * Return the current LCD clock frequency in units of 10kHz */ unsigned int get_lcdclk_frequency_10khz(void) { if (cpu_is_pxa21x() || cpu_is_pxa25x()) return pxa25x_get_memclk_frequency_10khz(); else return pxa27x_get_lcdclk_frequency_10khz(); } EXPORT_SYMBOL(get_lcdclk_frequency_10khz); /* * Handy function to set GPIO alternate functions */ Loading
arch/arm/mach-pxa/generic.h +18 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,21 @@ extern unsigned int get_clk_frequency_khz(int info); mi->bank[__nr].size = (__size), \ mi->bank[__nr].node = (((unsigned)(__start) - PHYS_OFFSET) >> 27) #ifdef CONFIG_PXA25x extern unsigned pxa25x_get_clk_frequency_khz(int); extern unsigned pxa25x_get_memclk_frequency_10khz(void); #else #define pxa25x_get_clk_frequency_khz(x) (0) #define pxa25x_get_memclk_frequency_10khz() (0) #endif #ifdef CONFIG_PXA27x extern unsigned pxa27x_get_clk_frequency_khz(int); extern unsigned pxa27x_get_memclk_frequency_10khz(void); extern unsigned pxa27x_get_lcdclk_frequency_10khz(void); #else #define pxa27x_get_clk_frequency_khz(x) (0) #define pxa27x_get_memclk_frequency_10khz() (0) #define pxa27x_get_lcdclk_frequency_10khz() (0) #endif
arch/arm/mach-pxa/pxa25x.c +2 −16 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ static unsigned char N2_clk_mult[8] = { 0, 0, 2, 3, 4, 0, 6, 0 }; * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz(int info) unsigned int pxa25x_get_clk_frequency_khz(int info) { unsigned long cccr, turbo; unsigned int l, L, m, M, n2, N; Loading Loading @@ -86,28 +86,14 @@ unsigned int get_clk_frequency_khz(int info) return (turbo & 1) ? (N/1000) : (M/1000); } EXPORT_SYMBOL(get_clk_frequency_khz); /* * Return the current memory clock frequency in units of 10kHz */ unsigned int get_memclk_frequency_10khz(void) unsigned int pxa25x_get_memclk_frequency_10khz(void) { return L_clk_mult[(CCCR >> 0) & 0x1f] * BASE_CLK / 10000; } EXPORT_SYMBOL(get_memclk_frequency_10khz); /* * Return the current LCD clock frequency in units of 10kHz */ unsigned int get_lcdclk_frequency_10khz(void) { return get_memclk_frequency_10khz(); } EXPORT_SYMBOL(get_lcdclk_frequency_10khz); #ifdef CONFIG_PM #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x Loading
arch/arm/mach-pxa/pxa27x.c +3 −7 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. */ unsigned int get_clk_frequency_khz( int info) unsigned int pxa27x_get_clk_frequency_khz(int info) { unsigned long ccsr, clkcfg; unsigned int l, L, m, M, n2, N, S; Loading Loading @@ -79,7 +79,7 @@ unsigned int get_clk_frequency_khz( int info) * Return the current mem clock frequency in units of 10kHz as * reflected by CCCR[A], B, and L */ unsigned int get_memclk_frequency_10khz(void) unsigned int pxa27x_get_memclk_frequency_10khz(void) { unsigned long ccsr, clkcfg; unsigned int l, L, m, M; Loading @@ -104,7 +104,7 @@ unsigned int get_memclk_frequency_10khz(void) /* * Return the current LCD clock frequency in units of 10kHz as */ unsigned int get_lcdclk_frequency_10khz(void) unsigned int pxa27x_get_lcdclk_frequency_10khz(void) { unsigned long ccsr; unsigned int l, L, k, K; Loading @@ -120,10 +120,6 @@ unsigned int get_lcdclk_frequency_10khz(void) return (K / 10000); } EXPORT_SYMBOL(get_clk_frequency_khz); EXPORT_SYMBOL(get_memclk_frequency_10khz); EXPORT_SYMBOL(get_lcdclk_frequency_10khz); #ifdef CONFIG_PM #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x Loading