Merge branch 'clksrc/cleanup' into next/multiplatform
[cascardo/linux.git] / arch / arm / mach-spear / generic.h
1 /*
2  * spear machine family generic header file
3  *
4  * Copyright (C) 2009-2012 ST Microelectronics
5  * Rajeev Kumar <rajeev-dlh.kumar@st.com>
6  * Viresh Kumar <viresh.linux@gmail.com>
7  *
8  * This file is licensed under the terms of the GNU General Public
9  * License version 2. This program is licensed "as is" without any
10  * warranty of any kind, whether express or implied.
11  */
12
13 #ifndef __MACH_GENERIC_H
14 #define __MACH_GENERIC_H
15
16 #include <linux/dmaengine.h>
17 #include <linux/amba/pl08x.h>
18 #include <linux/init.h>
19 #include <asm/mach/time.h>
20
21 extern void spear13xx_timer_init(void);
22 extern void spear3xx_timer_init(void);
23 extern struct pl022_ssp_controller pl022_plat_data;
24 extern struct pl08x_platform_data pl080_plat_data;
25 extern struct dw_dma_platform_data dmac_plat_data;
26 extern struct dw_dma_slave cf_dma_priv;
27 extern struct dw_dma_slave nand_read_dma_priv;
28 extern struct dw_dma_slave nand_write_dma_priv;
29 bool dw_dma_filter(struct dma_chan *chan, void *slave);
30
31 void __init spear_setup_of_timer(void);
32 void __init spear3xx_clk_init(void __iomem *misc_base,
33                               void __iomem *soc_config_base);
34 void __init spear3xx_map_io(void);
35 void __init spear3xx_dt_init_irq(void);
36 void __init spear6xx_clk_init(void __iomem *misc_base);
37 void __init spear13xx_map_io(void);
38 void __init spear13xx_l2x0_init(void);
39
40 void spear_restart(char, const char *);
41
42 void spear13xx_secondary_startup(void);
43 void __cpuinit spear13xx_cpu_die(unsigned int cpu);
44
45 extern struct smp_operations spear13xx_smp_ops;
46
47 #ifdef CONFIG_MACH_SPEAR1310
48 void __init spear1310_clk_init(void __iomem *misc_base, void __iomem *ras_base);
49 #else
50 static inline void spear1310_clk_init(void __iomem *misc_base, void __iomem *ras_base) {}
51 #endif
52
53 #ifdef CONFIG_MACH_SPEAR1340
54 void __init spear1340_clk_init(void __iomem *misc_base);
55 #else
56 static inline void spear1340_clk_init(void __iomem *misc_base) {}
57 #endif
58
59 #endif /* __MACH_GENERIC_H */