xref: /rk3399_ARM-atf/plat/arm/board/common/aarch32/board_arm_helpers.S (revision 9f0f203d7e180480e95f5a261125a96dee1d65e4)
11a0a3f06SYatharth Kochar/*
21a0a3f06SYatharth Kochar * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
31a0a3f06SYatharth Kochar *
482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause
51a0a3f06SYatharth Kochar */
609d40e0eSAntonio Nino Diaz
71a0a3f06SYatharth Kochar#include <asm_macros.S>
809d40e0eSAntonio Nino Diaz#include <common/bl_common.h>
9*234bc7f8SAntonio Nino Diaz#include <platform_def.h>
101a0a3f06SYatharth Kochar
111a0a3f06SYatharth Kochar	.globl  plat_report_exception
121a0a3f06SYatharth Kochar
131a0a3f06SYatharth Kochar
141a0a3f06SYatharth Kochar	/* -------------------------------------------------------
151a0a3f06SYatharth Kochar	 * void plat_report_exception(unsigned int type)
161a0a3f06SYatharth Kochar	 * Function to report an unhandled exception
171a0a3f06SYatharth Kochar	 * with platform-specific means.
181a0a3f06SYatharth Kochar	 * On FVP platform, it updates the LEDs
191a0a3f06SYatharth Kochar	 * to indicate where we are.
201a0a3f06SYatharth Kochar	 * SYS_LED[0]   - 0x0
211a0a3f06SYatharth Kochar	 * SYS_LED[2:1] - 0x0
221a0a3f06SYatharth Kochar	 * SYS_LED[7:3] - Exception Mode.
231a0a3f06SYatharth Kochar	 * Clobbers: r0-r1
241a0a3f06SYatharth Kochar	 * -------------------------------------------------------
251a0a3f06SYatharth Kochar	 */
261a0a3f06SYatharth Kocharfunc plat_report_exception
271a0a3f06SYatharth Kochar	lsl	r0, r0, #V2M_SYS_LED_EC_SHIFT
281a0a3f06SYatharth Kochar	ldr	r1, =V2M_SYSREGS_BASE
291a0a3f06SYatharth Kochar	add	r1, r1, #V2M_SYS_LED
301a0a3f06SYatharth Kochar	str	r0, [r1]
311a0a3f06SYatharth Kochar	bx	lr
321a0a3f06SYatharth Kocharendfunc plat_report_exception
33