esoc_ctrl.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
  2. /*
  3. * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _UAPI_ESOC_CTRL_H_
  7. #define _UAPI_ESOC_CTRL_H_
  8. #include <linux/types.h>
  9. enum esoc_client_hook_prio {
  10. ESOC_MHI_HOOK,
  11. ESOC_MAX_HOOKS
  12. };
  13. struct esoc_link_data {
  14. enum esoc_client_hook_prio prio;
  15. __u64 link_id;
  16. };
  17. #define ESOC_CODE 0xCC
  18. #define ESOC_CMD_EXE _IOW(ESOC_CODE, 1, unsigned int)
  19. #define ESOC_WAIT_FOR_REQ _IOR(ESOC_CODE, 2, unsigned int)
  20. #define ESOC_NOTIFY _IOW(ESOC_CODE, 3, unsigned int)
  21. #define ESOC_GET_STATUS _IOR(ESOC_CODE, 4, unsigned int)
  22. #define ESOC_GET_ERR_FATAL _IOR(ESOC_CODE, 5, unsigned int)
  23. #define ESOC_WAIT_FOR_CRASH _IOR(ESOC_CODE, 6, unsigned int)
  24. #define ESOC_REG_REQ_ENG _IO(ESOC_CODE, 7)
  25. #define ESOC_REG_CMD_ENG _IO(ESOC_CODE, 8)
  26. #define ESOC_GET_LINK_ID _IOWR(ESOC_CODE, 9, struct esoc_link_data)
  27. #define ESOC_SET_BOOT_FAIL_ACT _IOW(ESOC_CODE, 10, unsigned int)
  28. #define ESOC_SET_N_PON_TRIES _IOW(ESOC_CODE, 11, unsigned int)
  29. #define ESOC_REQ_SEND_SHUTDOWN ESOC_REQ_SEND_SHUTDOWN
  30. #define ESOC_REQ_CRASH_SHUTDOWN ESOC_REQ_CRASH_SHUTDOWN
  31. #define ESOC_PON_RETRY ESOC_PON_RETRY
  32. #define ESOC_BOOT_FAIL_ACTION
  33. enum esoc_boot_fail_action {
  34. BOOT_FAIL_ACTION_RETRY,
  35. BOOT_FAIL_ACTION_COLD_RESET,
  36. BOOT_FAIL_ACTION_SHUTDOWN,
  37. BOOT_FAIL_ACTION_PANIC,
  38. BOOT_FAIL_ACTION_NOP,
  39. BOOT_FAIL_ACTION_S3_RESET,
  40. BOOT_FAIL_ACTION_LAST,
  41. };
  42. enum esoc_evt {
  43. ESOC_RUN_STATE = 0x1,
  44. ESOC_UNEXPECTED_RESET,
  45. ESOC_ERR_FATAL,
  46. ESOC_IN_DEBUG,
  47. ESOC_REQ_ENG_ON,
  48. ESOC_REQ_ENG_OFF,
  49. ESOC_CMD_ENG_ON,
  50. ESOC_CMD_ENG_OFF,
  51. ESOC_INVALID_STATE,
  52. ESOC_RETRY_PON_EVT,
  53. ESOC_BOOT_STATE,
  54. };
  55. enum esoc_cmd {
  56. ESOC_PWR_ON = 1,
  57. ESOC_PWR_OFF,
  58. ESOC_FORCE_PWR_OFF,
  59. ESOC_RESET,
  60. ESOC_PREPARE_DEBUG,
  61. ESOC_EXE_DEBUG,
  62. ESOC_EXIT_DEBUG,
  63. };
  64. enum esoc_notify {
  65. ESOC_IMG_XFER_DONE = 1,
  66. ESOC_BOOT_DONE,
  67. ESOC_BOOT_FAIL,
  68. ESOC_IMG_XFER_RETRY,
  69. ESOC_IMG_XFER_FAIL,
  70. ESOC_UPGRADE_AVAILABLE,
  71. ESOC_DEBUG_DONE,
  72. ESOC_DEBUG_FAIL,
  73. ESOC_PRIMARY_CRASH,
  74. ESOC_PRIMARY_REBOOT,
  75. ESOC_PON_RETRY,
  76. };
  77. enum esoc_req {
  78. ESOC_REQ_IMG = 1,
  79. ESOC_REQ_DEBUG,
  80. ESOC_REQ_SHUTDOWN,
  81. ESOC_REQ_SEND_SHUTDOWN,
  82. ESOC_REQ_CRASH_SHUTDOWN,
  83. };
  84. #endif