Commit | Line | Data |
---|---|---|
9c92ab61 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b85a3ef4 JL |
2 | /* |
3 | * This file contains common function prototypes to avoid externs | |
4 | * in the c files. | |
5 | * | |
6 | * Copyright (C) 2011 Xilinx | |
b85a3ef4 JL |
7 | */ |
8 | ||
9 | #ifndef __MACH_ZYNQ_COMMON_H__ | |
10 | #define __MACH_ZYNQ_COMMON_H__ | |
11 | ||
64b889b3 | 12 | extern int zynq_slcr_init(void); |
016f4dca | 13 | extern int zynq_early_slcr_init(void); |
aa7eb2bb MS |
14 | extern void zynq_slcr_cpu_stop(int cpu); |
15 | extern void zynq_slcr_cpu_start(int cpu); | |
50c7960a SB |
16 | extern bool zynq_slcr_cpu_state_read(int cpu); |
17 | extern void zynq_slcr_cpu_state_write(int cpu, bool die); | |
00f7dc63 | 18 | extern u32 zynq_slcr_get_device_id(void); |
aa7eb2bb MS |
19 | |
20 | #ifdef CONFIG_SMP | |
aa7eb2bb MS |
21 | extern char zynq_secondary_trampoline; |
22 | extern char zynq_secondary_trampoline_jump; | |
23 | extern char zynq_secondary_trampoline_end; | |
8bd26e3a | 24 | extern int zynq_cpun_start(u32 address, int cpu); |
75305275 | 25 | extern const struct smp_operations zynq_smp_ops; |
aa7eb2bb | 26 | #endif |
64b889b3 | 27 | |
732078c3 MS |
28 | extern void __iomem *zynq_scu_base; |
29 | ||
0beb2bd3 SB |
30 | void zynq_pm_late_init(void); |
31 | ||
ae88b85e SB |
32 | static inline void zynq_core_pm_init(void) |
33 | { | |
34 | /* A9 clock gating */ | |
35 | asm volatile ("mrc p15, 0, r12, c15, c0, 0\n" | |
36 | "orr r12, r12, #1\n" | |
37 | "mcr p15, 0, r12, c15, c0, 0\n" | |
38 | : /* no outputs */ | |
39 | : /* no inputs */ | |
40 | : "r12"); | |
41 | } | |
42 | ||
b85a3ef4 | 43 | #endif |