xref: /rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S (revision 4f2c4ecfb087dd32b277000dc1578837dee1fd71)
1877cf3ffSSoby Mathew/*
2*6dc5979aSYann Gautier * Copyright (c) 2016-2022, ARM Limited and Contributors. All rights reserved.
3877cf3ffSSoby Mathew *
482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause
5877cf3ffSSoby Mathew */
6877cf3ffSSoby Mathew
7877cf3ffSSoby Mathew#include <arch.h>
8877cf3ffSSoby Mathew#include <asm_macros.S>
9877cf3ffSSoby Mathew
10ceada2b5SEtienne Carriere	.weak	plat_report_exception
11*6dc5979aSYann Gautier	.weak	plat_report_prefetch_abort
12*6dc5979aSYann Gautier	.weak	plat_report_data_abort
13877cf3ffSSoby Mathew	.weak	plat_reset_handler
141a0a3f06SYatharth Kochar	.weak	plat_disable_acp
15ceada2b5SEtienne Carriere	.weak	bl1_plat_prepare_exit
16877cf3ffSSoby Mathew	.weak	platform_mem_init
17877cf3ffSSoby Mathew	.weak	plat_panic_handler
18877cf3ffSSoby Mathew
19877cf3ffSSoby Mathew	/* -----------------------------------------------------
20877cf3ffSSoby Mathew	 * Placeholder function which should be redefined by
21877cf3ffSSoby Mathew	 * each platform.
22877cf3ffSSoby Mathew	 * -----------------------------------------------------
23877cf3ffSSoby Mathew	 */
24ceada2b5SEtienne Carrierefunc plat_report_exception
25ceada2b5SEtienne Carriere	bx	lr
26ceada2b5SEtienne Carriereendfunc plat_report_exception
27ceada2b5SEtienne Carriere
28801cf93cSAntonio Nino Diaz	/* -----------------------------------------------------
29801cf93cSAntonio Nino Diaz	 * Placeholder function which should be redefined by
30801cf93cSAntonio Nino Diaz	 * each platform.
31801cf93cSAntonio Nino Diaz	 * -----------------------------------------------------
32801cf93cSAntonio Nino Diaz	 */
33*6dc5979aSYann Gautierfunc plat_report_prefetch_abort
34*6dc5979aSYann Gautier	bx	lr
35*6dc5979aSYann Gautierendfunc plat_report_prefetch_abort
36*6dc5979aSYann Gautier
37*6dc5979aSYann Gautier	/* -----------------------------------------------------
38*6dc5979aSYann Gautier	 * Placeholder function which should be redefined by
39*6dc5979aSYann Gautier	 * each platform.
40*6dc5979aSYann Gautier	 * -----------------------------------------------------
41*6dc5979aSYann Gautier	 */
42*6dc5979aSYann Gautierfunc plat_report_data_abort
43*6dc5979aSYann Gautier	bx	lr
44*6dc5979aSYann Gautierendfunc plat_report_data_abort
45*6dc5979aSYann Gautier
46*6dc5979aSYann Gautier	/* -----------------------------------------------------
47*6dc5979aSYann Gautier	 * Placeholder function which should be redefined by
48*6dc5979aSYann Gautier	 * each platform.
49*6dc5979aSYann Gautier	 * -----------------------------------------------------
50*6dc5979aSYann Gautier	 */
51877cf3ffSSoby Mathewfunc plat_reset_handler
52877cf3ffSSoby Mathew	bx	lr
53877cf3ffSSoby Mathewendfunc plat_reset_handler
54877cf3ffSSoby Mathew
551a0a3f06SYatharth Kochar	/* -----------------------------------------------------
561a0a3f06SYatharth Kochar	 * Placeholder function which should be redefined by
571a0a3f06SYatharth Kochar	 * each platform.
581a0a3f06SYatharth Kochar	 * -----------------------------------------------------
591a0a3f06SYatharth Kochar	 */
601a0a3f06SYatharth Kocharfunc plat_disable_acp
611a0a3f06SYatharth Kochar	bx	lr
621a0a3f06SYatharth Kocharendfunc plat_disable_acp
631a0a3f06SYatharth Kochar
64877cf3ffSSoby Mathew	/* ---------------------------------------------------------------------
65877cf3ffSSoby Mathew	 * Placeholder function which should be redefined by
66877cf3ffSSoby Mathew	 * each platform.
67877cf3ffSSoby Mathew	 * ---------------------------------------------------------------------
68877cf3ffSSoby Mathew	 */
69877cf3ffSSoby Mathewfunc platform_mem_init
70877cf3ffSSoby Mathew	bx	lr
71877cf3ffSSoby Mathewendfunc platform_mem_init
72877cf3ffSSoby Mathew
73877cf3ffSSoby Mathew	/* -----------------------------------------------------
74ceada2b5SEtienne Carriere	 * void bl1_plat_prepare_exit(entry_point_info_t *ep_info);
75ceada2b5SEtienne Carriere	 * Called before exiting BL1. Default: do nothing
76ceada2b5SEtienne Carriere	 * -----------------------------------------------------
77ceada2b5SEtienne Carriere	 */
78ceada2b5SEtienne Carrierefunc bl1_plat_prepare_exit
79ceada2b5SEtienne Carriere	bx	lr
80ceada2b5SEtienne Carriereendfunc bl1_plat_prepare_exit
81ceada2b5SEtienne Carriere
82ceada2b5SEtienne Carriere	/* -----------------------------------------------------
83877cf3ffSSoby Mathew	 * void plat_panic_handler(void) __dead2;
84877cf3ffSSoby Mathew	 * Endless loop by default.
85877cf3ffSSoby Mathew	 * -----------------------------------------------------
86877cf3ffSSoby Mathew	 */
87877cf3ffSSoby Mathewfunc plat_panic_handler
88877cf3ffSSoby Mathew	b	plat_panic_handler
89877cf3ffSSoby Mathewendfunc plat_panic_handler
90