1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2019-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef MOD_JUNO_ROM_H 9 #define MOD_JUNO_ROM_H 10 11 #include <fwk_id.h> 12 #include <fwk_module_idx.h> 13 14 #include <stddef.h> 15 #include <stdint.h> 16 17 /*! 18 * \addtogroup GroupJunoModule Juno Product Modules 19 * \{ 20 */ 21 22 /*! 23 * \defgroup GroupJunoROM Juno ROM 24 * \{ 25 */ 26 27 /*! 28 * \brief Event indices. 29 */ 30 enum mod_juno_rom_event_idx { 31 /*! 'Run' event */ 32 MOD_JUNO_ROM_EVENT_IDX_RUN, 33 34 /*! Number of defined events */ 35 MOD_JUNO_ROM_EVENT_COUNT, 36 }; 37 38 /*! 39 * \brief 'Run' event identifier. 40 */ 41 static const fwk_id_t mod_juno_rom_event_id_run = 42 FWK_ID_EVENT_INIT(FWK_MODULE_IDX_JUNO_ROM, MOD_JUNO_ROM_EVENT_IDX_RUN); 43 44 /*! 45 * \brief Notification indices. 46 */ 47 enum mod_juno_rom_notification_idx { 48 /*! 'SYSTOP ON' notification */ 49 MOD_JUNO_ROM_NOTIFICATION_IDX_SYSTOP, 50 51 /*! Number of defined notifications */ 52 MOD_JUNO_ROM_NOTIFICATION_COUNT, 53 }; 54 55 /*! 56 * \brief 'SYSTOP ON' notification identifier. 57 */ 58 static const fwk_id_t mod_juno_rom_notification_id_systop = 59 FWK_ID_NOTIFICATION_INIT( 60 FWK_MODULE_IDX_JUNO_ROM, 61 MOD_JUNO_ROM_NOTIFICATION_IDX_SYSTOP); 62 63 /*! 64 * \brief Module configuration. 65 */ 66 struct mod_juno_rom_config { 67 /*! Base address of the AP context area */ 68 uintptr_t ap_context_base; 69 70 /*! Size of the AP context area */ 71 size_t ap_context_size; 72 73 /*! Base address of the RAM firmware image */ 74 uintptr_t ramfw_base; 75 }; 76 77 /*! 78 * \} 79 */ 80 81 /*! 82 * \} 83 */ 84 85 #endif /* MOD_JUNO_ROM_H */ 86