1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2016-2022, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #include <stddef.h> 8*91f16700Schasinglulu 9*91f16700Schasinglulu #include <firmware_image_package.h> 10*91f16700Schasinglulu 11*91f16700Schasinglulu #include "tbbr_config.h" 12*91f16700Schasinglulu 13*91f16700Schasinglulu /* The images used depends on the platform. */ 14*91f16700Schasinglulu toc_entry_t toc_entries[] = { 15*91f16700Schasinglulu { 16*91f16700Schasinglulu .name = "SCP Firmware Updater Configuration FWU SCP_BL2U", 17*91f16700Schasinglulu .uuid = UUID_TRUSTED_UPDATE_FIRMWARE_SCP_BL2U, 18*91f16700Schasinglulu .cmdline_name = "scp-fwu-cfg" 19*91f16700Schasinglulu }, 20*91f16700Schasinglulu { 21*91f16700Schasinglulu .name = "AP Firmware Updater Configuration BL2U", 22*91f16700Schasinglulu .uuid = UUID_TRUSTED_UPDATE_FIRMWARE_BL2U, 23*91f16700Schasinglulu .cmdline_name = "ap-fwu-cfg" 24*91f16700Schasinglulu }, 25*91f16700Schasinglulu { 26*91f16700Schasinglulu .name = "Firmware Updater NS_BL2U", 27*91f16700Schasinglulu .uuid = UUID_TRUSTED_UPDATE_FIRMWARE_NS_BL2U, 28*91f16700Schasinglulu .cmdline_name = "fwu" 29*91f16700Schasinglulu }, 30*91f16700Schasinglulu { 31*91f16700Schasinglulu .name = "Non-Trusted Firmware Updater certificate", 32*91f16700Schasinglulu .uuid = UUID_TRUSTED_FWU_CERT, 33*91f16700Schasinglulu .cmdline_name = "fwu-cert" 34*91f16700Schasinglulu }, 35*91f16700Schasinglulu { 36*91f16700Schasinglulu .name = "Trusted Boot Firmware BL2", 37*91f16700Schasinglulu .uuid = UUID_TRUSTED_BOOT_FIRMWARE_BL2, 38*91f16700Schasinglulu .cmdline_name = "tb-fw" 39*91f16700Schasinglulu }, 40*91f16700Schasinglulu { 41*91f16700Schasinglulu .name = "SCP Firmware SCP_BL2", 42*91f16700Schasinglulu .uuid = UUID_SCP_FIRMWARE_SCP_BL2, 43*91f16700Schasinglulu .cmdline_name = "scp-fw" 44*91f16700Schasinglulu }, 45*91f16700Schasinglulu { 46*91f16700Schasinglulu .name = "EL3 Runtime Firmware BL31", 47*91f16700Schasinglulu .uuid = UUID_EL3_RUNTIME_FIRMWARE_BL31, 48*91f16700Schasinglulu .cmdline_name = "soc-fw" 49*91f16700Schasinglulu }, 50*91f16700Schasinglulu { 51*91f16700Schasinglulu .name = "Secure Payload BL32 (Trusted OS)", 52*91f16700Schasinglulu .uuid = UUID_SECURE_PAYLOAD_BL32, 53*91f16700Schasinglulu .cmdline_name = "tos-fw" 54*91f16700Schasinglulu }, 55*91f16700Schasinglulu { 56*91f16700Schasinglulu .name = "Secure Payload BL32 Extra1 (Trusted OS Extra1)", 57*91f16700Schasinglulu .uuid = UUID_SECURE_PAYLOAD_BL32_EXTRA1, 58*91f16700Schasinglulu .cmdline_name = "tos-fw-extra1" 59*91f16700Schasinglulu }, 60*91f16700Schasinglulu { 61*91f16700Schasinglulu .name = "Secure Payload BL32 Extra2 (Trusted OS Extra2)", 62*91f16700Schasinglulu .uuid = UUID_SECURE_PAYLOAD_BL32_EXTRA2, 63*91f16700Schasinglulu .cmdline_name = "tos-fw-extra2" 64*91f16700Schasinglulu }, 65*91f16700Schasinglulu { 66*91f16700Schasinglulu .name = "Non-Trusted Firmware BL33", 67*91f16700Schasinglulu .uuid = UUID_NON_TRUSTED_FIRMWARE_BL33, 68*91f16700Schasinglulu .cmdline_name = "nt-fw" 69*91f16700Schasinglulu }, 70*91f16700Schasinglulu { 71*91f16700Schasinglulu .name = "Realm Monitor Management Firmware", 72*91f16700Schasinglulu .uuid = UUID_REALM_MONITOR_MGMT_FIRMWARE, 73*91f16700Schasinglulu .cmdline_name = "rmm-fw" 74*91f16700Schasinglulu }, 75*91f16700Schasinglulu /* Dynamic Configs */ 76*91f16700Schasinglulu { 77*91f16700Schasinglulu .name = "FW_CONFIG", 78*91f16700Schasinglulu .uuid = UUID_FW_CONFIG, 79*91f16700Schasinglulu .cmdline_name = "fw-config" 80*91f16700Schasinglulu }, 81*91f16700Schasinglulu { 82*91f16700Schasinglulu .name = "HW_CONFIG", 83*91f16700Schasinglulu .uuid = UUID_HW_CONFIG, 84*91f16700Schasinglulu .cmdline_name = "hw-config" 85*91f16700Schasinglulu }, 86*91f16700Schasinglulu { 87*91f16700Schasinglulu .name = "TB_FW_CONFIG", 88*91f16700Schasinglulu .uuid = UUID_TB_FW_CONFIG, 89*91f16700Schasinglulu .cmdline_name = "tb-fw-config" 90*91f16700Schasinglulu }, 91*91f16700Schasinglulu { 92*91f16700Schasinglulu .name = "SOC_FW_CONFIG", 93*91f16700Schasinglulu .uuid = UUID_SOC_FW_CONFIG, 94*91f16700Schasinglulu .cmdline_name = "soc-fw-config" 95*91f16700Schasinglulu }, 96*91f16700Schasinglulu { 97*91f16700Schasinglulu .name = "TOS_FW_CONFIG", 98*91f16700Schasinglulu .uuid = UUID_TOS_FW_CONFIG, 99*91f16700Schasinglulu .cmdline_name = "tos-fw-config" 100*91f16700Schasinglulu }, 101*91f16700Schasinglulu { 102*91f16700Schasinglulu .name = "NT_FW_CONFIG", 103*91f16700Schasinglulu .uuid = UUID_NT_FW_CONFIG, 104*91f16700Schasinglulu .cmdline_name = "nt-fw-config" 105*91f16700Schasinglulu }, 106*91f16700Schasinglulu /* Key Certificates */ 107*91f16700Schasinglulu { 108*91f16700Schasinglulu .name = "Root Of Trust key certificate", 109*91f16700Schasinglulu .uuid = UUID_ROT_KEY_CERT, 110*91f16700Schasinglulu .cmdline_name = "rot-cert" 111*91f16700Schasinglulu }, 112*91f16700Schasinglulu { 113*91f16700Schasinglulu .name = "Trusted key certificate", 114*91f16700Schasinglulu .uuid = UUID_TRUSTED_KEY_CERT, 115*91f16700Schasinglulu .cmdline_name = "trusted-key-cert" 116*91f16700Schasinglulu }, 117*91f16700Schasinglulu { 118*91f16700Schasinglulu .name = "SCP Firmware key certificate", 119*91f16700Schasinglulu .uuid = UUID_SCP_FW_KEY_CERT, 120*91f16700Schasinglulu .cmdline_name = "scp-fw-key-cert" 121*91f16700Schasinglulu }, 122*91f16700Schasinglulu { 123*91f16700Schasinglulu .name = "SoC Firmware key certificate", 124*91f16700Schasinglulu .uuid = UUID_SOC_FW_KEY_CERT, 125*91f16700Schasinglulu .cmdline_name = "soc-fw-key-cert" 126*91f16700Schasinglulu }, 127*91f16700Schasinglulu { 128*91f16700Schasinglulu .name = "Trusted OS Firmware key certificate", 129*91f16700Schasinglulu .uuid = UUID_TRUSTED_OS_FW_KEY_CERT, 130*91f16700Schasinglulu .cmdline_name = "tos-fw-key-cert" 131*91f16700Schasinglulu }, 132*91f16700Schasinglulu { 133*91f16700Schasinglulu .name = "Non-Trusted Firmware key certificate", 134*91f16700Schasinglulu .uuid = UUID_NON_TRUSTED_FW_KEY_CERT, 135*91f16700Schasinglulu .cmdline_name = "nt-fw-key-cert" 136*91f16700Schasinglulu }, 137*91f16700Schasinglulu 138*91f16700Schasinglulu /* Content certificates */ 139*91f16700Schasinglulu { 140*91f16700Schasinglulu .name = "Trusted Boot Firmware BL2 certificate", 141*91f16700Schasinglulu .uuid = UUID_TRUSTED_BOOT_FW_CERT, 142*91f16700Schasinglulu .cmdline_name = "tb-fw-cert" 143*91f16700Schasinglulu }, 144*91f16700Schasinglulu { 145*91f16700Schasinglulu .name = "SCP Firmware content certificate", 146*91f16700Schasinglulu .uuid = UUID_SCP_FW_CONTENT_CERT, 147*91f16700Schasinglulu .cmdline_name = "scp-fw-cert" 148*91f16700Schasinglulu }, 149*91f16700Schasinglulu { 150*91f16700Schasinglulu .name = "SoC Firmware content certificate", 151*91f16700Schasinglulu .uuid = UUID_SOC_FW_CONTENT_CERT, 152*91f16700Schasinglulu .cmdline_name = "soc-fw-cert" 153*91f16700Schasinglulu }, 154*91f16700Schasinglulu { 155*91f16700Schasinglulu .name = "Trusted OS Firmware content certificate", 156*91f16700Schasinglulu .uuid = UUID_TRUSTED_OS_FW_CONTENT_CERT, 157*91f16700Schasinglulu .cmdline_name = "tos-fw-cert" 158*91f16700Schasinglulu }, 159*91f16700Schasinglulu { 160*91f16700Schasinglulu .name = "Non-Trusted Firmware content certificate", 161*91f16700Schasinglulu .uuid = UUID_NON_TRUSTED_FW_CONTENT_CERT, 162*91f16700Schasinglulu .cmdline_name = "nt-fw-cert" 163*91f16700Schasinglulu }, 164*91f16700Schasinglulu { 165*91f16700Schasinglulu .name = "SiP owned Secure Partition content certificate", 166*91f16700Schasinglulu .uuid = UUID_SIP_SECURE_PARTITION_CONTENT_CERT, 167*91f16700Schasinglulu .cmdline_name = "sip-sp-cert" 168*91f16700Schasinglulu }, 169*91f16700Schasinglulu { 170*91f16700Schasinglulu .name = "Platform owned Secure Partition content certificate", 171*91f16700Schasinglulu .uuid = UUID_PLAT_SECURE_PARTITION_CONTENT_CERT, 172*91f16700Schasinglulu .cmdline_name = "plat-sp-cert" 173*91f16700Schasinglulu }, 174*91f16700Schasinglulu { 175*91f16700Schasinglulu .name = "CCA Content Certificate", 176*91f16700Schasinglulu .uuid = UUID_CCA_CONTENT_CERT, 177*91f16700Schasinglulu .cmdline_name = "cca-cert" 178*91f16700Schasinglulu }, 179*91f16700Schasinglulu { 180*91f16700Schasinglulu .name = "Core Secure World Key Certificate", 181*91f16700Schasinglulu .uuid = UUID_CORE_SWD_KEY_CERT, 182*91f16700Schasinglulu .cmdline_name = "core-swd-cert" 183*91f16700Schasinglulu }, 184*91f16700Schasinglulu { 185*91f16700Schasinglulu .name = "Platform Key Certificate", 186*91f16700Schasinglulu .uuid = UUID_PLAT_KEY_CERT, 187*91f16700Schasinglulu .cmdline_name = "plat-key-cert" 188*91f16700Schasinglulu }, 189*91f16700Schasinglulu { 190*91f16700Schasinglulu .name = NULL, 191*91f16700Schasinglulu .uuid = { {0} }, 192*91f16700Schasinglulu .cmdline_name = NULL, 193*91f16700Schasinglulu } 194*91f16700Schasinglulu }; 195