1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 * 7 * Description: 8 * MORELLO System Support 9 */ 10 11 #ifndef MOD_MORELLO_SYSTEM_H 12 #define MOD_MORELLO_SYSTEM_H 13 14 /*! 15 * \addtogroup GroupMORELLOModule MORELLO Product Modules 16 * \{ 17 */ 18 19 /*! 20 * \defgroup GroupMORELLOSystem MORELLO System Support 21 * \{ 22 */ 23 24 /*! 25 * \brief MORELLO system macro definitions. 26 */ 27 28 /*! Offset of the Trusted SRAM between AP and SCP Address Space*/ 29 #define AP_SCP_SRAM_OFFSET UINT32_C(0xA0000000) 30 31 /*! Address translation enable bit */ 32 #define ADDR_TRANS_EN UINT32_C(0x1) 33 34 35 /*! 36 * Offset of NIC-400 security 0 register for 37 * non-secure CoreSight debug access 38 */ 39 #define NIC_400_SEC_0_CSAPBM_OFFSET UINT32_C(0x2A10001C) 40 41 /*! 42 * \brief API indices. 43 */ 44 enum mod_morello_system_api_idx { 45 /*! API index for the driver interface of the system_power module */ 46 MOD_MORELLO_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER, 47 48 /*! API index for AP memory access */ 49 MOD_MORELLO_SYSTEM_API_IDX_AP_MEMORY_ACCESS, 50 51 /*! API index for getting chip information */ 52 MOD_MORELLO_SYSTEM_API_IDX_CHIPINFO, 53 54 /*! Number of exposed interfaces */ 55 MOD_MORELLO_SYSTEM_API_COUNT, 56 }; 57 58 /*! 59 * \brief APIs to enable/disable access AP memory in 1MB window. 60 */ 61 struct mod_morello_system_ap_memory_access_api { 62 /*! 63 * \brief Pointer to function that enables windowed access to AP memory. 64 * 65 * \param addr Base address of the 1MB AP memory window. 66 * 67 * \retval void. 68 */ 69 void (*enable_ap_memory_access)(uint32_t addr); 70 71 /*! 72 * \brief Pointer to function that disables windowed access to AP memory. 73 * 74 * \retval void. 75 */ 76 void (*disable_ap_memory_access)(void); 77 }; 78 79 /*! 80 * \} 81 */ 82 83 /*! 84 * \} 85 */ 86 87 #endif /* MOD_MORELLO_SYSTEM_H */ 88