xref: /rk3399_ARM-atf/plat/renesas/rcar_gen4/include/plat_macros.S (revision b45b5bacb95d0e2d4539a7869c1ccf90da041498)
1*b45b5bacSMarek Vasut/*
2*b45b5bacSMarek Vasut * Copyright (c) 2015-2025, Renesas Electronics Corporation. All rights reserved.
3*b45b5bacSMarek Vasut *
4*b45b5bacSMarek Vasut * SPDX-License-Identifier: BSD-3-Clause
5*b45b5bacSMarek Vasut */
6*b45b5bacSMarek Vasut
7*b45b5bacSMarek Vasut#include <drivers/arm/cci.h>
8*b45b5bacSMarek Vasut#include <drivers/arm/gic_common.h>
9*b45b5bacSMarek Vasut
10*b45b5bacSMarek Vasut#include "rcar_def.h"
11*b45b5bacSMarek Vasut
12*b45b5bacSMarek Vasut.section .rodata.cci_reg_name, "aS"
13*b45b5bacSMarek Vasutcci_iface_regs:
14*b45b5bacSMarek Vasut	.asciz "cci_snoop_ctrl_cluster0", "cci_snoop_ctrl_cluster1" , ""
15*b45b5bacSMarek Vasut
16*b45b5bacSMarek Vasut	/* ------------------------------------------------
17*b45b5bacSMarek Vasut	 * The below macro prints out relevant interconnect
18*b45b5bacSMarek Vasut	 * registers whenever an unhandled exception is
19*b45b5bacSMarek Vasut	 * taken in BL3-1.
20*b45b5bacSMarek Vasut	 * Clobbers: x0 - x9, sp
21*b45b5bacSMarek Vasut	 * ------------------------------------------------
22*b45b5bacSMarek Vasut	 */
23*b45b5bacSMarek Vasut	.macro plat_print_interconnect_regs
24*b45b5bacSMarek Vasut	adr	x6, cci_iface_regs
25*b45b5bacSMarek Vasut	/* Store in x7 the base address of the first interface */
26*b45b5bacSMarek Vasut	mov_imm	x7, (CCI500_BASE + SLAVE_IFACE3_OFFSET)
27*b45b5bacSMarek Vasut	ldr	w8, [x7, #SNOOP_CTRL_REG]
28*b45b5bacSMarek Vasut	/* Store in x7 the base address of the second interface */
29*b45b5bacSMarek Vasut	mov_imm	x7, (CCI500_BASE + SLAVE_IFACE4_OFFSET)
30*b45b5bacSMarek Vasut	ldr	w9, [x7, #SNOOP_CTRL_REG]
31*b45b5bacSMarek Vasut	/* Store to the crash buf and print to console */
32*b45b5bacSMarek Vasut	bl	str_in_crash_buf_print
33*b45b5bacSMarek Vasut	.endm
34*b45b5bacSMarek Vasut
35*b45b5bacSMarek Vasut	.macro plat_crash_print_regs
36*b45b5bacSMarek Vasut	plat_print_interconnect_regs
37*b45b5bacSMarek Vasut	.endm
38