blob: ed2b3245090fc98e940798f039696b79b18c9158 [file] [log] [blame]
Antonio Nino Diaz35b37f02018-01-08 17:33:34 +00001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef MM_SVC_H
8#define MM_SVC_H
Antonio Nino Diaz35b37f02018-01-08 17:33:34 +00009
10#include <utils_def.h>
11
12#define MM_VERSION_MAJOR U(1)
13#define MM_VERSION_MAJOR_SHIFT 16
14#define MM_VERSION_MAJOR_MASK U(0x7FFF)
15#define MM_VERSION_MINOR U(0)
16#define MM_VERSION_MINOR_SHIFT 0
17#define MM_VERSION_MINOR_MASK U(0xFFFF)
18#define MM_VERSION_FORM(major, minor) ((major << MM_VERSION_MAJOR_SHIFT) | (minor))
19#define MM_VERSION_COMPILED MM_VERSION_FORM(MM_VERSION_MAJOR, MM_VERSION_MINOR)
20
21/*
22 * SMC IDs defined in [1] for accessing MM services from the Non-secure world.
23 * These FIDs occupy the range 0x40 - 0x5f.
24 * [1] DEN0060A_ARM_MM_Interface_Specification.pdf
25 */
26#define MM_VERSION_AARCH32 U(0x84000040)
27
28#define MM_COMMUNICATE_AARCH64 U(0xC4000041)
29#define MM_COMMUNICATE_AARCH32 U(0x84000041)
30
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000031#endif /* MM_SVC_H */