summaryrefslogtreecommitdiff
path: root/include/runtime_services/bl1.h
blob: 16746308b9d3e0ae99f544dc60922bcfec1d3a19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
 * Copyright (c) 2018, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef BL1_H
#define BL1_H

#define BL1_SMC_CALL_COUNT		0x0
#define BL1_SMC_UID			0x1
/* SMC #0x2 reserved. */
#define BL1_SMC_VERSION			0x3

/* SMC function ID used to request BL1 to execute BL31. */
#define BL1_SMC_RUN_IMAGE		0x4

/* SMC function IDs for Firmware Update operations. */
#define FWU_SMC_IMAGE_COPY		0x10
#define FWU_SMC_IMAGE_AUTH		0x11
#define FWU_SMC_IMAGE_EXECUTE		0x12
#define FWU_SMC_IMAGE_RESUME		0x13
#define FWU_SMC_SEC_IMAGE_DONE		0x14
#define FWU_SMC_UPDATE_DONE		0x15
#define FWU_SMC_IMAGE_RESET		0x16

/*
 * Number of SMC calls supported in BL1.
 *
 * Note that when Trusted Board Boot is disabled in BL1, this drops down to 4,
 * as the 7 FWU SMCs are not implemented. We test BL1's SMC interface only in
 * the context of FWU tests, where TBB is enabled.
 */
#define BL1_NUM_SMC_CALLS	11

/* Version reported by the BL1_SMC_VERSION SMC. */
#define BL1_VERSION		0x1

#endif /* BL1_H */