tbbr_cot_descriptors.dtsi 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. /*
  2. * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #if USE_TBBR_DEFS
  7. #include <tools_share/tbbr_oid.h>
  8. #else
  9. #include <platform_oid.h>
  10. #endif
  11. #include <common/tbbr/tbbr_img_def.h>
  12. #include <common/nv_cntr_ids.h>
  13. cot {
  14. manifests {
  15. compatible = "arm, cert-descs";
  16. trusted_boot_fw_cert: trusted_boot_fw_cert {
  17. root-certificate;
  18. image-id =<TRUSTED_BOOT_FW_CERT_ID>;
  19. antirollback-counter = <&trusted_nv_ctr>;
  20. tb_fw_hash: tb_fw_hash {
  21. oid = TRUSTED_BOOT_FW_HASH_OID;
  22. };
  23. tb_fw_config_hash: tb_fw_config_hash {
  24. oid = TRUSTED_BOOT_FW_CONFIG_HASH_OID;
  25. };
  26. hw_config_hash: hw_config_hash {
  27. oid = HW_CONFIG_HASH_OID;
  28. };
  29. fw_config_hash: fw_config_hash {
  30. oid = FW_CONFIG_HASH_OID;
  31. };
  32. };
  33. trusted_key_cert: trusted_key_cert {
  34. root-certificate;
  35. image-id = <TRUSTED_KEY_CERT_ID>;
  36. antirollback-counter = <&trusted_nv_ctr>;
  37. trusted_world_pk: trusted_world_pk {
  38. oid = TRUSTED_WORLD_PK_OID;
  39. };
  40. non_trusted_world_pk: non_trusted_world_pk {
  41. oid = NON_TRUSTED_WORLD_PK_OID;
  42. };
  43. };
  44. scp_fw_key_cert: scp_fw_key_cert {
  45. image-id = <SCP_FW_KEY_CERT_ID>;
  46. parent = <&trusted_key_cert>;
  47. signing-key = <&trusted_world_pk>;
  48. antirollback-counter = <&trusted_nv_ctr>;
  49. scp_fw_content_pk: scp_fw_content_pk {
  50. oid = SCP_FW_CONTENT_CERT_PK_OID;
  51. };
  52. };
  53. scp_fw_content_cert: scp_fw_content_cert {
  54. image-id = <SCP_FW_CONTENT_CERT_ID>;
  55. parent = <&scp_fw_key_cert>;
  56. signing-key = <&scp_fw_content_pk>;
  57. antirollback-counter = <&trusted_nv_ctr>;
  58. scp_fw_hash: scp_fw_hash {
  59. oid = SCP_FW_HASH_OID;
  60. };
  61. };
  62. soc_fw_key_cert: soc_fw_key_cert {
  63. image-id = <SOC_FW_KEY_CERT_ID>;
  64. parent = <&trusted_key_cert>;
  65. signing-key = <&trusted_world_pk>;
  66. antirollback-counter = <&trusted_nv_ctr>;
  67. soc_fw_content_pk: soc_fw_content_pk {
  68. oid = SOC_FW_CONTENT_CERT_PK_OID;
  69. };
  70. };
  71. soc_fw_content_cert: soc_fw_content_cert {
  72. image-id = <SOC_FW_CONTENT_CERT_ID>;
  73. parent = <&soc_fw_key_cert>;
  74. signing-key = <&soc_fw_content_pk>;
  75. antirollback-counter = <&trusted_nv_ctr>;
  76. soc_fw_hash: soc_fw_hash {
  77. oid = SOC_AP_FW_HASH_OID;
  78. };
  79. soc_fw_config_hash: soc_fw_config_hash {
  80. oid = SOC_FW_CONFIG_HASH_OID;
  81. };
  82. };
  83. trusted_os_fw_key_cert: trusted_os_fw_key_cert {
  84. image-id = <TRUSTED_OS_FW_KEY_CERT_ID>;
  85. parent = <&trusted_key_cert>;
  86. signing-key = <&trusted_world_pk>;
  87. antirollback-counter = <&trusted_nv_ctr>;
  88. tos_fw_content_pk: tos_fw_content_pk {
  89. oid = TRUSTED_OS_FW_CONTENT_CERT_PK_OID;
  90. };
  91. };
  92. trusted_os_fw_content_cert: trusted_os_fw_content_cert {
  93. image-id = <TRUSTED_OS_FW_CONTENT_CERT_ID>;
  94. parent = <&trusted_os_fw_key_cert>;
  95. signing-key = <&tos_fw_content_pk>;
  96. antirollback-counter = <&trusted_nv_ctr>;
  97. tos_fw_hash: tos_fw_hash {
  98. oid = TRUSTED_OS_FW_HASH_OID;
  99. };
  100. tos_fw_extra1_hash: tos_fw_extra1_hash {
  101. oid = TRUSTED_OS_FW_EXTRA1_HASH_OID;
  102. };
  103. tos_fw_extra2_hash: tos_fw_extra2_hash {
  104. oid = TRUSTED_OS_FW_EXTRA2_HASH_OID;
  105. };
  106. tos_fw_config_hash: tos_fw_config_hash {
  107. oid = TRUSTED_OS_FW_CONFIG_HASH_OID;
  108. };
  109. };
  110. non_trusted_fw_key_cert: non_trusted_fw_key_cert {
  111. image-id = <NON_TRUSTED_FW_KEY_CERT_ID>;
  112. parent = <&trusted_key_cert>;
  113. signing-key = <&non_trusted_world_pk>;
  114. antirollback-counter = <&non_trusted_nv_ctr>;
  115. nt_fw_content_pk: nt_fw_content_pk {
  116. oid = NON_TRUSTED_FW_CONTENT_CERT_PK_OID;
  117. };
  118. };
  119. non_trusted_fw_content_cert: non_trusted_fw_content_cert {
  120. image-id = <NON_TRUSTED_FW_CONTENT_CERT_ID>;
  121. parent = <&non_trusted_fw_key_cert>;
  122. signing-key = <&nt_fw_content_pk>;
  123. antirollback-counter = <&non_trusted_nv_ctr>;
  124. nt_world_bl_hash: nt_world_bl_hash {
  125. oid = NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID;
  126. };
  127. nt_fw_config_hash: nt_fw_config_hash {
  128. oid = NON_TRUSTED_FW_CONFIG_HASH_OID;
  129. };
  130. };
  131. #if defined(SPD_spmd)
  132. sip_sp_content_cert: sip_sp_content_cert {
  133. image-id = <SIP_SP_CONTENT_CERT_ID>;
  134. parent = <&trusted_key_cert>;
  135. signing-key = <&trusted_world_pk>;
  136. antirollback-counter = <&trusted_nv_ctr>;
  137. sp_pkg1_hash: sp_pkg1_hash {
  138. oid = SP_PKG1_HASH_OID;
  139. };
  140. sp_pkg2_hash: sp_pkg2_hash {
  141. oid = SP_PKG2_HASH_OID;
  142. };
  143. sp_pkg3_hash: sp_pkg3_hash {
  144. oid = SP_PKG3_HASH_OID;
  145. };
  146. sp_pkg4_hash: sp_pkg4_hash {
  147. oid = SP_PKG4_HASH_OID;
  148. };
  149. sp_pkg5_hash: sp_pkg5_hash {
  150. oid = SP_PKG5_HASH_OID;
  151. };
  152. sp_pkg6_hash: sp_pkg6_hash {
  153. oid = SP_PKG6_HASH_OID;
  154. };
  155. sp_pkg7_hash: sp_pkg7_hash {
  156. oid = SP_PKG7_HASH_OID;
  157. };
  158. sp_pkg8_hash: sp_pkg8_hash {
  159. oid = SP_PKG8_HASH_OID;
  160. };
  161. };
  162. #endif
  163. };
  164. images {
  165. compatible = "arm, img-descs";
  166. hw_config {
  167. image-id = <HW_CONFIG_ID>;
  168. parent = <&trusted_boot_fw_cert>;
  169. hash = <&hw_config_hash>;
  170. };
  171. fw_config {
  172. image-id = <FW_CONFIG_ID>;
  173. parent = <&trusted_boot_fw_cert>;
  174. hash = <&fw_config_hash>;
  175. };
  176. scp_bl2_image {
  177. image-id = <SCP_BL2_IMAGE_ID>;
  178. parent = <&scp_fw_content_cert>;
  179. hash = <&scp_fw_hash>;
  180. };
  181. bl31_image {
  182. image-id = <BL31_IMAGE_ID>;
  183. parent = <&soc_fw_content_cert>;
  184. hash = <&soc_fw_hash>;
  185. };
  186. soc_fw_config {
  187. image-id = <SOC_FW_CONFIG_ID>;
  188. parent = <&soc_fw_content_cert>;
  189. hash = <&soc_fw_config_hash>;
  190. };
  191. bl32_image {
  192. image-id = <BL32_IMAGE_ID>;
  193. parent = <&trusted_os_fw_content_cert>;
  194. hash = <&tos_fw_hash>;
  195. };
  196. bl32_extra1_image {
  197. image-id = <BL32_EXTRA1_IMAGE_ID>;
  198. parent = <&trusted_os_fw_content_cert>;
  199. hash = <&tos_fw_extra1_hash>;
  200. };
  201. bl32_extra2_image {
  202. image-id = <BL32_EXTRA2_IMAGE_ID>;
  203. parent = <&trusted_os_fw_content_cert>;
  204. hash = <&tos_fw_extra2_hash>;
  205. };
  206. tos_fw_config {
  207. image-id = <TOS_FW_CONFIG_ID>;
  208. parent = <&trusted_os_fw_content_cert>;
  209. hash = <&tos_fw_config_hash>;
  210. };
  211. bl33_image {
  212. image-id = <BL33_IMAGE_ID>;
  213. parent = <&non_trusted_fw_content_cert>;
  214. hash = <&nt_world_bl_hash>;
  215. };
  216. nt_fw_config {
  217. image-id = <NT_FW_CONFIG_ID>;
  218. parent = <&non_trusted_fw_content_cert>;
  219. hash = <&nt_fw_config_hash>;
  220. };
  221. #if defined(SPD_spmd)
  222. sp_pkg1 {
  223. image-id = <SP_PKG1_ID>;
  224. parent = <&sip_sp_content_cert>;
  225. hash = <&sp_pkg1_hash>;
  226. };
  227. sp_pkg2 {
  228. image-id = <SP_PKG2_ID>;
  229. parent = <&sip_sp_content_cert>;
  230. hash = <&sp_pkg2_hash>;
  231. };
  232. sp_pkg3 {
  233. image-id = <SP_PKG3_ID>;
  234. parent = <&sip_sp_content_cert>;
  235. hash = <&sp_pkg3_hash>;
  236. };
  237. sp_pkg4 {
  238. image-id = <SP_PKG4_ID>;
  239. parent = <&sip_sp_content_cert>;
  240. hash = <&sp_pkg4_hash>;
  241. };
  242. sp_pkg5 {
  243. image-id = <SP_PKG5_ID>;
  244. parent = <&sip_sp_content_cert>;
  245. hash = <&sp_pkg5_hash>;
  246. };
  247. sp_pkg6 {
  248. image-id = <SP_PKG6_ID>;
  249. parent = <&sip_sp_content_cert>;
  250. hash = <&sp_pkg6_hash>;
  251. };
  252. sp_pkg7 {
  253. image-id = <SP_PKG7_ID>;
  254. parent = <&sip_sp_content_cert>;
  255. hash = <&sp_pkg7_hash>;
  256. };
  257. sp_pkg8 {
  258. image-id = <SP_PKG8_ID>;
  259. parent = <&sip_sp_content_cert>;
  260. hash = <&sp_pkg8_hash>;
  261. };
  262. #endif
  263. };
  264. };
  265. non_volatile_counters: non_volatile_counters {
  266. compatible = "arm, non-volatile-counter";
  267. #address-cells = <1>;
  268. #size-cells = <0>;
  269. trusted_nv_ctr: trusted_nv_ctr {
  270. id = <TRUSTED_NV_CTR_ID>;
  271. oid = TRUSTED_FW_NVCOUNTER_OID;
  272. };
  273. non_trusted_nv_ctr: non_trusted_nv_ctr {
  274. id = <NON_TRUSTED_NV_CTR_ID>;
  275. oid = NON_TRUSTED_FW_NVCOUNTER_OID;
  276. };
  277. };