cca_cot_descriptors.dtsi 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*
  2. * Copyright (c) 2023-2024, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #include <tools_share/cca_oid.h>
  7. #include <common/tbbr/tbbr_img_def.h>
  8. #include <common/nv_cntr_ids.h>
  9. cot {
  10. manifests {
  11. compatible = "arm, cert-descs";
  12. cca_content_cert: cca_content_cert {
  13. root-certificate;
  14. image-id =<CCA_CONTENT_CERT_ID>;
  15. antirollback-counter = <&cca_nv_ctr>;
  16. tb_fw_hash: tb_fw_hash {
  17. oid = TRUSTED_BOOT_FW_HASH_OID;
  18. };
  19. tb_fw_config_hash: tb_fw_config_hash {
  20. oid = TRUSTED_BOOT_FW_CONFIG_HASH_OID;
  21. };
  22. hw_config_hash: hw_config_hash {
  23. oid = HW_CONFIG_HASH_OID;
  24. };
  25. fw_config_hash: fw_config_hash {
  26. oid = FW_CONFIG_HASH_OID;
  27. };
  28. soc_fw_hash: soc_fw_hash {
  29. oid = SOC_AP_FW_HASH_OID;
  30. };
  31. soc_fw_config_hash: soc_fw_config_hash {
  32. oid = SOC_FW_CONFIG_HASH_OID;
  33. };
  34. rmm_hash: rmm_hash {
  35. oid = RMM_HASH_OID;
  36. };
  37. };
  38. core_swd_key_cert: core_swd_key_cert {
  39. root-certificate;
  40. image-id = <CORE_SWD_KEY_CERT_ID>;
  41. signing-key = <&swd_rot_pk>;
  42. antirollback-counter = <&trusted_nv_ctr>;
  43. core_swd_pk: core_swd_pk {
  44. oid = CORE_SWD_PK_OID;
  45. };
  46. };
  47. trusted_os_fw_content_cert: trusted_os_fw_content_cert {
  48. image-id = <TRUSTED_OS_FW_CONTENT_CERT_ID>;
  49. parent = <&core_swd_key_cert>;
  50. signing-key = <&core_swd_pk>;
  51. antirollback-counter = <&trusted_nv_ctr>;
  52. tos_fw_hash: tos_fw_hash {
  53. oid = TRUSTED_OS_FW_HASH_OID;
  54. };
  55. tos_fw_config_hash: tos_fw_config_hash {
  56. oid = TRUSTED_OS_FW_CONFIG_HASH_OID;
  57. };
  58. };
  59. plat_key_cert: plat_key_cert {
  60. root-certificate;
  61. image-id = <PLAT_KEY_CERT_ID>;
  62. signing-key = <&prot_pk>;
  63. antirollback-counter = <&non_trusted_nv_ctr>;
  64. plat_pk: plat_pk {
  65. oid = PLAT_PK_OID;
  66. };
  67. };
  68. non_trusted_fw_content_cert: non_trusted_fw_content_cert {
  69. image-id = <NON_TRUSTED_FW_CONTENT_CERT_ID>;
  70. parent = <&plat_key_cert>;
  71. signing-key = <&plat_pk>;
  72. antirollback-counter = <&non_trusted_nv_ctr>;
  73. nt_world_bl_hash: nt_world_bl_hash {
  74. oid = NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID;
  75. };
  76. nt_fw_config_hash: nt_fw_config_hash {
  77. oid = NON_TRUSTED_FW_CONFIG_HASH_OID;
  78. };
  79. };
  80. #if defined(SPD_spmd)
  81. sip_sp_content_cert: sip_sp_content_cert {
  82. image-id = <SIP_SP_CONTENT_CERT_ID>;
  83. parent = <&core_swd_key_cert>;
  84. signing-key = <&core_swd_pk>;
  85. antirollback-counter = <&trusted_nv_ctr>;
  86. sp_pkg1_hash: sp_pkg1_hash {
  87. oid = SP_PKG1_HASH_OID;
  88. };
  89. sp_pkg2_hash: sp_pkg2_hash {
  90. oid = SP_PKG2_HASH_OID;
  91. };
  92. sp_pkg3_hash: sp_pkg3_hash {
  93. oid = SP_PKG3_HASH_OID;
  94. };
  95. sp_pkg4_hash: sp_pkg4_hash {
  96. oid = SP_PKG4_HASH_OID;
  97. };
  98. };
  99. plat_sp_content_cert: plat_sp_content_cert {
  100. image-id = <PLAT_SP_CONTENT_CERT_ID>;
  101. parent = <&plat_key_cert>;
  102. signing-key = <&plat_pk>;
  103. antirollback-counter = <&non_trusted_nv_ctr>;
  104. sp_pkg5_hash: sp_pkg5_hash {
  105. oid = SP_PKG5_HASH_OID;
  106. };
  107. sp_pkg6_hash: sp_pkg6_hash {
  108. oid = SP_PKG6_HASH_OID;
  109. };
  110. sp_pkg7_hash: sp_pkg7_hash {
  111. oid = SP_PKG7_HASH_OID;
  112. };
  113. sp_pkg8_hash: sp_pkg8_hash {
  114. oid = SP_PKG8_HASH_OID;
  115. };
  116. };
  117. #endif
  118. };
  119. images {
  120. compatible = "arm, img-descs";
  121. hw_config {
  122. image-id = <HW_CONFIG_ID>;
  123. parent = <&cca_content_cert>;
  124. hash = <&hw_config_hash>;
  125. };
  126. bl31_image {
  127. image-id = <BL31_IMAGE_ID>;
  128. parent = <&cca_content_cert>;
  129. hash = <&soc_fw_hash>;
  130. };
  131. soc_fw_config {
  132. image-id = <SOC_FW_CONFIG_ID>;
  133. parent = <&cca_content_cert>;
  134. hash = <&soc_fw_config_hash>;
  135. };
  136. rmm_image {
  137. image-id = <RMM_IMAGE_ID>;
  138. parent = <&cca_content_cert>;
  139. hash = <&rmm_hash>;
  140. };
  141. bl32_image {
  142. image-id = <BL32_IMAGE_ID>;
  143. parent = <&trusted_os_fw_content_cert>;
  144. hash = <&tos_fw_hash>;
  145. };
  146. tos_fw_config {
  147. image-id = <TOS_FW_CONFIG_ID>;
  148. parent = <&trusted_os_fw_content_cert>;
  149. hash = <&tos_fw_config_hash>;
  150. };
  151. bl33_image {
  152. image-id = <BL33_IMAGE_ID>;
  153. parent = <&non_trusted_fw_content_cert>;
  154. hash = <&nt_world_bl_hash>;
  155. };
  156. nt_fw_config {
  157. image-id = <NT_FW_CONFIG_ID>;
  158. parent = <&non_trusted_fw_content_cert>;
  159. hash = <&nt_fw_config_hash>;
  160. };
  161. #if defined(SPD_spmd)
  162. sp_pkg1 {
  163. image-id = <SP_PKG1_ID>;
  164. parent = <&sip_sp_content_cert>;
  165. hash = <&sp_pkg1_hash>;
  166. };
  167. sp_pkg2 {
  168. image-id = <SP_PKG2_ID>;
  169. parent = <&sip_sp_content_cert>;
  170. hash = <&sp_pkg2_hash>;
  171. };
  172. sp_pkg3 {
  173. image-id = <SP_PKG3_ID>;
  174. parent = <&sip_sp_content_cert>;
  175. hash = <&sp_pkg3_hash>;
  176. };
  177. sp_pkg4 {
  178. image-id = <SP_PKG4_ID>;
  179. parent = <&sip_sp_content_cert>;
  180. hash = <&sp_pkg4_hash>;
  181. };
  182. sp_pkg5 {
  183. image-id = <SP_PKG5_ID>;
  184. parent = <&plat_sp_content_cert>;
  185. hash = <&sp_pkg5_hash>;
  186. };
  187. sp_pkg6 {
  188. image-id = <SP_PKG6_ID>;
  189. parent = <&plat_sp_content_cert>;
  190. hash = <&sp_pkg6_hash>;
  191. };
  192. sp_pkg7 {
  193. image-id = <SP_PKG7_ID>;
  194. parent = <&plat_sp_content_cert>;
  195. hash = <&sp_pkg7_hash>;
  196. };
  197. sp_pkg8 {
  198. image-id = <SP_PKG8_ID>;
  199. parent = <&plat_sp_content_cert>;
  200. hash = <&sp_pkg8_hash>;
  201. };
  202. #endif
  203. };
  204. };
  205. non_volatile_counters: non_volatile_counters {
  206. compatible = "arm, non-volatile-counter";
  207. #address-cells = <1>;
  208. #size-cells = <0>;
  209. cca_nv_ctr: cca_nv_ctr {
  210. id = <TRUSTED_NV_CTR_ID>;
  211. oid = CCA_FW_NVCOUNTER_OID;
  212. };
  213. trusted_nv_ctr: trusted_nv_ctr {
  214. id = <TRUSTED_NV_CTR_ID>;
  215. oid = TRUSTED_FW_NVCOUNTER_OID;
  216. };
  217. non_trusted_nv_ctr: non_trusted_nv_ctr {
  218. id = <NON_TRUSTED_NV_CTR_ID>;
  219. oid = NON_TRUSTED_FW_NVCOUNTER_OID;
  220. };
  221. };
  222. rot_keys {
  223. swd_rot_pk: swd_rot_pk {
  224. oid = SWD_ROT_PK_OID;
  225. };
  226. prot_pk: prot_pk {
  227. oid = PROT_PK_OID;
  228. };
  229. };