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