stm32mp1-cot-descriptors.dtsi 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /*
  2. * Copyright (c) 2020-2024, ARM Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #include <common/nv_cntr_ids.h>
  7. #include <common/tbbr/tbbr_img_def.h>
  8. #include <tools_share/tbbr_oid.h>
  9. cot {
  10. manifests {
  11. compatible = "arm, cert-descs";
  12. stm32mp_cfg_cert: stm32mp_cfg_cert {
  13. root-certificate;
  14. image-id = <STM32MP_CONFIG_CERT_ID>;
  15. antirollback-counter = <&trusted_nv_ctr>;
  16. hw_config_hash: hw_config_hash {
  17. oid = HW_CONFIG_HASH_OID;
  18. };
  19. fw_config_hash: fw_config_hash {
  20. oid = FW_CONFIG_HASH_OID;
  21. };
  22. };
  23. trusted_key_cert: trusted_key_cert {
  24. root-certificate;
  25. image-id = <TRUSTED_KEY_CERT_ID>;
  26. antirollback-counter = <&trusted_nv_ctr>;
  27. trusted_world_pk: trusted_world_pk {
  28. oid = TRUSTED_WORLD_PK_OID;
  29. };
  30. non_trusted_world_pk: non_trusted_world_pk {
  31. oid = NON_TRUSTED_WORLD_PK_OID;
  32. };
  33. };
  34. trusted_os_fw_key_cert: trusted_os_fw_key_cert {
  35. image-id = <TRUSTED_OS_FW_KEY_CERT_ID>;
  36. parent = <&trusted_key_cert>;
  37. signing-key = <&trusted_world_pk>;
  38. antirollback-counter = <&trusted_nv_ctr>;
  39. tos_fw_content_pk: tos_fw_content_pk {
  40. oid = TRUSTED_OS_FW_CONTENT_CERT_PK_OID;
  41. };
  42. };
  43. trusted_os_fw_content_cert: trusted_os_fw_content_cert {
  44. image-id = <TRUSTED_OS_FW_CONTENT_CERT_ID>;
  45. parent = <&trusted_os_fw_key_cert>;
  46. signing-key = <&tos_fw_content_pk>;
  47. antirollback-counter = <&trusted_nv_ctr>;
  48. tos_fw_hash: tos_fw_hash {
  49. oid = TRUSTED_OS_FW_HASH_OID;
  50. };
  51. tos_fw_extra1_hash: tos_fw_extra1_hash {
  52. oid = TRUSTED_OS_FW_EXTRA1_HASH_OID;
  53. };
  54. tos_fw_extra2_hash: tos_fw_extra2_hash {
  55. oid = TRUSTED_OS_FW_EXTRA2_HASH_OID;
  56. };
  57. tos_fw_config_hash: tos_fw_config_hash {
  58. oid = TRUSTED_OS_FW_CONFIG_HASH_OID;
  59. };
  60. };
  61. non_trusted_fw_key_cert: non_trusted_fw_key_cert {
  62. image-id = <NON_TRUSTED_FW_KEY_CERT_ID>;
  63. parent = <&trusted_key_cert>;
  64. signing-key = <&non_trusted_world_pk>;
  65. antirollback-counter = <&non_trusted_nv_ctr>;
  66. nt_fw_content_pk: nt_fw_content_pk {
  67. oid = NON_TRUSTED_FW_CONTENT_CERT_PK_OID;
  68. };
  69. };
  70. non_trusted_fw_content_cert: non_trusted_fw_content_cert {
  71. image-id = <NON_TRUSTED_FW_CONTENT_CERT_ID>;
  72. parent = <&non_trusted_fw_key_cert>;
  73. signing-key = <&nt_fw_content_pk>;
  74. antirollback-counter = <&non_trusted_nv_ctr>;
  75. nt_world_bl_hash: nt_world_bl_hash {
  76. oid = NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID;
  77. };
  78. };
  79. };
  80. images {
  81. compatible = "arm, img-descs";
  82. hw_config {
  83. image-id = <HW_CONFIG_ID>;
  84. parent = <&stm32mp_cfg_cert>;
  85. hash = <&hw_config_hash>;
  86. };
  87. fw_config {
  88. image-id = <FW_CONFIG_ID>;
  89. parent = <&stm32mp_cfg_cert>;
  90. hash = <&fw_config_hash>;
  91. };
  92. bl32_image {
  93. image-id = <BL32_IMAGE_ID>;
  94. parent = <&trusted_os_fw_content_cert>;
  95. hash = <&tos_fw_hash>;
  96. };
  97. bl32_extra1_image {
  98. image-id = <BL32_EXTRA1_IMAGE_ID>;
  99. parent = <&trusted_os_fw_content_cert>;
  100. hash = <&tos_fw_extra1_hash>;
  101. };
  102. bl32_extra2_image {
  103. image-id = <BL32_EXTRA2_IMAGE_ID>;
  104. parent = <&trusted_os_fw_content_cert>;
  105. hash = <&tos_fw_extra2_hash>;
  106. };
  107. tos_fw_config {
  108. image-id = <TOS_FW_CONFIG_ID>;
  109. parent = <&trusted_os_fw_content_cert>;
  110. hash = <&tos_fw_config_hash>;
  111. };
  112. bl33_image {
  113. image-id = <BL33_IMAGE_ID>;
  114. parent = <&non_trusted_fw_content_cert>;
  115. hash = <&nt_world_bl_hash>;
  116. };
  117. };
  118. };
  119. non_volatile_counters: non_volatile_counters {
  120. #address-cells = <1>;
  121. #size-cells = <0>;
  122. trusted_nv_ctr: trusted_nv_ctr {
  123. id = <TRUSTED_NV_CTR_ID>;
  124. oid = TRUSTED_FW_NVCOUNTER_OID;
  125. };
  126. non_trusted_nv_ctr: non_trusted_nv_ctr {
  127. id = <NON_TRUSTED_NV_CTR_ID>;
  128. oid = NON_TRUSTED_FW_NVCOUNTER_OID;
  129. };
  130. };