summaryrefslogtreecommitdiffstats
path: root/plat/xilinx/common/include/plat_startup.h
diff options
context:
space:
mode:
Diffstat (limited to 'plat/xilinx/common/include/plat_startup.h')
-rw-r--r--plat/xilinx/common/include/plat_startup.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/plat/xilinx/common/include/plat_startup.h b/plat/xilinx/common/include/plat_startup.h
new file mode 100644
index 0000000..5270e13
--- /dev/null
+++ b/plat/xilinx/common/include/plat_startup.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef PLAT_STARTUP_H
+#define PLAT_STARTUP_H
+
+#include <common/bl_common.h>
+
+/* For Xilinx bootloader XBL handover */
+enum xbl_handoff {
+ XBL_HANDOFF_SUCCESS = 0,
+ XBL_HANDOFF_NO_STRUCT,
+ XBL_HANDOFF_INVAL_STRUCT,
+ XBL_HANDOFF_TOO_MANY_PARTS
+};
+
+#define XBL_MAX_PARTITIONS 8U
+
+/* Structure corresponding to each partition entry */
+struct xbl_partition {
+ uint64_t entry_point;
+ uint64_t flags;
+};
+
+/* Structure for handoff parameters to TrustedFirmware-A (TF-A) */
+struct xbl_handoff_params {
+ uint8_t magic[4];
+ uint32_t num_entries;
+ struct xbl_partition partition[XBL_MAX_PARTITIONS];
+};
+
+#define HANDOFF_PARAMS_MAX_SIZE sizeof(struct xbl_handoff_params)
+
+enum xbl_handoff xbl_handover(entry_point_info_t *bl32,
+ entry_point_info_t *bl33,
+ uint64_t handoff_addr);
+
+/* JEDEC Standard Manufacturer's Identification Code and Bank ID JEP106 */
+#define JEDEC_XILINX_MFID U(0x49)
+#define JEDEC_XILINX_BKID U(0)
+
+#endif /* PLAT_STARTUP_H */