]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/blob - arch/arm/mach-zynq/common.h
Merge tag 'v3.10' into master-next
[vajnamar/linux-xlnx.git] / arch / arm / mach-zynq / common.h
1 /*
2  * This file contains common function prototypes to avoid externs
3  * in the c files.
4  *
5  *  Copyright (C) 2011 Xilinx
6  *
7  * This software is licensed under the terms of the GNU General Public
8  * License version 2, as published by the Free Software Foundation, and
9  * may be copied, distributed, and modified under those terms.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #ifndef __MACH_ZYNQ_COMMON_H__
18 #define __MACH_ZYNQ_COMMON_H__
19
20 extern int zynq_slcr_init(void);
21 extern void zynq_slcr_system_reset(void);
22 extern void zynq_slcr_cpu_stop(int cpu);
23 extern void zynq_slcr_cpu_start(int cpu);
24
25 #ifdef CONFIG_SMP
26 extern void secondary_startup(void);
27 extern char zynq_secondary_trampoline;
28 extern char zynq_secondary_trampoline_jump;
29 extern char zynq_secondary_trampoline_end;
30 extern int __cpuinit zynq_cpun_start(u32 address, int cpu);
31 extern struct smp_operations zynq_smp_ops __initdata;
32 #endif
33
34 extern void xslcr_write(u32 val, u32 offset);
35 extern u32 xslcr_read(u32 offset);
36
37 extern void xslcr_init_preload_fpga(void);
38 extern void xslcr_init_postload_fpga(void);
39
40 extern void __iomem *zynq_slcr_base;
41 extern void __iomem *zynq_scu_base;
42
43 /* Hotplug */
44 extern void zynq_platform_cpu_die(unsigned int cpu);
45
46 #ifdef CONFIG_SUSPEND
47 int zynq_pm_late_init(void);
48 #else
49 static inline int zynq_pm_late_init(void)
50 {
51         return 0;
52 }
53 #endif
54
55 extern unsigned int zynq_sys_suspend_sz;
56 int zynq_sys_suspend(void __iomem *ddrc_base, void __iomem *slcr_base);
57
58 #endif