xref: /OK3568_Linux_fs/u-boot/include/optee_include/tee_rpc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright 2017, Rockchip Electronics Co., Ltd
3*4882a593Smuzhiyun  * hisping lin, <hisping.lin@rock-chips.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun #ifndef TEE_RPC_H
8*4882a593Smuzhiyun #define TEE_RPC_H
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #include <optee_include/tee_base_types.h>
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * tee_rpc_invoke cmd definitions, keep in sync with tee-supplicant
13*4882a593Smuzhiyun  */
14*4882a593Smuzhiyun #define TEE_RPC_LOAD_TA		0x10000001
15*4882a593Smuzhiyun #define TEE_RPC_FREE_TA		0x10000009
16*4882a593Smuzhiyun #define TEE_RPC_RPMB_CMD	0x1000000A
17*4882a593Smuzhiyun #define TEE_RPC_FS		0x10000010
18*4882a593Smuzhiyun #define TEE_RPC_GET_TIME	0x10000011
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /* RPMB Related defines */
21*4882a593Smuzhiyun #define TEE_RPC_RPMB_CMD_DATA_REQ       0x00
22*4882a593Smuzhiyun #define TEE_RPC_RPMB_CMD_GET_DEV_INFO   0x01
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_REQ_AUTH_KEY_PROGRAM          0x0001
25*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_REQ_WRITE_COUNTER_VAL_READ    0x0002
26*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_REQ_AUTH_DATA_WRITE           0x0003
27*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_REQ_AUTH_DATA_READ            0x0004
28*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_REQ_RESULT_READ               0x0005
29*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_RESP_AUTH_KEY_PROGRAM         0x0100
30*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_RESP_WRITE_COUNTER_VAL_READ   0x0200
31*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_RESP_AUTH_DATA_WRITE          0x0300
32*4882a593Smuzhiyun #define TEE_RPC_RPMB_MSG_TYPE_RESP_AUTH_DATA_READ           0x0400
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun /* keep in sync with Linux driver */
35*4882a593Smuzhiyun #define TEE_RPC_WAIT_MUTEX	0x20000000
36*4882a593Smuzhiyun /* Values specific to TEE_RPC_WAIT_MUTEX */
37*4882a593Smuzhiyun #define TEE_WAIT_MUTEX_SLEEP	0
38*4882a593Smuzhiyun #define TEE_WAIT_MUTEX_WAKEUP	1
39*4882a593Smuzhiyun #define TEE_WAIT_MUTEX_DELETE	2
40*4882a593Smuzhiyun #define TEE_RPC_WAIT		0x30000000
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #endif
43