sec_status.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. /* Copyright Statement:
  2. *
  3. * This software/firmware and related documentation ("MediaTek Software") are
  4. * protected under relevant copyright laws. The information contained herein
  5. * is confidential and proprietary to MediaTek Inc. and/or its licensors.
  6. * Without the prior written permission of MediaTek inc. and/or its licensors,
  7. * any reproduction, modification, use or disclosure of MediaTek Software,
  8. * and information contained herein, in whole or in part, shall be strictly prohibited.
  9. */
  10. /* MediaTek Inc. (C) 2017. All rights reserved.
  11. *
  12. * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  13. * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  14. * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
  15. * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  16. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  17. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  18. * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  19. * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  20. * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
  21. * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
  22. * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
  23. * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
  24. * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
  25. * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
  26. * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  27. * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  28. * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
  29. * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  30. *
  31. * The following software/firmware and/or related documentation ("MediaTek Software")
  32. * have been modified by MediaTek Inc. All revisions are subject to any receiver\'s
  33. * applicable license agreements with MediaTek Inc.
  34. */
  35. #ifndef _SEC_STATUS_H_
  36. #define _SEC_STATUS_H_
  37. typedef enum {
  38. B_OK = 0,
  39. /* ==========================*/
  40. /* operation error codes */
  41. INVALID_PARAMETER = 0x1000,
  42. INVALID_NAME_SIZE,
  43. INVALID_BUFFER_SIZE,
  44. INFO_NOT_FOUND,
  45. ROM_INFO_NOT_FOUND,
  46. CUST_NAME_NOT_FOUND,
  47. PRELOADER_NOT_FOUND,
  48. STORAGE_DRIVER_NOT_FOUND,
  49. STORAGE_READ_FAILED,
  50. LIST_ENTRY_ALLOCATION_FAILED,
  51. SECURE_DATA_BUF_OVERFLOW,
  52. ERR_INVALID_ADDR,
  53. /* ==========================*/
  54. /* security image releated error code */
  55. SECHDR_NOT_FOUND = 0x2000,
  56. SECEXTHDR_NOT_FOUND,
  57. SECEXTHDR_CORRUPTED,
  58. SECHDR_NOT_PARSED_YET,
  59. SECVER_NOT_SUPPORTED,
  60. SECEXTHDR_NOT_SUPPORTED,
  61. HASH_TYPE_NOT_SUPPORTED,
  62. SIG_TYPE_NOT_SUPPORTED,
  63. INCORRECT_SIG_SIZE,
  64. INVALID_SIG,
  65. VERIFY_BUF_TOO_SMALL,
  66. HASH_FAILED,
  67. AUTH_FAILED,
  68. CIPHER_MODE_INVALID,
  69. CIPHER_KEY_INVALID,
  70. CIPHER_DATA_UNALIGNED,
  71. /* 0x2010 */
  72. WAITING_SECURE_DATA,
  73. CHUNK_VERIFY_FAILED,
  74. SEC_DOWNLOAD_NOT_SUPPORT_THIS_IMAGE,
  75. SEC_DOWNLOAD_SIGNATURE_NOT_REQUIRED,
  76. SW_SEC_BOOT_IMAGE_DL_IS_NOT_ALLOWED,
  77. SW_SEC_BOOT_SIGNATURE_NOT_REQUIRED,
  78. SIG_NOT_FOUND,
  79. SW_SEC_BOOT_SIGNATURE_REQUIRED,
  80. SEC_IMG_VERSION_NOT_ALLOWED,
  81. SEC_CUSTOMER_NAME_NOT_ALLOWED,
  82. SEC_UNSIGNED_IMAGE_IS_REQUIRED,
  83. SEC_SIGNED_IMAGE_IS_REQUIRED,
  84. /* ==========================*/
  85. /* seccfg related error code */
  86. ROM_INFO_NOT_INIT = 0x3000,
  87. SECCFG_NOT_FOUND,
  88. SECCFG_MAGIC_INCORRECT,
  89. SECCFG_CAN_NOT_WRITE_TO_FIRST_BLOCK,
  90. SECCFG_EXT_REGION_SPACE_OVERFLOW,
  91. ERASE_SECCFG_NAND_PARTITION_FAILED,
  92. IMAGE_INFO_CHECK_CMD_EXT_HEADER_SELF_COPY_FAIL,
  93. IMAGE_INFO_CHECK_CMD_EXT_HEADER_OFFSET_INVALID,
  94. SECCFG_NOT_VALID,
  95. /* ==========================*/
  96. /* secro related error code */
  97. S_SECURITY_AC_REGION_NOT_FOUND_IN_SECROIMG = 0x4000,
  98. S_SECURITY_SECRO_MEMORY_ALLOCATE_FAIL,
  99. S_SECURITY_SECRO_ANTICLONE_LENGTH_INVALID,
  100. S_SECURITY_SECRO_HASH_INCORRECT,
  101. SECRO_NOT_FOUND,
  102. /* ==========================*/
  103. /* sec status code */
  104. S_SECURITY_GO_ON_CHECK = 0x5000,
  105. S_SECURITY_UNKONWN_STATUS,
  106. /* secure boot error code */
  107. ERR_LIB_SEC_CFG_NOT_EXIST = 0x6000,
  108. ERR_IMG_VERIFY_THIS_IMG_INFO_NOT_EXIST,
  109. ERR_IMG_VERIFY_INVALID_IMG_INFO_ATTR,
  110. ERR_IMG_NOT_FOUND,
  111. ERR_IMG_EXTENSION_MAGIC_WRONG,
  112. ERR_IMG_EXTENSION_TYPE_NOT_SUPPORT,
  113. ERR_IMG_EXTENSION_HDR_NOT_FOUND,
  114. ERR_IMG_SIGN_FORMAT_NOT_MATCH,
  115. ERR_IMG_EXTENSION_HASH_CAL_FAIL,
  116. ERR_IMG_VERIFY_SIGNATURE_FAIL,
  117. ERR_IMG_VERIFY_HASH_COMPARE_FAIL,
  118. ERR_DM_CERT_NAME_MISMATCH,
  119. ERR_DM_CERT_SIZE_MISMATCH,
  120. ERR_DM_CERT_PART_NAME_TOO_LONG,
  121. ERR_DM_CERT_PART_NAME_NOT_FOUND,
  122. OEM_KEY_MISMATCH,
  123. /* ==========================*/
  124. /* fastboot unlock error code */
  125. ERR_UNLOCK_KEY_WRONG_LENGTH = 0x7000,
  126. ERR_UNLOCK_WRONG_KEY_CODE,
  127. ERR_SECURE_DOWNLOAD_NOT_SUPPORTED,
  128. /* ==========================*/
  129. /* sml data sync error code */
  130. ERR_PROTECT1_PART_NOT_FOUND,
  131. ERR_PROTECT2_PART_NOT_FOUND,
  132. ERR_PROTECT1_PART_OFF_NOT_FOUND,
  133. ERR_PROTECT2_PART_OFF_NOT_FOUND,
  134. ERR_GEN_RANDOM_PATTERN_FAILED,
  135. ERR_MAGIC_PATTERN_NOT_MATCH,
  136. ERR_MAGIC_PATTERN_NOT_EXIST,
  137. ERR_EMMC_READ_FAILED,
  138. ERR_EMMC_WRITE_FAILED,
  139. /* ==========================*/
  140. /* cert engine error code */
  141. ERR_INVALID_OID_SZ,
  142. ERR_INVALID_OID_DER_SZ,
  143. ERR_END_OF_CERT,
  144. ERR_OBJ_ID_NOT_MATCH,
  145. ERR_OBJ_LEN_NOT_MATCH,
  146. ERR_OBJ_TRAVERSE_UNKNOWN_MODE,
  147. ERR_INVALID_OID_IDX,
  148. ERR_OID_NOT_FOUND,
  149. ERR_OBJ_NOT_FOUND,
  150. ERR_E_KEY_LEN_NOT_MATCH,
  151. ERR_E_KEY_NOT_MATCH,
  152. ERR_N_KEY_LEN_NOT_MATCH,
  153. ERR_N_KEY_NOT_MATCH,
  154. ERR_PUBK_AUTH_FAIL,
  155. ERR_SW_ID_MISMATCH,
  156. ERR_RETRY_WITH_VERIFIED_BOOT,
  157. ERR_NO_VERIFIED_BOOT_SIG,
  158. /* crypto op */
  159. ERR_SHA256_OP_FAIL,
  160. ERR_PSS_OP_FAIL,
  161. ERR_SIG_VFY_FAIL,
  162. ERR_IMG_HDR_HASH_NOT_MATCH,
  163. ERR_IMG_HASH_NOT_MATCH,
  164. /* invalid size */
  165. ERR_INVALID_SIG_SZ,
  166. ERR_INVALID_PUBK_SZ,
  167. ERR_INVALID_CERT_SZ,
  168. ERR_INVALID_HASH_SZ,
  169. /* image */
  170. ERR_INVALID_IMG_HDR,
  171. ERR_UNEXPECTED_IMG_TYPE,
  172. /* buffer */
  173. ERR_BUF_ALLOCATE_FAIL,
  174. /* m1 verify */
  175. ERR_SV5_RSA_OP_FAIL,
  176. ERR_SV5_RSA_VFY_FAIL,
  177. ERR_SV5_GFH_NOT_FOUND,
  178. ERR_SV5_PUBK_AUTH_FAIL,
  179. ERR_SV5_HASH_VFY_FAIL,
  180. ERR_SV5_IMG_TOO_LARGE,
  181. /*ANTI ROLLBACK*/
  182. ERR_CERT_IMG_VER_NOT_SYNC = 0xA000,
  183. ERR_IMAGE_IMG_VER_NOT_SYNC,
  184. ERR_IMG_VER_ROLLBACK,
  185. ERR_OTP_FIELD_NOT_ENOUGH,
  186. ERR_OTP_REG_BIT_CONFIG_WRONG,
  187. ERR_OTP_WRITE_FAIL,
  188. ERR_IMG_VER_OVERFLOW,
  189. ERR_UNKNOWN_VER_GROUP,
  190. ERR_FAIL_TO_GET_OTP_VER,
  191. } STATUS;
  192. #endif /* _SEC_STATUS_H_ */