1*3bb52661SManish V Badarkhe /* 2*3bb52661SManish V Badarkhe * Copyright (c) 2025, Arm Limited. All rights reserved. 3*3bb52661SManish V Badarkhe * 4*3bb52661SManish V Badarkhe * SPDX-License-Identifier: BSD-3-Clause 5*3bb52661SManish V Badarkhe */ 6*3bb52661SManish V Badarkhe 7*3bb52661SManish V Badarkhe #include <errno.h> 8*3bb52661SManish V Badarkhe #include <plat/common/platform.h> 9*3bb52661SManish V Badarkhe #include <tools_share/firmware_image_package.h> 10*3bb52661SManish V Badarkhe 11*3bb52661SManish V Badarkhe #include <fvp_lfa_components.h> 12*3bb52661SManish V Badarkhe 13*3bb52661SManish V Badarkhe /* Keep this array consistent with enum fvp_lfa_component_id_t */ 14*3bb52661SManish V Badarkhe static plat_lfa_component_info_t fvp_lfa_components[LFA_MAX_DEFINED_COMPONENTS] = { 15*3bb52661SManish V Badarkhe [LFA_BL31_COMPONENT] = {LFA_BL31_COMPONENT, UUID_EL3_RUNTIME_FIRMWARE_BL31}, 16*3bb52661SManish V Badarkhe #if BL32_BASE 17*3bb52661SManish V Badarkhe [LFA_BL32_COMPONENT] = {LFA_BL32_COMPONENT, UUID_SECURE_PAYLOAD_BL32}, 18*3bb52661SManish V Badarkhe #endif /* BL32_BASE */ 19*3bb52661SManish V Badarkhe [LFA_BL33_COMPONENT] = {LFA_BL33_COMPONENT, UUID_NON_TRUSTED_FIRMWARE_BL33}, 20*3bb52661SManish V Badarkhe #if ENABLE_RME 21*3bb52661SManish V Badarkhe [LFA_RMM_COMPONENT] = {LFA_RMM_COMPONENT, UUID_REALM_MONITOR_MGMT_FIRMWARE}, 22*3bb52661SManish V Badarkhe #endif /* ENABLE_RME */ 23*3bb52661SManish V Badarkhe }; 24*3bb52661SManish V Badarkhe 25*3bb52661SManish V Badarkhe uint32_t plat_lfa_get_components(plat_lfa_component_info_t **components) 26*3bb52661SManish V Badarkhe { 27*3bb52661SManish V Badarkhe if (components == NULL) { 28*3bb52661SManish V Badarkhe return -EINVAL; 29*3bb52661SManish V Badarkhe } 30*3bb52661SManish V Badarkhe 31*3bb52661SManish V Badarkhe *components = fvp_lfa_components; 32*3bb52661SManish V Badarkhe return LFA_MAX_DEFINED_COMPONENTS; 33*3bb52661SManish V Badarkhe } 34