Lines Matching refs:fdt
175 void *fdt, const char *name, const char *fname) in fdt_property_file() argument
195 ret = fdt_property_placeholder(fdt, "data", sbuf.st_size, &ptr); in fdt_property_file()
212 static int fdt_property_strf(void *fdt, const char *name, const char *fmt, ...) in fdt_property_strf() argument
220 return fdt_property_string(fdt, name, str); in fdt_property_strf()
251 static int fit_write_images(struct image_tool_params *params, char *fdt) in fit_write_images() argument
259 fdt_begin_node(fdt, "images"); in fit_write_images()
264 fdt_begin_node(fdt, str); in fit_write_images()
265 fdt_property_string(fdt, "description", params->imagename); in fit_write_images()
266 fdt_property_string(fdt, "type", typename); in fit_write_images()
267 fdt_property_string(fdt, "arch", in fit_write_images()
269 fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os)); in fit_write_images()
270 fdt_property_string(fdt, "compression", in fit_write_images()
272 fdt_property_u32(fdt, "load", params->addr); in fit_write_images()
273 fdt_property_u32(fdt, "entry", params->ep); in fit_write_images()
279 ret = fdt_property_file(params, fdt, "data", params->datafile); in fit_write_images()
282 fdt_end_node(fdt); in fit_write_images()
290 fdt_begin_node(fdt, str); in fit_write_images()
293 fdt_property_string(fdt, "description", str); in fit_write_images()
294 ret = fdt_property_file(params, fdt, "data", cont->fname); in fit_write_images()
297 fdt_property_string(fdt, "type", typename); in fit_write_images()
298 fdt_property_string(fdt, "arch", in fit_write_images()
300 fdt_property_string(fdt, "compression", in fit_write_images()
302 fdt_end_node(fdt); in fit_write_images()
307 fdt_begin_node(fdt, FIT_RAMDISK_PROP "@1"); in fit_write_images()
309 fdt_property_string(fdt, "type", FIT_RAMDISK_PROP); in fit_write_images()
310 fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os)); in fit_write_images()
312 ret = fdt_property_file(params, fdt, "data", params->fit_ramdisk); in fit_write_images()
316 fdt_end_node(fdt); in fit_write_images()
319 fdt_end_node(fdt); in fit_write_images()
333 static void fit_write_configs(struct image_tool_params *params, char *fdt) in fit_write_configs() argument
340 fdt_begin_node(fdt, "configurations"); in fit_write_configs()
341 fdt_property_string(fdt, "default", "conf@1"); in fit_write_configs()
349 fdt_begin_node(fdt, str); in fit_write_configs()
352 fdt_property_string(fdt, "description", str); in fit_write_configs()
356 fdt_property_string(fdt, typename, str); in fit_write_configs()
359 fdt_property_string(fdt, FIT_RAMDISK_PROP, in fit_write_configs()
363 fdt_property_string(fdt, FIT_FDT_PROP, str); in fit_write_configs()
364 fdt_end_node(fdt); in fit_write_configs()
368 fdt_begin_node(fdt, "conf@1"); in fit_write_configs()
371 fdt_property_string(fdt, typename, str); in fit_write_configs()
374 fdt_property_string(fdt, FIT_RAMDISK_PROP, in fit_write_configs()
377 fdt_end_node(fdt); in fit_write_configs()
380 fdt_end_node(fdt); in fit_write_configs()
383 static int fit_build_fdt(struct image_tool_params *params, char *fdt, int size) in fit_build_fdt() argument
387 ret = fdt_create(fdt, size); in fit_build_fdt()
390 fdt_finish_reservemap(fdt); in fit_build_fdt()
391 fdt_begin_node(fdt, ""); in fit_build_fdt()
392 fdt_property_strf(fdt, "description", in fit_build_fdt()
395 fdt_property_strf(fdt, "creator", "U-Boot mkimage %s", PLAIN_VERSION); in fit_build_fdt()
396 fdt_property_u32(fdt, "#address-cells", 1); in fit_build_fdt()
397 ret = fit_write_images(params, fdt); in fit_build_fdt()
400 fit_write_configs(params, fdt); in fit_build_fdt()
401 fdt_end_node(fdt); in fit_build_fdt()
402 ret = fdt_finish(fdt); in fit_build_fdt()
406 return fdt_totalsize(fdt); in fit_build_fdt()
473 void *fdt; in fit_extract_data() local
478 fd = mmap_fdt(params->cmdname, fname, 0x400, &fdt, &sbuf, false); in fit_extract_data()
481 fit_size = fdt_totalsize(fdt); in fit_extract_data()
491 images = fdt_path_offset(fdt, FIT_IMAGES_PATH); in fit_extract_data()
498 for (node = fdt_first_subnode(fdt, images); in fit_extract_data()
500 node = fdt_next_subnode(fdt, node)) { in fit_extract_data()
504 data = fdt_getprop(fdt, node, "data", &len); in fit_extract_data()
510 ret = fdt_delprop(fdt, node, "data"); in fit_extract_data()
517 fdt_setprop_u32(fdt, node, "data-position", in fit_extract_data()
520 fdt_setprop_u32(fdt, node, "data-offset", buf_ptr); in fit_extract_data()
522 fdt_setprop_u32(fdt, node, "data-size", len); in fit_extract_data()
528 fdt_pack(fdt); in fit_extract_data()
530 debug("Size reduced from %x to %x\n", fit_size, fdt_totalsize(fdt)); in fit_extract_data()
532 new_size = fdt_totalsize(fdt); in fit_extract_data()
534 munmap(fdt, sbuf.st_size); in fit_extract_data()
570 munmap(fdt, sbuf.st_size); in fit_extract_data()
580 void *fdt, *old_fdt; in fit_import_data() local
596 fdt = malloc(size); in fit_import_data()
597 if (!fdt) { in fit_import_data()
603 ret = fdt_open_into(old_fdt, fdt, size); in fit_import_data()
611 images = fdt_path_offset(fdt, FIT_IMAGES_PATH); in fit_import_data()
618 for (node = fdt_first_subnode(fdt, images); in fit_import_data()
620 node = fdt_next_subnode(fdt, node)) { in fit_import_data()
624 buf_ptr = fdtdec_get_int(fdt, node, "data-offset", -1); in fit_import_data()
625 len = fdtdec_get_int(fdt, node, "data-size", -1); in fit_import_data()
630 ret = fdt_setprop(fdt, node, "data", fdt + data_base + buf_ptr, in fit_import_data()
644 fdt_pack(fdt); in fit_import_data()
646 new_size = fdt_totalsize(fdt); in fit_import_data()
656 if (write(fd, fdt, new_size) != new_size) { in fit_import_data()
669 free(fdt); in fit_import_data()