blob: 633e678e01a3231c2480ee0756e8d95150f08345 [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);
Viresh Kumarb31e2372012-04-19 22:23:13 +053031void __init spear13xx_l2x0_init(void);
32bool dw_dma_filter(struct dma_chan *chan, void *slave);
33void spear_restart(char, const char *);
34void spear13xx_secondary_startup(void);
Arnd Bergmann2d8b21d2011-09-08 13:15:22 +010035void __cpuinit spear13xx_cpu_die(unsigned int cpu);
36
37extern struct smp_operations spear13xx_smp_ops;
Viresh Kumarb31e2372012-04-19 22:23:13 +053038
39#ifdef CONFIG_MACH_SPEAR1310
40void __init spear1310_clk_init(void);
41#else
42static inline void spear1310_clk_init(void) {}
43#endif
44
45#ifdef CONFIG_MACH_SPEAR1340
46void __init spear1340_clk_init(void);
47#else
48static inline void spear1340_clk_init(void) {}
49#endif
50
51#endif /* __MACH_GENERIC_H */