2012-04-19 20:53:13 +04:00
/*
2013-03-12 20:00:03 +04:00
* spear machine family generic header file
2012-04-19 20:53:13 +04:00
*
2013-03-12 20:00:03 +04:00
* Copyright ( C ) 2009 - 2012 ST Microelectronics
* Rajeev Kumar < rajeev - dlh . kumar @ st . com >
2012-06-20 23:53:02 +04:00
* Viresh Kumar < viresh . linux @ gmail . com >
2012-04-19 20:53:13 +04:00
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed " as is " without any
* warranty of any kind , whether express or implied .
*/
# ifndef __MACH_GENERIC_H
# define __MACH_GENERIC_H
# include <linux/dmaengine.h>
2013-03-12 20:00:03 +04:00
# include <linux/amba/pl08x.h>
# include <linux/init.h>
2012-04-19 20:53:13 +04:00
# include <asm/mach/time.h>
2012-11-08 23:40:59 +04:00
extern void spear13xx_timer_init ( void ) ;
2013-03-12 20:00:03 +04:00
extern void spear3xx_timer_init ( void ) ;
2012-04-19 20:53:13 +04:00
extern struct pl022_ssp_controller pl022_plat_data ;
2013-03-12 20:00:03 +04:00
extern struct pl08x_platform_data pl080_plat_data ;
2012-04-19 20:53:13 +04:00
extern struct dw_dma_platform_data dmac_plat_data ;
extern struct dw_dma_slave cf_dma_priv ;
extern struct dw_dma_slave nand_read_dma_priv ;
extern struct dw_dma_slave nand_write_dma_priv ;
2013-03-12 20:00:03 +04:00
bool dw_dma_filter ( struct dma_chan * chan , void * slave ) ;
2012-04-19 20:53:13 +04:00
void __init spear_setup_of_timer ( void ) ;
2012-12-02 20:59:57 +04:00
void __init spear3xx_clk_init ( void __iomem * misc_base ,
void __iomem * soc_config_base ) ;
2013-03-12 20:00:03 +04:00
void __init spear3xx_map_io ( void ) ;
void __init spear3xx_dt_init_irq ( void ) ;
2012-12-02 20:59:57 +04:00
void __init spear6xx_clk_init ( void __iomem * misc_base ) ;
2012-04-19 20:53:13 +04:00
void __init spear13xx_map_io ( void ) ;
void __init spear13xx_l2x0_init ( void ) ;
2013-03-12 20:00:03 +04:00
2012-04-19 20:53:13 +04:00
void spear_restart ( char , const char * ) ;
2013-03-12 20:00:03 +04:00
2012-04-19 20:53:13 +04:00
void spear13xx_secondary_startup ( void ) ;
2011-09-08 16:15:22 +04:00
void __cpuinit spear13xx_cpu_die ( unsigned int cpu ) ;
extern struct smp_operations spear13xx_smp_ops ;
2012-04-19 20:53:13 +04:00
# ifdef CONFIG_MACH_SPEAR1310
2012-12-02 20:59:57 +04:00
void __init spear1310_clk_init ( void __iomem * misc_base , void __iomem * ras_base ) ;
2012-04-19 20:53:13 +04:00
# else
2012-12-02 20:59:57 +04:00
static inline void spear1310_clk_init ( void __iomem * misc_base , void __iomem * ras_base ) { }
2012-04-19 20:53:13 +04:00
# endif
# ifdef CONFIG_MACH_SPEAR1340
2012-12-02 20:59:57 +04:00
void __init spear1340_clk_init ( void __iomem * misc_base ) ;
2012-04-19 20:53:13 +04:00
# else
2012-12-02 20:59:57 +04:00
static inline void spear1340_clk_init ( void __iomem * misc_base ) { }
2012-04-19 20:53:13 +04:00
# endif
# endif /* __MACH_GENERIC_H */