2 /** Commands and value for REE service call */
3 /* This is used by TEE internal. Other TA please don't include this */
5 #ifndef __REE_SERVICE__
6 #define __REE_SERVICE__
8 #define REE_SERVICE_BUFFER_SIZE 128
10 enum ReeServiceCommand
{
12 REE_SERV_PUTS
, // Print buffer.
13 REE_SERV_USLEEP
, // Sleep us
14 REE_SERV_MUTEX_CREATE
,
15 REE_SERV_MUTEX_DESTROY
,
17 REE_SERV_MUTEX_UNLOCK
,
18 REE_SERV_MUTEX_TRYLOCK
,
19 REE_SERV_MUTEX_ISLOCK
,
20 REE_SERV_SEMAPHORE_CREATE
,
21 REE_SERV_SEMAPHORE_DESTROY
,
22 REE_SERV_SEMAPHORE_DOWN
,
23 REE_SERV_SEMAPHORE_DWNTO
, // down with time-out
24 REE_SERV_SEMAPHORE_TRYDWN
,
25 REE_SERV_SEMAPHORE_UP
,
27 REE_SERV_WAITQ_CREATE
,
28 REE_SERV_WAITQ_DESTROY
,
30 REE_SERV_WAITQ_WAITTO
, // wait with time-out
31 REE_SERV_WAITQ_WAKEUP
,
35 REE_SERV_ENABLE_CLOCK
,
36 REE_SERV_DISABLE_CLOCK
,
37 REE_SERV_THREAD_CREATE
,
40 ////////// Param structure for commands
41 struct ree_service_usleep
49 #define MTEE_THREAD_NAME_NUM 32
51 struct REE_THREAD_INFO
{
52 uint32_t handle
; // trhread handle
53 char name
[MTEE_THREAD_NAME_NUM
]; // kree side, trhread name
58 /// Must match the one in tz_private/system.h
59 #define MTIRQF_SHARED (1<<0) /// Share with other handlers
60 #define MTIRQF_TRIGGER_LOW (1<<1) /// IRQ is triggered by low signal
61 #define MTIRQF_TRIGGER_HIGH (1<<2) /// IRQ is triggered by high signal
62 #define MTIRQF_TRIGGER_RISING (1<<3) /// IRQ is triggered by rising edge
63 #define MTIRQF_TRIGGER_FALLING (1<<4) /// IRQ is triggered by falling edge
66 struct ree_service_irq
74 struct ree_service_clock
80 #endif /* __REE_SERVICE__ */