2 * Copyright (C) 2016 Socionext Inc.
3 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
5 * SPDX-License-Identifier: GPL-2.0+
8 #include <linux/linkage.h>
9 #include <asm/system.h>
11 .section ._secure.text, "ax"
13 ENTRY(uniphier_smp_trampoline)
15 mrc p15, 0, r1, c1, c0, 0 @ SCTLR (System Control Register)
16 orr r1, r1, #CR_I @ Enable ICache
17 bic r1, r1, #(CR_C | CR_M) @ Disable MMU and Dcache
18 mcr p15, 0, r1, c1, c0, 0
21 0: .word uniphier_secondary_startup
22 .globl uniphier_smp_trampoline_end
23 uniphier_smp_trampoline_end:
24 ENDPROC(uniphier_smp_trampoline)
26 LENTRY(uniphier_secondary_startup)
27 mrc p15, 0, r1, c0, c0, 5 @ MPIDR (Multiprocessor Affinity Reg)
30 ldr r2, =uniphier_smp_booted
32 str r0, [r2, r1, lsl #2]
34 ldr r2, =uniphier_psci_holding_pen_release
40 ENDPROC(uniphier_secondary_startup)