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