xref: /openbmc/linux/arch/arm/mach-pxa/generic.h (revision 9cdb81c7)
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