1 /*
2  * Copyright (C) 2018, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 #ifndef IMX_HAB_H
7 #define IMX_HAB_H
8 
9 #include <imx_hab_arch.h>
10 #include <imx_regs.h>
11 
12 #define HAB_ROM_VECTOR_BASE\
13 	(BOOTROM_BASE + HAB_CALLBACK_OFFSET)
14 /*
15  * Section 4.5 of the High Assurance Boot Version 4 Application Programming
16  * Interface Reference Manual defines the ROM Vector table as coming after a 4
17  * byte header
18  *
19  * A series of function pointers are enumerated at fixed addresses, which are
20  * described below
21  */
22 #define HAB_ROM_VECTOR_TABLE_ENTRY		(HAB_ROM_VECTOR_BASE + 0x04)
23 #define HAB_ROM_VECTOR_TABLE_EXIT		(HAB_ROM_VECTOR_BASE + 0x08)
24 #define HAB_ROM_VECTOR_TABLE_CHECK_TARGET	(HAB_ROM_VECTOR_BASE + 0x0C)
25 #define HAB_ROM_VECTOR_TABLE_AUTHENTICATE_IMAGE	(HAB_ROM_VECTOR_BASE + 0x10)
26 #define HAB_ROM_VECTOR_TABLE_RUN_DCD		(HAB_ROM_VECTOR_BASE + 0x14)
27 #define HAB_ROM_VECTOR_TABLE_RUN_CSF		(HAB_ROM_VECTOR_BASE + 0x18)
28 #define HAB_ROM_VECTOR_TABLE_ASSERT		(HAB_ROM_VECTOR_BASE + 0x1C)
29 #define HAB_ROM_VECTOR_TABLE_REPORT_EVENT	(HAB_ROM_VECTOR_BASE + 0x20)
30 #define HAB_ROM_VECTOR_TABLE_REPORT_STATUS	(HAB_ROM_VECTOR_BASE + 0x24)
31 #define HAB_ROM_VECTOR_TABLE_FAILSAFE		(HAB_ROM_VECTOR_BASE + 0x28)
32 
33 #endif /* IMX_HAB_H */
34