]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/arm/mach-pxa/generic.h
ARM / PXA: Use struct syscore_ops for "core" power management
[mirror_ubuntu-artful-kernel.git] / arch / arm / mach-pxa / generic.h
CommitLineData
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
a3f4c927 12struct irq_data;
1da177e4
LT
13struct sys_timer;
14
15extern struct sys_timer pxa_timer;
a58fbcd8 16extern void __init pxa_init_irq(int irq_nr,
a3f4c927
LB
17 int (*set_wake)(struct irq_data *,
18 unsigned int));
cd49104d 19extern void __init pxa25x_init_irq(void);
918c71c0
MV
20#ifdef CONFIG_CPU_PXA26x
21extern void __init pxa26x_init_irq(void);
22#endif
cd49104d 23extern void __init pxa27x_init_irq(void);
2c8086a5 24extern void __init pxa3xx_init_irq(void);
a4553358 25extern void __init pxa95x_init_irq(void);
851982c1 26
1da177e4 27extern void __init pxa_map_io(void);
851982c1
MV
28extern void __init pxa25x_map_io(void);
29extern void __init pxa27x_map_io(void);
30extern void __init pxa3xx_map_io(void);
1da177e4
LT
31
32extern unsigned int get_clk_frequency_khz(int info);
33
34#define SET_BANK(__nr,__start,__size) \
35 mi->bank[__nr].start = (__start), \
be370302 36 mi->bank[__nr].size = (__size)
1da177e4 37
3d3934c3 38#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
39
15a40333
RK
40#ifdef CONFIG_PXA25x
41extern unsigned pxa25x_get_clk_frequency_khz(int);
15a40333
RK
42#else
43#define pxa25x_get_clk_frequency_khz(x) (0)
15a40333
RK
44#endif
45
46#ifdef CONFIG_PXA27x
47extern unsigned pxa27x_get_clk_frequency_khz(int);
15a40333
RK
48#else
49#define pxa27x_get_clk_frequency_khz(x) (0)
15a40333
RK
50#endif
51
04fef228
EM
52#if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
53extern void pxa2xx_clear_reset_status(unsigned int);
54#else
55static inline void pxa2xx_clear_reset_status(unsigned int mask) {}
56#endif
57
2c8086a5 58#ifdef CONFIG_PXA3xx
59extern unsigned pxa3xx_get_clk_frequency_khz(int);
2c8086a5 60#else
61#define pxa3xx_get_clk_frequency_khz(x) (0)
2c8086a5 62#endif
c0165504 63
2eaa03b5
RW
64extern struct syscore_ops pxa_irq_syscore_ops;
65extern struct syscore_ops pxa_gpio_syscore_ops;
66extern struct syscore_ops pxa2xx_mfp_syscore_ops;
67extern struct syscore_ops pxa3xx_mfp_syscore_ops;
cc155c6f
RK
68
69void __init pxa_set_ffuart_info(void *info);
70void __init pxa_set_btuart_info(void *info);
71void __init pxa_set_stuart_info(void *info);
72void __init pxa_set_hwuart_info(void *info);