xref: /linux/include/linux/soc/mediatek/mtk_sip_svc.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2019 MediaTek Inc.
4  */
5 #ifndef __MTK_SIP_SVC_H
6 #define __MTK_SIP_SVC_H
7 
8 /* Error Code */
9 #define SIP_SVC_E_SUCCESS               0
10 #define SIP_SVC_E_NOT_SUPPORTED         -1
11 #define SIP_SVC_E_INVALID_PARAMS        -2
12 #define SIP_SVC_E_INVALID_RANGE         -3
13 #define SIP_SVC_E_PERMISSION_DENIED     -4
14 
15 #ifdef CONFIG_ARM64
16 #define MTK_SIP_SMC_CONVENTION          ARM_SMCCC_SMC_64
17 #else
18 #define MTK_SIP_SMC_CONVENTION          ARM_SMCCC_SMC_32
19 #endif
20 
21 #define MTK_SIP_SMC_CMD(fn_id) \
22 	ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, MTK_SIP_SMC_CONVENTION, \
23 			   ARM_SMCCC_OWNER_SIP, fn_id)
24 
25 /* IOMMU related SMC call */
26 #define MTK_SIP_KERNEL_IOMMU_CONTROL	MTK_SIP_SMC_CMD(0x514)
27 
28 #endif
29