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