aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-zynq/common.h
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2013-03-20 08:50:12 -0400
committerMichal Simek <michal.simek@xilinx.com>2013-04-04 03:24:00 -0400
commitaa7eb2bb4e4a22e41bbe4612ff46e5885b13c33e (patch)
treeef3f5e0578ee98f1e95b686796a64a80807ef795 /arch/arm/mach-zynq/common.h
parent2f34e0a58f34db094257e33b461d58b578004b67 (diff)
arm: zynq: Add smp support
Zynq is dual core Cortex A9 which starts always at zero. Using simple trampoline ensure long jump to secondary_startup code. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-zynq/common.h')
-rw-r--r--arch/arm/mach-zynq/common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-zynq/common.h b/arch/arm/mach-zynq/common.h
index d7ec3caaa1d7..fd308f8b18d9 100644
--- a/arch/arm/mach-zynq/common.h
+++ b/arch/arm/mach-zynq/common.h
@@ -19,6 +19,17 @@
19 19
20extern int zynq_slcr_init(void); 20extern int zynq_slcr_init(void);
21extern void zynq_slcr_system_reset(void); 21extern void zynq_slcr_system_reset(void);
22extern void zynq_slcr_cpu_stop(int cpu);
23extern void zynq_slcr_cpu_start(int cpu);
24
25#ifdef CONFIG_SMP
26extern void secondary_startup(void);
27extern char zynq_secondary_trampoline;
28extern char zynq_secondary_trampoline_jump;
29extern char zynq_secondary_trampoline_end;
30extern int __cpuinit zynq_cpun_start(u32 address, int cpu);
31extern struct smp_operations zynq_smp_ops __initdata;
32#endif
22 33
23extern void __iomem *zynq_slcr_base; 34extern void __iomem *zynq_slcr_base;
24extern void __iomem *zynq_scu_base; 35extern void __iomem *zynq_scu_base;