Lines Matching refs:fit
23 static int fit_is_ext_type(const void *fit) in fit_is_ext_type() argument
25 return fdt_totalsize(fit) < FIT_FDT_MAX_SIZE; in fit_is_ext_type()
28 static int fit_is_signed(const void *fit, const void *sig_blob) in fit_is_signed() argument
38 static int fit_sig_require_conf(const void *fit, const void *sig_blob) in fit_sig_require_conf() argument
57 int fit_default_conf_get_node(const void *fit, const char *prop_name) in fit_default_conf_get_node() argument
61 conf_noffset = fit_conf_get_node(fit, NULL); /* NULL for default conf */ in fit_default_conf_get_node()
65 return fit_conf_get_prop_node(fit, conf_noffset, prop_name); in fit_default_conf_get_node()
68 int fix_image_set_addr(const void *fit, const char *prop_name, in fix_image_set_addr() argument
75 fit_sig_require_conf(fit, gd_fdt_blob())) in fix_image_set_addr()
78 noffset = fit_default_conf_get_node(fit, prop_name); in fix_image_set_addr()
83 fit_image_set_entry(fit, noffset, new); in fix_image_set_addr()
85 return fit_image_set_load(fit, noffset, new); in fix_image_set_addr()
88 static int fdt_image_get_offset_size(const void *fit, const char *prop_name, in fdt_image_get_offset_size() argument
95 noffset = fit_default_conf_get_node(fit, prop_name); in fdt_image_get_offset_size()
99 ret = fit_image_get_data_size(fit, noffset, &sz); in fdt_image_get_offset_size()
103 ret = fit_image_get_data_position(fit, noffset, &offs); in fdt_image_get_offset_size()
105 offs -= fdt_totalsize(fit); in fdt_image_get_offset_size()
107 ret = fit_image_get_data_offset(fit, noffset, &offs); in fdt_image_get_offset_size()
115 static int fdt_image_get_load(const void *fit, const char *prop_name, in fdt_image_get_load() argument
120 noffset = fit_default_conf_get_node(fit, prop_name); in fdt_image_get_load()
124 return fit_image_get_load(fit, noffset, load); in fdt_image_get_load()
127 static int fit_image_get_param(const void *fit, const char *prop_name, in fit_image_get_param() argument
132 ret = fdt_image_get_offset_size(fit, prop_name, offset, size); in fit_image_get_param()
136 return fdt_image_get_load(fit, prop_name, load); in fit_image_get_param()
146 void *fit, *fdt; in fit_get_blob() local
181 fit = memalign(ARCH_DMA_MINALIGN, blk_num * dev_desc->blksz); in fit_get_blob()
182 if (!fit) { in fit_get_blob()
187 if (blk_dread(dev_desc, part.start, blk_num, fit) != blk_num) { in fit_get_blob()
188 free(fit); in fit_get_blob()
195 return fit; in fit_get_blob()
197 conf_noffset = fit_conf_get_node(fit, NULL); /* NULL for default conf */ in fit_get_blob()
201 printf("%s: ", fdt_get_name(fit, conf_noffset, NULL)); in fit_get_blob()
202 if (fit_config_verify(fit, conf_noffset)) { in fit_get_blob()
210 return fit; in fit_get_blob()
217 static int fit_image_fixup_alloc(const void *fit, const char *prop_name, in fit_image_fixup_alloc() argument
228 ret = fit_image_get_param(fit, prop_name, &load, &offset, &size); in fit_image_fixup_alloc()
235 ret = fix_image_set_addr(fit, prop_name, load, addr); in fit_image_fixup_alloc()
246 int fit_image_pre_process(const void *fit) in fit_image_pre_process() argument
254 ret = fit_image_fixup_alloc(fit, FIT_FDT_PROP, in fit_image_pre_process()
259 ret = fit_image_fixup_alloc(fit, FIT_KERNEL_PROP, in fit_image_pre_process()
264 return fit_image_fixup_alloc(fit, FIT_RAMDISK_PROP, in fit_image_pre_process()
268 int fit_image_fail_process(const void *fit) in fit_image_fail_process() argument
276 sysmem_free((phys_addr_t)fit); in fit_image_fail_process()
284 static int fit_image_get_subnode(const void *fit, int noffset, const char *name) in fit_image_get_subnode() argument
288 fdt_for_each_subnode(sub_noffset, fit, noffset) { in fit_image_get_subnode()
289 if (!strncmp(fit_get_name(fit, sub_noffset, NULL), in fit_image_get_subnode()
297 static int fit_image_load_one(const void *fit, struct blk_desc *dev_desc, in fit_image_load_one() argument
306 ret = fdt_image_get_offset_size(fit, prop_name, &offset, &size); in fit_image_load_one()
310 blk_off = (FIT_ALIGN(fdt_totalsize(fit)) + offset) / dev_desc->blksz; in fit_image_load_one()
318 noffset = fit_default_conf_get_node(fit, prop_name); in fit_image_load_one()
322 hash_noffset = fit_image_get_subnode(fit, noffset, in fit_image_load_one()
327 printf("%s: ", fdt_get_name(fit, noffset, NULL)); in fit_image_load_one()
328 ret = fit_image_check_hash(fit, hash_noffset, data, size, &msg); in fit_image_load_one()
339 ulong fit_image_get_bootables_size(const void *fit) in fit_image_get_bootables_size() argument
346 if (!fit_get_totalsize(fit, &size)) in fit_image_get_bootables_size()
350 if (!fit_image_get_param(fit, FIT_FDT_PROP, &load, &offset, &size)) in fit_image_get_bootables_size()
353 if (!fit_image_get_param(fit, FIT_KERNEL_PROP, &load, &offset, &size)) in fit_image_get_bootables_size()
356 if (!fit_image_get_param(fit, FIT_RAMDISK_PROP, &load, &offset, &size)) in fit_image_get_bootables_size()
362 return FIT_ALIGN(fdt_totalsize(fit)) + max_off; in fit_image_get_bootables_size()
370 void *fit; in fit_image_load_bootables() local
376 fit = fit_get_blob(dev_desc, &part, false); in fit_image_load_bootables()
377 if (!fit) { in fit_image_load_bootables()
382 *size = fit_image_get_bootables_size(fit); in fit_image_load_bootables()
389 fit = sysmem_alloc(MEM_FIT, blk_num * dev_desc->blksz); in fit_image_load_bootables()
390 if (!fit) in fit_image_load_bootables()
393 if (blk_dread(dev_desc, part.start, blk_num, fit) != blk_num) { in fit_image_load_bootables()
398 return fit; in fit_image_load_bootables()
401 static void fit_msg(const void *fit) in fit_msg() argument
404 fit_is_signed(fit, gd_fdt_blob()) ? "" : "no ", in fit_msg()
405 fit_sig_require_conf(fit, gd_fdt_blob()) ? "" : "no "); in fit_msg()
412 void *fit, *buf; in fit_image_init_resource() local
419 fit = fit_get_blob(dev_desc, &part, true); in fit_image_init_resource()
420 if (!fit) in fit_image_init_resource()
423 ret = fdt_image_get_offset_size(fit, FIT_MULTI_PROP, &offset, &size); in fit_image_init_resource()
432 part.start + ((FIT_ALIGN(fdt_totalsize(fit)) + offset) / dev_desc->blksz)); in fit_image_init_resource()
433 ret = fit_image_load_one(fit, dev_desc, &part, FIT_MULTI_PROP, buf, 1); in fit_image_init_resource()
440 free(fit); in fit_image_init_resource()
444 fit_msg(fit); in fit_image_init_resource()
445 free(fit); in fit_image_init_resource()
454 void *fit; in fit_image_read_dtb() local
462 fit = fit_get_blob(dev_desc, &part, true); in fit_image_read_dtb()
463 if (!fit) in fit_image_read_dtb()
466 fit_msg(fit); in fit_image_read_dtb()
468 return fit_image_load_one(fit, dev_desc, &part, FIT_FDT_PROP, in fit_image_read_dtb()