]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | ||
7b6d864b RH |
12 | #include <linux/reboot.h> |
13 | ||
a3f4c927 | 14 | struct irq_data; |
1da177e4 | 15 | |
1da177e4 | 16 | extern unsigned int get_clk_frequency_khz(int info); |
4508f775 RJ |
17 | extern void __init pxa_dt_irq_init(int (*fn)(struct irq_data *, |
18 | unsigned int)); | |
19 | extern void __init pxa_map_io(void); | |
20 | extern void pxa_timer_init(void); | |
1da177e4 LT |
21 | |
22 | #define SET_BANK(__nr,__start,__size) \ | |
23 | mi->bank[__nr].start = (__start), \ | |
be370302 | 24 | mi->bank[__nr].size = (__size) |
1da177e4 | 25 | |
3d3934c3 | 26 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
27 | ||
4508f775 RJ |
28 | #define pxa25x_handle_irq icip_handle_irq |
29 | extern void __init pxa25x_init_irq(void); | |
30 | extern void __init pxa25x_map_io(void); | |
31 | extern void __init pxa26x_init_irq(void); | |
32 | ||
33 | #define pxa27x_handle_irq ichp_handle_irq | |
34 | extern void __init pxa27x_dt_init_irq(void); | |
35 | extern unsigned pxa27x_get_clk_frequency_khz(int); | |
36 | extern void __init pxa27x_init_irq(void); | |
37 | extern void __init pxa27x_map_io(void); | |
38 | ||
39 | #define pxa3xx_handle_irq ichp_handle_irq | |
40 | extern void __init pxa3xx_dt_init_irq(void); | |
41 | extern void __init pxa3xx_init_irq(void); | |
42 | extern void __init pxa3xx_map_io(void); | |
43 | ||
44 | extern struct syscore_ops pxa_irq_syscore_ops; | |
45 | extern struct syscore_ops pxa2xx_mfp_syscore_ops; | |
46 | extern struct syscore_ops pxa3xx_mfp_syscore_ops; | |
47 | ||
48 | void __init pxa_set_ffuart_info(void *info); | |
49 | void __init pxa_set_btuart_info(void *info); | |
50 | void __init pxa_set_stuart_info(void *info); | |
51 | void __init pxa_set_hwuart_info(void *info); | |
52 | ||
53 | void pxa_restart(enum reboot_mode, const char *); | |
54 | ||
55 | #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) | |
56 | extern void pxa2xx_clear_reset_status(unsigned int); | |
57 | #else | |
58 | static inline void pxa2xx_clear_reset_status(unsigned int mask) {} | |
59 | #endif | |
60 | ||
61 | /* | |
62 | * Once fully converted to the clock framework, all these functions should be | |
63 | * removed, and replaced with a clk_get(NULL, "core"). | |
64 | */ | |
15a40333 RK |
65 | #ifdef CONFIG_PXA25x |
66 | extern unsigned pxa25x_get_clk_frequency_khz(int); | |
15a40333 RK |
67 | #else |
68 | #define pxa25x_get_clk_frequency_khz(x) (0) | |
15a40333 RK |
69 | #endif |
70 | ||
71 | #ifdef CONFIG_PXA27x | |
15a40333 RK |
72 | #else |
73 | #define pxa27x_get_clk_frequency_khz(x) (0) | |
15a40333 RK |
74 | #endif |
75 | ||
2c8086a5 | 76 | #ifdef CONFIG_PXA3xx |
4508f775 | 77 | extern unsigned pxa3xx_get_clk_frequency_khz(int); |
2c8086a5 | 78 | #else |
79 | #define pxa3xx_get_clk_frequency_khz(x) (0) | |
2c8086a5 | 80 | #endif |