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