blob: 64261ac00b216cddc6afc1147ea1d657dd0aa1e1 [file] [log] [blame]
Tony Xief6118cc2016-01-15 17:17:32 +08001/*
2 * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Tony Xief6118cc2016-01-15 17:17:32 +08005 */
6
7#include <arch.h>
8#include <asm_macros.S>
9#include <platform_def.h>
Tony Xief6118cc2016-01-15 17:17:32 +080010
Lin Huang30e43392017-05-04 16:02:45 +080011 .globl pmu_cpuson_entrypoint
12 .macro pmusram_entry_func _name
13 .section .pmusram.entry, "ax"
14 .type \_name, %function
15 .func \_name
16 .cfi_startproc
17 \_name:
18 .endm
Tony Xief6118cc2016-01-15 17:17:32 +080019
Lin Huang30e43392017-05-04 16:02:45 +080020pmusram_entry_func pmu_cpuson_entrypoint
21
22#if PSRAM_DO_DDR_RESUME
Tony Xief6118cc2016-01-15 17:17:32 +080023ddr_resume:
Lin Huang30e43392017-05-04 16:02:45 +080024 ldr x2, =__bl31_sram_stack_end
25 mov sp, x2
26 bl dmc_restore
27#endif
Tony Xief6118cc2016-01-15 17:17:32 +080028
Lin Huang30e43392017-05-04 16:02:45 +080029sys_resume:
30 bl psci_entrypoint
Tony Xief6118cc2016-01-15 17:17:32 +080031endfunc pmu_cpuson_entrypoint