ree_service.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /** Commands and value for REE service call */
  2. /* This is used by TEE internal. Other TA please don't include this */
  3. #ifndef __REE_SERVICE__
  4. #define __REE_SERVICE__
  5. #define REE_SERVICE_BUFFER_SIZE 128
  6. enum ReeServiceCommand {
  7. REE_SERV_NONE = 0,
  8. REE_SERV_PUTS, /* Print buffer. */
  9. REE_SERV_USLEEP, /* Sleep us */
  10. REE_SERV_MUTEX_CREATE,
  11. REE_SERV_MUTEX_DESTROY,
  12. REE_SERV_MUTEX_LOCK,
  13. REE_SERV_MUTEX_UNLOCK,
  14. REE_SERV_MUTEX_TRYLOCK,
  15. REE_SERV_MUTEX_ISLOCK,
  16. REE_SERV_SEMAPHORE_CREATE,
  17. REE_SERV_SEMAPHORE_DESTROY,
  18. REE_SERV_SEMAPHORE_DOWN,
  19. REE_SERV_SEMAPHORE_DWNTO, /* down with time-out */
  20. REE_SERV_SEMAPHORE_TRYDWN,
  21. REE_SERV_SEMAPHORE_UP,
  22. #if 0
  23. REE_SERV_WAITQ_CREATE,
  24. REE_SERV_WAITQ_DESTROY,
  25. REE_SERV_WAITQ_WAIT,
  26. REE_SERV_WAITQ_WAITTO, /* wait with time-out */
  27. REE_SERV_WAITQ_WAKEUP,
  28. #endif
  29. REE_SERV_REQUEST_IRQ,
  30. REE_SERV_ENABLE_IRQ,
  31. REE_SERV_ENABLE_CLOCK,
  32. REE_SERV_DISABLE_CLOCK,
  33. REE_SERV_THREAD_CREATE,
  34. REE_SERV_SEMAPHORE_DOWNINT, /* interruptible down */
  35. };
  36. /* //////// Param structure for commands */
  37. struct ree_service_usleep {
  38. unsigned int ustime;
  39. };
  40. #define MTEE_THREAD_NAME_NUM 32
  41. struct REE_THREAD_INFO {
  42. uint32_t handle; /* trhread handle */
  43. char name[MTEE_THREAD_NAME_NUM]; /* kree side, trhread name */
  44. };
  45. #ifndef MTIRQF_NORMAL
  46. /* / Must match the one in tz_private/system.h */
  47. #define MTIRQF_SHARED (1<<0) /* / Share with other handlers */
  48. #define MTIRQF_TRIGGER_LOW (1<<1) /* / IRQ is triggered by low signal */
  49. #define MTIRQF_TRIGGER_HIGH (1<<2) /* / IRQ is triggered by high signal */
  50. #define MTIRQF_TRIGGER_RISING (1<<3) /* / IRQ is triggered by rising edge */
  51. #define MTIRQF_TRIGGER_FALLING (1<<4) /* / IRQ is triggered by falling edge */
  52. #endif
  53. struct ree_service_irq {
  54. uint64_t token64;
  55. unsigned int irq;
  56. int enable;
  57. unsigned int flags;
  58. };
  59. struct ree_service_clock {
  60. unsigned int clk_id;
  61. char clk_name[112];
  62. };
  63. #endif /* __REE_SERVICE__ */