blob: 35e8a00746397a665ba9c7f755f3f0483ad4449a [file] [log] [blame]
Viresh Kumarb31e2372012-04-19 22:23:13 +05301/*
2 * arch/arm/mach-spear13xx/include/mach/generic.h
3 *
4 * spear13xx machine family generic header file
5 *
6 * Copyright (C) 2012 ST Microelectronics
Viresh Kumar10d89352012-06-20 12:53:02 -07007 * Viresh Kumar <viresh.linux@gmail.com>
Viresh Kumarb31e2372012-04-19 22:23:13 +05308 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */
13
14#ifndef __MACH_GENERIC_H
15#define __MACH_GENERIC_H
16
17#include <linux/dmaengine.h>
18#include <asm/mach/time.h>
19
20/* Add spear13xx structure declarations here */
Stephen Warren6bb27d72012-11-08 12:40:59 -070021extern void spear13xx_timer_init(void);
Viresh Kumarb31e2372012-04-19 22:23:13 +053022extern struct pl022_ssp_controller pl022_plat_data;
23extern struct dw_dma_platform_data dmac_plat_data;
24extern struct dw_dma_slave cf_dma_priv;
25extern struct dw_dma_slave nand_read_dma_priv;
26extern struct dw_dma_slave nand_write_dma_priv;
27
28/* Add spear13xx family function declarations here */
29void __init spear_setup_of_timer(void);
30void __init spear13xx_map_io(void);
31void __init spear13xx_dt_init_irq(void);
32void __init spear13xx_l2x0_init(void);
33bool dw_dma_filter(struct dma_chan *chan, void *slave);
34void spear_restart(char, const char *);
35void spear13xx_secondary_startup(void);
Arnd Bergmann2d8b21d2011-09-08 13:15:22 +010036void __cpuinit spear13xx_cpu_die(unsigned int cpu);
37
38extern struct smp_operations spear13xx_smp_ops;
Viresh Kumarb31e2372012-04-19 22:23:13 +053039
40#ifdef CONFIG_MACH_SPEAR1310
41void __init spear1310_clk_init(void);
42#else
43static inline void spear1310_clk_init(void) {}
44#endif
45
46#ifdef CONFIG_MACH_SPEAR1340
47void __init spear1340_clk_init(void);
48#else
49static inline void spear1340_clk_init(void) {}
50#endif
51
52#endif /* __MACH_GENERIC_H */