import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / trustzone / tz_cross / ree_service.h
1
2 /** Commands and value for REE service call */
3 /* This is used by TEE internal. Other TA please don't include this */
4
5 #ifndef __REE_SERVICE__
6 #define __REE_SERVICE__
7
8 #define REE_SERVICE_BUFFER_SIZE 128
9
10 enum ReeServiceCommand {
11 REE_SERV_NONE = 0,
12 REE_SERV_PUTS, // Print buffer.
13 REE_SERV_USLEEP, // Sleep us
14 REE_SERV_MUTEX_CREATE,
15 REE_SERV_MUTEX_DESTROY,
16 REE_SERV_MUTEX_LOCK,
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,
26 #if 0
27 REE_SERV_WAITQ_CREATE,
28 REE_SERV_WAITQ_DESTROY,
29 REE_SERV_WAITQ_WAIT,
30 REE_SERV_WAITQ_WAITTO, // wait with time-out
31 REE_SERV_WAITQ_WAKEUP,
32 #endif
33 REE_SERV_REQUEST_IRQ,
34 REE_SERV_ENABLE_IRQ,
35 REE_SERV_ENABLE_CLOCK,
36 REE_SERV_DISABLE_CLOCK,
37 REE_SERV_THREAD_CREATE,
38 };
39
40 ////////// Param structure for commands
41 struct ree_service_usleep
42 {
43 unsigned int ustime;
44 };
45
46
47
48
49 #define MTEE_THREAD_NAME_NUM 32
50
51 struct REE_THREAD_INFO {
52 uint32_t handle; // trhread handle
53 char name[MTEE_THREAD_NAME_NUM]; // kree side, trhread name
54 };
55
56
57 #ifndef MTIRQF_NORMAL
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
64 #endif
65
66 struct ree_service_irq
67 {
68 unsigned int irq;
69 int enable;
70 unsigned int flags;
71 unsigned int token;
72 };
73
74 struct ree_service_clock
75 {
76 unsigned int clk_id;
77 char clk_name[112];
78 };
79
80 #endif /* __REE_SERVICE__ */
81