xref: /rk3399_ARM-atf/include/services/std_svc.h (revision 9d068f66b15e644df4961b74b965323c20f21f14)
1532ed618SSoby Mathew /*
2532ed618SSoby Mathew  * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved.
3532ed618SSoby Mathew  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
5532ed618SSoby Mathew  */
6532ed618SSoby Mathew 
7*c3cf06f1SAntonio Nino Diaz #ifndef STD_SVC_H
8*c3cf06f1SAntonio Nino Diaz #define STD_SVC_H
9532ed618SSoby Mathew 
10532ed618SSoby Mathew /* SMC function IDs for Standard Service queries */
11532ed618SSoby Mathew 
12532ed618SSoby Mathew #define ARM_STD_SVC_CALL_COUNT		0x8400ff00
13532ed618SSoby Mathew #define ARM_STD_SVC_UID			0x8400ff01
14532ed618SSoby Mathew /*					0x8400ff02 is reserved */
15532ed618SSoby Mathew #define ARM_STD_SVC_VERSION		0x8400ff03
16532ed618SSoby Mathew 
17532ed618SSoby Mathew /* ARM Standard Service Calls version numbers */
18532ed618SSoby Mathew #define STD_SVC_VERSION_MAJOR		0x0
19532ed618SSoby Mathew #define STD_SVC_VERSION_MINOR		0x1
20532ed618SSoby Mathew 
2158e946aeSSoby Mathew /*
2258e946aeSSoby Mathew  * Get the ARM Standard Service argument from EL3 Runtime.
2358e946aeSSoby Mathew  * This function must be implemented by EL3 Runtime and the
2458e946aeSSoby Mathew  * `svc_mask` identifies the service. `svc_mask` is a bit
2558e946aeSSoby Mathew  * mask identifying the range of SMC function IDs available
2658e946aeSSoby Mathew  * to the service.
2758e946aeSSoby Mathew  */
2858e946aeSSoby Mathew uintptr_t get_arm_std_svc_args(unsigned int svc_mask);
2958e946aeSSoby Mathew 
30*c3cf06f1SAntonio Nino Diaz #endif /* STD_SVC_H */
31