1 /* 2 * Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. 3 * Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef PLAT_STARTUP_H 9 #define PLAT_STARTUP_H 10 11 #include <common/bl_common.h> 12 13 /* For FSBL handover */ 14 enum fsbl_handoff { 15 FSBL_HANDOFF_SUCCESS = 0, 16 FSBL_HANDOFF_NO_STRUCT, 17 FSBL_HANDOFF_INVAL_STRUCT, 18 FSBL_HANDOFF_TOO_MANY_PARTS 19 }; 20 21 #define FSBL_MAX_PARTITIONS 8U 22 23 /* Structure corresponding to each partition entry */ 24 struct xfsbl_partition { 25 uint64_t entry_point; 26 uint64_t flags; 27 }; 28 29 /* Structure for handoff parameters to ARM Trusted Firmware (ATF) */ 30 struct xfsbl_atf_handoff_params { 31 uint8_t magic[4]; 32 uint32_t num_entries; 33 struct xfsbl_partition partition[FSBL_MAX_PARTITIONS]; 34 }; 35 36 #define ATF_HANDOFF_PARAMS_MAX_SIZE sizeof(struct xfsbl_atf_handoff_params) 37 38 enum fsbl_handoff fsbl_atf_handover(entry_point_info_t *bl32, 39 entry_point_info_t *bl33, 40 uint64_t atf_handoff_addr); 41 42 /* JEDEC Standard Manufacturer's Identification Code and Bank ID JEP106 */ 43 #define JEDEC_XILINX_MFID U(0x49) 44 #define JEDEC_XILINX_BKID U(0) 45 46 #endif /* PLAT_STARTUP_H */ 47