16355f234SVikram Kanigiri/* 26355f234SVikram Kanigiri * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. 36355f234SVikram Kanigiri * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 56355f234SVikram Kanigiri */ 6c3cf06f1SAntonio Nino Diaz#ifndef CCI_MACROS_S 7c3cf06f1SAntonio Nino Diaz#define CCI_MACROS_S 86355f234SVikram Kanigiri 9*09d40e0eSAntonio Nino Diaz#include <drivers/arm/cci.h> 106355f234SVikram Kanigiri#include <platform_def.h> 116355f234SVikram Kanigiri 126355f234SVikram Kanigiri.section .rodata.cci_reg_name, "aS" 136355f234SVikram Kanigiricci_iface_regs: 146355f234SVikram Kanigiri .asciz "cci_snoop_ctrl_cluster0", "cci_snoop_ctrl_cluster1" , "" 156355f234SVikram Kanigiri 166355f234SVikram Kanigiri /* ------------------------------------------------ 176355f234SVikram Kanigiri * The below required platform porting macro prints 186355f234SVikram Kanigiri * out relevant interconnect registers whenever an 196355f234SVikram Kanigiri * unhandled exception is taken in BL31. 206355f234SVikram Kanigiri * Clobbers: x0 - x9, sp 216355f234SVikram Kanigiri * ------------------------------------------------ 226355f234SVikram Kanigiri */ 239ff67fa6SGerald Lejeune .macro print_cci_regs 246355f234SVikram Kanigiri adr x6, cci_iface_regs 256355f234SVikram Kanigiri /* Store in x7 the base address of the first interface */ 266355f234SVikram Kanigiri mov_imm x7, (PLAT_ARM_CCI_BASE + SLAVE_IFACE_OFFSET( \ 276355f234SVikram Kanigiri PLAT_ARM_CCI_CLUSTER0_SL_IFACE_IX)) 286355f234SVikram Kanigiri ldr w8, [x7, #SNOOP_CTRL_REG] 296355f234SVikram Kanigiri /* Store in x7 the base address of the second interface */ 306355f234SVikram Kanigiri mov_imm x7, (PLAT_ARM_CCI_BASE + SLAVE_IFACE_OFFSET( \ 316355f234SVikram Kanigiri PLAT_ARM_CCI_CLUSTER1_SL_IFACE_IX)) 326355f234SVikram Kanigiri ldr w9, [x7, #SNOOP_CTRL_REG] 336355f234SVikram Kanigiri /* Store to the crash buf and print to console */ 346355f234SVikram Kanigiri bl str_in_crash_buf_print 356355f234SVikram Kanigiri .endm 366355f234SVikram Kanigiri 37c3cf06f1SAntonio Nino Diaz#endif /* CCI_MACROS_S */ 38