diff options
Diffstat (limited to 'arch/arm/cpu/armv8/sec_firmware.c')
-rw-r--r-- | arch/arm/cpu/armv8/sec_firmware.c | 52 |
1 files changed, 4 insertions, 48 deletions
diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c index 7e6e4064ffe..540436ba028 100644 --- a/arch/arm/cpu/armv8/sec_firmware.c +++ b/arch/arm/cpu/armv8/sec_firmware.c @@ -36,9 +36,6 @@ phys_addr_t sec_firmware_addr; #ifndef SEC_FIRMWARE_FIT_IMAGE #define SEC_FIRMWARE_FIT_IMAGE "firmware" #endif -#ifndef SEC_FIRMWARE_FIT_CNF_NAME -#define SEC_FIRMWARE_FIT_CNF_NAME "config-1" -#endif #ifndef SEC_FIRMWARE_TARGET_EL #define SEC_FIRMWARE_TARGET_EL 2 #endif @@ -46,46 +43,8 @@ phys_addr_t sec_firmware_addr; static int sec_firmware_get_data(const void *sec_firmware_img, const void **data, size_t *size) { - int conf_node_off, fw_node_off; - char *conf_node_name = NULL; - char *desc; - int ret; - - conf_node_name = SEC_FIRMWARE_FIT_CNF_NAME; - - conf_node_off = fit_conf_get_node(sec_firmware_img, conf_node_name); - if (conf_node_off < 0) { - printf("SEC Firmware: %s: no such config\n", conf_node_name); - return -ENOENT; - } - - fw_node_off = fit_conf_get_prop_node(sec_firmware_img, conf_node_off, - SEC_FIRMWARE_FIT_IMAGE); - if (fw_node_off < 0) { - printf("SEC Firmware: No '%s' in config\n", - SEC_FIRMWARE_FIT_IMAGE); - return -ENOLINK; - } - - /* Verify secure firmware image */ - if (!(fit_image_verify(sec_firmware_img, fw_node_off))) { - printf("SEC Firmware: Bad firmware image (bad CRC)\n"); - return -EINVAL; - } - - if (fit_image_get_data(sec_firmware_img, fw_node_off, data, size)) { - printf("SEC Firmware: Can't get %s subimage data/size", - SEC_FIRMWARE_FIT_IMAGE); - return -ENOENT; - } - - ret = fit_get_desc(sec_firmware_img, fw_node_off, &desc); - if (ret) - printf("SEC Firmware: Can't get description\n"); - else - printf("%s\n", desc); - - return ret; + return fit_get_data_conf_prop(sec_firmware_img, SEC_FIRMWARE_FIT_IMAGE, + data, size); } /* @@ -124,18 +83,15 @@ static int sec_firmware_check_copy_loadable(const void *sec_firmware_img, { phys_addr_t sec_firmware_loadable_addr = 0; int conf_node_off, ld_node_off, images; - char *conf_node_name = NULL; const void *data; size_t size; ulong load; const char *name, *str, *type; int len; - conf_node_name = SEC_FIRMWARE_FIT_CNF_NAME; - - conf_node_off = fit_conf_get_node(sec_firmware_img, conf_node_name); + conf_node_off = fit_conf_get_node(sec_firmware_img, NULL); if (conf_node_off < 0) { - printf("SEC Firmware: %s: no such config\n", conf_node_name); + puts("SEC Firmware: no config\n"); return -ENOENT; } |