14d9f825aSVenkatesh Yadav Abbarapu /* 2619bc13eSMichal Simek * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved. 327749653SMichal Simek * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved. 44d9f825aSVenkatesh Yadav Abbarapu * 54d9f825aSVenkatesh Yadav Abbarapu * SPDX-License-Identifier: BSD-3-Clause 64d9f825aSVenkatesh Yadav Abbarapu */ 74d9f825aSVenkatesh Yadav Abbarapu 84d9f825aSVenkatesh Yadav Abbarapu #ifndef PLAT_STARTUP_H 94d9f825aSVenkatesh Yadav Abbarapu #define PLAT_STARTUP_H 104d9f825aSVenkatesh Yadav Abbarapu 11885e2683SClaus Pedersen #include <common/bl_common.h> 12885e2683SClaus Pedersen 13*b9d26cd3SPrasad Kummari /* For Xilinx bootloader XBL handover */ 14*b9d26cd3SPrasad Kummari enum xbl_handoff { 15*b9d26cd3SPrasad Kummari XBL_HANDOFF_SUCCESS = 0, 16*b9d26cd3SPrasad Kummari XBL_HANDOFF_NO_STRUCT, 17*b9d26cd3SPrasad Kummari XBL_HANDOFF_INVAL_STRUCT, 18*b9d26cd3SPrasad Kummari XBL_HANDOFF_TOO_MANY_PARTS 194d9f825aSVenkatesh Yadav Abbarapu }; 204d9f825aSVenkatesh Yadav Abbarapu 21*b9d26cd3SPrasad Kummari #define XBL_MAX_PARTITIONS 8U 22237a7de1SVenkatesh Yadav Abbarapu 23237a7de1SVenkatesh Yadav Abbarapu /* Structure corresponding to each partition entry */ 24*b9d26cd3SPrasad Kummari struct xbl_partition { 25237a7de1SVenkatesh Yadav Abbarapu uint64_t entry_point; 26237a7de1SVenkatesh Yadav Abbarapu uint64_t flags; 27237a7de1SVenkatesh Yadav Abbarapu }; 28237a7de1SVenkatesh Yadav Abbarapu 29c8be2240SPrasad Kummari /* Structure for handoff parameters to TrustedFirmware-A (TF-A) */ 30*b9d26cd3SPrasad Kummari struct xbl_handoff_params { 31237a7de1SVenkatesh Yadav Abbarapu uint8_t magic[4]; 32237a7de1SVenkatesh Yadav Abbarapu uint32_t num_entries; 33*b9d26cd3SPrasad Kummari struct xbl_partition partition[XBL_MAX_PARTITIONS]; 34237a7de1SVenkatesh Yadav Abbarapu }; 35237a7de1SVenkatesh Yadav Abbarapu 36*b9d26cd3SPrasad Kummari #define HANDOFF_PARAMS_MAX_SIZE sizeof(struct xbl_handoff_params) 37205c7ad4SVenkatesh Yadav Abbarapu 38*b9d26cd3SPrasad Kummari enum xbl_handoff xbl_handover(entry_point_info_t *bl32, 39944e7ea9SVenkatesh Yadav Abbarapu entry_point_info_t *bl33, 40*b9d26cd3SPrasad Kummari uint64_t handoff_addr); 414d9f825aSVenkatesh Yadav Abbarapu 428f9ba3f3SMichal Simek /* JEDEC Standard Manufacturer's Identification Code and Bank ID JEP106 */ 438f9ba3f3SMichal Simek #define JEDEC_XILINX_MFID U(0x49) 448f9ba3f3SMichal Simek #define JEDEC_XILINX_BKID U(0) 458f9ba3f3SMichal Simek 464d9f825aSVenkatesh Yadav Abbarapu #endif /* PLAT_STARTUP_H */ 47