blob: 16746308b9d3e0ae99f544dc60922bcfec1d3a19 [file] [log] [blame]
Sandrine Bailleux7d34d302018-11-26 10:13:51 +01001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef BL1_H
8#define BL1_H
9
10#define BL1_SMC_CALL_COUNT 0x0
11#define BL1_SMC_UID 0x1
12/* SMC #0x2 reserved. */
13#define BL1_SMC_VERSION 0x3
14
15/* SMC function ID used to request BL1 to execute BL31. */
16#define BL1_SMC_RUN_IMAGE 0x4
17
18/* SMC function IDs for Firmware Update operations. */
19#define FWU_SMC_IMAGE_COPY 0x10
20#define FWU_SMC_IMAGE_AUTH 0x11
21#define FWU_SMC_IMAGE_EXECUTE 0x12
22#define FWU_SMC_IMAGE_RESUME 0x13
23#define FWU_SMC_SEC_IMAGE_DONE 0x14
24#define FWU_SMC_UPDATE_DONE 0x15
25#define FWU_SMC_IMAGE_RESET 0x16
26
27/*
28 * Number of SMC calls supported in BL1.
29 *
30 * Note that when Trusted Board Boot is disabled in BL1, this drops down to 4,
31 * as the 7 FWU SMCs are not implemented. We test BL1's SMC interface only in
32 * the context of FWU tests, where TBB is enabled.
33 */
34#define BL1_NUM_SMC_CALLS 11
35
36/* Version reported by the BL1_SMC_VERSION SMC. */
37#define BL1_VERSION 0x1
38
39#endif /* BL1_H */