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