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 | 28 | #define pxa25x_handle_irq icip_handle_irq |
5e1d0128 | 29 | extern int __init pxa25x_clocks_init(void); |
4508f775 RJ |
30 | extern void __init pxa25x_init_irq(void); |
31 | extern void __init pxa25x_map_io(void); | |
32 | extern void __init pxa26x_init_irq(void); | |
33 | ||
34 | #define pxa27x_handle_irq ichp_handle_irq | |
5e1d0128 | 35 | extern int __init pxa27x_clocks_init(void); |
4508f775 RJ |
36 | extern void __init pxa27x_dt_init_irq(void); |
37 | extern unsigned pxa27x_get_clk_frequency_khz(int); | |
38 | extern void __init pxa27x_init_irq(void); | |
39 | extern void __init pxa27x_map_io(void); | |
40 | ||
41 | #define pxa3xx_handle_irq ichp_handle_irq | |
42 | extern void __init pxa3xx_dt_init_irq(void); | |
43 | extern void __init pxa3xx_init_irq(void); | |
44 | extern void __init pxa3xx_map_io(void); | |
45 | ||
46 | extern struct syscore_ops pxa_irq_syscore_ops; | |
47 | extern struct syscore_ops pxa2xx_mfp_syscore_ops; | |
48 | extern struct syscore_ops pxa3xx_mfp_syscore_ops; | |
49 | ||
50 | void __init pxa_set_ffuart_info(void *info); | |
51 | void __init pxa_set_btuart_info(void *info); | |
52 | void __init pxa_set_stuart_info(void *info); | |
53 | void __init pxa_set_hwuart_info(void *info); | |
54 | ||
55 | void pxa_restart(enum reboot_mode, const char *); | |
56 | ||
57 | #if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) | |
58 | extern void pxa2xx_clear_reset_status(unsigned int); | |
59 | #else | |
60 | static inline void pxa2xx_clear_reset_status(unsigned int mask) {} | |
61 | #endif | |
62 | ||
63 | /* | |
64 | * Once fully converted to the clock framework, all these functions should be | |
65 | * removed, and replaced with a clk_get(NULL, "core"). | |
66 | */ | |
15a40333 RK |
67 | #ifdef CONFIG_PXA25x |
68 | extern unsigned pxa25x_get_clk_frequency_khz(int); | |
15a40333 RK |
69 | #else |
70 | #define pxa25x_get_clk_frequency_khz(x) (0) | |
15a40333 RK |
71 | #endif |
72 | ||
73 | #ifdef CONFIG_PXA27x | |
15a40333 RK |
74 | #else |
75 | #define pxa27x_get_clk_frequency_khz(x) (0) | |
15a40333 RK |
76 | #endif |
77 | ||
2c8086a5 | 78 | #ifdef CONFIG_PXA3xx |
4508f775 | 79 | extern unsigned pxa3xx_get_clk_frequency_khz(int); |
2c8086a5 | 80 | #else |
81 | #define pxa3xx_get_clk_frequency_khz(x) (0) | |
2c8086a5 | 82 | #endif |