1*5bd9c17dSSaurabh Gorecha /* 2*5bd9c17dSSaurabh Gorecha * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 3*5bd9c17dSSaurabh Gorecha * 4*5bd9c17dSSaurabh Gorecha * SPDX-License-Identifier: BSD-3-Clause 5*5bd9c17dSSaurabh Gorecha */ 6*5bd9c17dSSaurabh Gorecha 7*5bd9c17dSSaurabh Gorecha #ifndef QTISECLIB_DEFS_H 8*5bd9c17dSSaurabh Gorecha #define QTISECLIB_DEFS_H 9*5bd9c17dSSaurabh Gorecha 10*5bd9c17dSSaurabh Gorecha #include <stdint.h> 11*5bd9c17dSSaurabh Gorecha 12*5bd9c17dSSaurabh Gorecha #ifndef u_register_t 13*5bd9c17dSSaurabh Gorecha typedef uintptr_t u_register_t; 14*5bd9c17dSSaurabh Gorecha #endif 15*5bd9c17dSSaurabh Gorecha 16*5bd9c17dSSaurabh Gorecha /* 17*5bd9c17dSSaurabh Gorecha * Different Log Level supported in qtiseclib. 18*5bd9c17dSSaurabh Gorecha * TODO: Currently no filtering done on QTISECLIB logs. 19*5bd9c17dSSaurabh Gorecha */ 20*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_NONE 0 21*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_ERROR 10 22*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_NOTICE 20 23*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_WARNING 30 24*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_INFO 40 25*5bd9c17dSSaurabh Gorecha #define QTISECLIB_LOG_LEVEL_VERBOSE 50 26*5bd9c17dSSaurabh Gorecha 27*5bd9c17dSSaurabh Gorecha #define QTI_GICV3_IRM_PE 0 28*5bd9c17dSSaurabh Gorecha #define QTI_GICV3_IRM_ANY 1 29*5bd9c17dSSaurabh Gorecha 30*5bd9c17dSSaurabh Gorecha /* Common interrupt number/ID defs. */ 31*5bd9c17dSSaurabh Gorecha #define QTISECLIB_INT_ID_RESET_SGI (0xf) 32*5bd9c17dSSaurabh Gorecha #define QTISECLIB_INT_ID_CPU_WAKEUP_SGI (0x8) 33*5bd9c17dSSaurabh Gorecha 34*5bd9c17dSSaurabh Gorecha #define QTISECLIB_INT_INVALID_INT_NUM (0xFFFFFFFFU) 35*5bd9c17dSSaurabh Gorecha 36*5bd9c17dSSaurabh Gorecha typedef struct qtiseclib_cb_spinlock { 37*5bd9c17dSSaurabh Gorecha volatile uint32_t lock; 38*5bd9c17dSSaurabh Gorecha } qtiseclib_cb_spinlock_t; 39*5bd9c17dSSaurabh Gorecha 40*5bd9c17dSSaurabh Gorecha #if QTI_SDI_BUILD 41*5bd9c17dSSaurabh Gorecha /* External CPU Dump Structure - 64 bit EL */ 42*5bd9c17dSSaurabh Gorecha typedef struct { 43*5bd9c17dSSaurabh Gorecha uint64_t x0; 44*5bd9c17dSSaurabh Gorecha uint64_t x1; 45*5bd9c17dSSaurabh Gorecha uint64_t x2; 46*5bd9c17dSSaurabh Gorecha uint64_t x3; 47*5bd9c17dSSaurabh Gorecha uint64_t x4; 48*5bd9c17dSSaurabh Gorecha uint64_t x5; 49*5bd9c17dSSaurabh Gorecha uint64_t x6; 50*5bd9c17dSSaurabh Gorecha uint64_t x7; 51*5bd9c17dSSaurabh Gorecha uint64_t x8; 52*5bd9c17dSSaurabh Gorecha uint64_t x9; 53*5bd9c17dSSaurabh Gorecha uint64_t x10; 54*5bd9c17dSSaurabh Gorecha uint64_t x11; 55*5bd9c17dSSaurabh Gorecha uint64_t x12; 56*5bd9c17dSSaurabh Gorecha uint64_t x13; 57*5bd9c17dSSaurabh Gorecha uint64_t x14; 58*5bd9c17dSSaurabh Gorecha uint64_t x15; 59*5bd9c17dSSaurabh Gorecha uint64_t x16; 60*5bd9c17dSSaurabh Gorecha uint64_t x17; 61*5bd9c17dSSaurabh Gorecha uint64_t x18; 62*5bd9c17dSSaurabh Gorecha uint64_t x19; 63*5bd9c17dSSaurabh Gorecha uint64_t x20; 64*5bd9c17dSSaurabh Gorecha uint64_t x21; 65*5bd9c17dSSaurabh Gorecha uint64_t x22; 66*5bd9c17dSSaurabh Gorecha uint64_t x23; 67*5bd9c17dSSaurabh Gorecha uint64_t x24; 68*5bd9c17dSSaurabh Gorecha uint64_t x25; 69*5bd9c17dSSaurabh Gorecha uint64_t x26; 70*5bd9c17dSSaurabh Gorecha uint64_t x27; 71*5bd9c17dSSaurabh Gorecha uint64_t x28; 72*5bd9c17dSSaurabh Gorecha uint64_t x29; 73*5bd9c17dSSaurabh Gorecha uint64_t x30; 74*5bd9c17dSSaurabh Gorecha uint64_t pc; 75*5bd9c17dSSaurabh Gorecha uint64_t currentEL; 76*5bd9c17dSSaurabh Gorecha uint64_t sp_el3; 77*5bd9c17dSSaurabh Gorecha uint64_t elr_el3; 78*5bd9c17dSSaurabh Gorecha uint64_t spsr_el3; 79*5bd9c17dSSaurabh Gorecha uint64_t sp_el2; 80*5bd9c17dSSaurabh Gorecha uint64_t elr_el2; 81*5bd9c17dSSaurabh Gorecha uint64_t spsr_el2; 82*5bd9c17dSSaurabh Gorecha uint64_t sp_el1; 83*5bd9c17dSSaurabh Gorecha uint64_t elr_el1; 84*5bd9c17dSSaurabh Gorecha uint64_t spsr_el1; 85*5bd9c17dSSaurabh Gorecha uint64_t sp_el0; 86*5bd9c17dSSaurabh Gorecha uint64_t __reserved1; 87*5bd9c17dSSaurabh Gorecha uint64_t __reserved2; 88*5bd9c17dSSaurabh Gorecha uint64_t __reserved3; 89*5bd9c17dSSaurabh Gorecha uint64_t __reserved4; 90*5bd9c17dSSaurabh Gorecha uint64_t __reserved5; 91*5bd9c17dSSaurabh Gorecha uint64_t __reserved6; 92*5bd9c17dSSaurabh Gorecha uint64_t __reserved7; 93*5bd9c17dSSaurabh Gorecha uint64_t __reserved8; 94*5bd9c17dSSaurabh Gorecha } qtiseclib_dbg_a64_ctxt_regs_type; 95*5bd9c17dSSaurabh Gorecha 96*5bd9c17dSSaurabh Gorecha typedef enum qtiseclib_mmap_attr_s { 97*5bd9c17dSSaurabh Gorecha QTISECLIB_MAP_NS_RO_XN_DATA = 1, 98*5bd9c17dSSaurabh Gorecha QTISECLIB_MAP_RW_XN_NC_DATA = 2, 99*5bd9c17dSSaurabh Gorecha QTISECLIB_MAP_RW_XN_DATA = 3, 100*5bd9c17dSSaurabh Gorecha } qtiseclib_mmap_attr_t; 101*5bd9c17dSSaurabh Gorecha 102*5bd9c17dSSaurabh Gorecha #endif /* QTI_SDI_BUILD */ 103*5bd9c17dSSaurabh Gorecha 104*5bd9c17dSSaurabh Gorecha #endif /* QTISECLIB_DEFS_H */ 105