1*61496151SArve Hjønnevåg /* 2*61496151SArve Hjønnevåg * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. 3*61496151SArve Hjønnevåg * 4*61496151SArve Hjønnevåg * Redistribution and use in source and binary forms, with or without 5*61496151SArve Hjønnevåg * modification, are permitted provided that the following conditions are met: 6*61496151SArve Hjønnevåg * 7*61496151SArve Hjønnevåg * Redistributions of source code must retain the above copyright notice, this 8*61496151SArve Hjønnevåg * list of conditions and the following disclaimer. 9*61496151SArve Hjønnevåg * 10*61496151SArve Hjønnevåg * Redistributions in binary form must reproduce the above copyright notice, 11*61496151SArve Hjønnevåg * this list of conditions and the following disclaimer in the documentation 12*61496151SArve Hjønnevåg * and/or other materials provided with the distribution. 13*61496151SArve Hjønnevåg * 14*61496151SArve Hjønnevåg * Neither the name of ARM nor the names of its contributors may be used 15*61496151SArve Hjønnevåg * to endorse or promote products derived from this software without specific 16*61496151SArve Hjønnevåg * prior written permission. 17*61496151SArve Hjønnevåg * 18*61496151SArve Hjønnevåg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19*61496151SArve Hjønnevåg * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20*61496151SArve Hjønnevåg * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21*61496151SArve Hjønnevåg * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22*61496151SArve Hjønnevåg * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23*61496151SArve Hjønnevåg * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24*61496151SArve Hjønnevåg * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25*61496151SArve Hjønnevåg * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26*61496151SArve Hjønnevåg * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27*61496151SArve Hjønnevåg * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*61496151SArve Hjønnevåg * POSSIBILITY OF SUCH DAMAGE. 29*61496151SArve Hjønnevåg */ 30*61496151SArve Hjønnevåg 31*61496151SArve Hjønnevåg #include "smcall.h" 32*61496151SArve Hjønnevåg 33*61496151SArve Hjønnevåg #define SMC_ENTITY_PLATFORM_MONITOR 61 34*61496151SArve Hjønnevåg 35*61496151SArve Hjønnevåg /* 36*61496151SArve Hjønnevåg * SMC calls implemented by EL3 monitor 37*61496151SArve Hjønnevåg */ 38*61496151SArve Hjønnevåg 39*61496151SArve Hjønnevåg /* 40*61496151SArve Hjønnevåg * Write character in r1 to debug console 41*61496151SArve Hjønnevåg */ 42*61496151SArve Hjønnevåg #define SMC_FC_DEBUG_PUTC SMC_FASTCALL_NR(SMC_ENTITY_PLATFORM_MONITOR, 0x0) 43*61496151SArve Hjønnevåg 44*61496151SArve Hjønnevåg /* 45*61496151SArve Hjønnevåg * Get register base address 46*61496151SArve Hjønnevåg * r1: SMC_GET_GIC_BASE_GICD or SMC_GET_GIC_BASE_GICC 47*61496151SArve Hjønnevåg */ 48*61496151SArve Hjønnevåg #define SMC_GET_GIC_BASE_GICD 0 49*61496151SArve Hjønnevåg #define SMC_GET_GIC_BASE_GICC 1 50*61496151SArve Hjønnevåg #define SMC_FC_GET_REG_BASE SMC_FASTCALL_NR(SMC_ENTITY_PLATFORM_MONITOR, 0x1) 51*61496151SArve Hjønnevåg #define SMC_FC64_GET_REG_BASE SMC_FASTCALL64_NR(SMC_ENTITY_PLATFORM_MONITOR, 0x1) 52