1 /* 2 * linux/arch/arm/mach-pxa/generic.h 3 * 4 * Author: Nicolas Pitre 5 * Copyright: MontaVista Software Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12 struct irq_data; 13 struct sys_timer; 14 15 extern struct sys_timer pxa_timer; 16 17 extern void __init pxa_map_io(void); 18 19 extern unsigned int get_clk_frequency_khz(int info); 20 21 #define SET_BANK(__nr,__start,__size) \ 22 mi->bank[__nr].start = (__start), \ 23 mi->bank[__nr].size = (__size) 24 25 #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) 26 27 #ifdef CONFIG_PXA25x 28 extern unsigned pxa25x_get_clk_frequency_khz(int); 29 #else 30 #define pxa25x_get_clk_frequency_khz(x) (0) 31 #endif 32 33 #ifdef CONFIG_PXA27x 34 extern unsigned pxa27x_get_clk_frequency_khz(int); 35 #else 36 #define pxa27x_get_clk_frequency_khz(x) (0) 37 #endif 38 39 #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) 40 extern void pxa2xx_clear_reset_status(unsigned int); 41 #else 42 static inline void pxa2xx_clear_reset_status(unsigned int mask) {} 43 #endif 44 45 #ifdef CONFIG_PXA3xx 46 extern unsigned pxa3xx_get_clk_frequency_khz(int); 47 #else 48 #define pxa3xx_get_clk_frequency_khz(x) (0) 49 #endif 50 51 extern struct syscore_ops pxa_irq_syscore_ops; 52 extern struct syscore_ops pxa2xx_mfp_syscore_ops; 53 extern struct syscore_ops pxa3xx_mfp_syscore_ops; 54 55 void __init pxa_set_ffuart_info(void *info); 56 void __init pxa_set_btuart_info(void *info); 57 void __init pxa_set_stuart_info(void *info); 58 void __init pxa_set_hwuart_info(void *info); 59 60 void pxa_restart(char, const char *); 61