Lines Matching refs:dt
721 static int add_dt_overlay_fragment(struct dt_descriptor *dt, int ioffs) in add_dt_overlay_fragment() argument
727 ret = snprintf(frag, sizeof(frag), "fragment@%d", dt->frag_id); in add_dt_overlay_fragment()
731 offs = fdt_add_subnode(dt->blob, ioffs, frag); in add_dt_overlay_fragment()
735 dt->frag_id += 1; in add_dt_overlay_fragment()
737 ret = fdt_setprop_string(dt->blob, offs, "target-path", "/"); in add_dt_overlay_fragment()
741 return fdt_add_subnode(dt->blob, offs, "__overlay__"); in add_dt_overlay_fragment()
744 static int init_dt_overlay(struct dt_descriptor *dt, int __maybe_unused dt_size) in init_dt_overlay() argument
749 if (!fdt_check_header(dt->blob)) { in init_dt_overlay()
750 fdt_for_each_subnode(fragment, dt->blob, 0) in init_dt_overlay()
751 dt->frag_id += 1; in init_dt_overlay()
756 return fdt_create_empty_tree(dt->blob, dt_size); in init_dt_overlay()
759 static int add_dt_overlay_fragment(struct dt_descriptor *dt __unused, int offs) in add_dt_overlay_fragment()
764 static int init_dt_overlay(struct dt_descriptor *dt __unused, in init_dt_overlay()
781 struct dt_descriptor *dt = &external_dt; in init_external_dt() local
804 dt->blob = core_mmu_add_mapping(MEM_AREA_EXT_DT, phys_dt, in init_external_dt()
806 if (!dt->blob) in init_external_dt()
810 dt->blob = phys_to_virt(phys_dt, mtype, dt_sz); in init_external_dt()
811 if (!dt->blob) { in init_external_dt()
818 ret = init_dt_overlay(dt, dt_sz); in init_external_dt()
825 ret = fdt_open_into(dt->blob, dt->blob, dt_sz); in init_external_dt()
881 int add_dt_path_subnode(struct dt_descriptor *dt, const char *path, in add_dt_path_subnode() argument
886 offs = fdt_path_offset(dt->blob, path); in add_dt_path_subnode()
889 offs = add_dt_overlay_fragment(dt, offs); in add_dt_path_subnode()
892 return fdt_add_subnode(dt->blob, offs, subnode); in add_dt_path_subnode()
908 int add_res_mem_dt_node(struct dt_descriptor *dt, const char *name, in add_res_mem_dt_node() argument
918 offs = fdt_path_offset(dt->blob, "/reserved-memory"); in add_res_mem_dt_node()
929 len_size = fdt_size_cells(dt->blob, offs); in add_res_mem_dt_node()
932 addr_size = fdt_address_cells(dt->blob, offs); in add_res_mem_dt_node()
938 offs = add_dt_path_subnode(dt, "/", "reserved-memory"); in add_res_mem_dt_node()
941 ret = fdt_setprop_cell(dt->blob, offs, "#address-cells", in add_res_mem_dt_node()
945 ret = fdt_setprop_cell(dt->blob, offs, "#size-cells", len_size); in add_res_mem_dt_node()
948 ret = fdt_setprop(dt->blob, offs, "ranges", NULL, 0); in add_res_mem_dt_node()
957 offs = fdt_add_subnode(dt->blob, offs, subnode_name); in add_res_mem_dt_node()
963 ret = fdt_setprop(dt->blob, offs, "reg", data, in add_res_mem_dt_node()
967 ret = fdt_setprop(dt->blob, offs, "no-map", NULL, 0); in add_res_mem_dt_node()