Lines Matching refs:offs
27 const struct dt_driver *dt_find_compatible_driver(const void *fdt, int offs) in dt_find_compatible_driver() argument
37 if (!fdt_node_check_compatible(fdt, offs, in dt_find_compatible_driver()
47 bool dt_have_prop(const void *fdt, int offs, const char *propname) in dt_have_prop() argument
51 prop = fdt_getprop(fdt, offs, propname, NULL); in dt_have_prop()
100 int dt_map_dev(const void *fdt, int offs, vaddr_t *base, size_t *size, in dt_map_dev() argument
111 st = fdt_get_status(fdt, offs); in dt_map_dev()
115 if (fdt_reg_info(fdt, offs, &pbase, &sz)) in dt_map_dev()
193 int fdt_get_reg_props_by_index(const void *fdt, int offs, int index, in fdt_get_reg_props_by_index() argument
206 reg = (const uint32_t *)fdt_getprop(fdt, offs, "reg", &len); in fdt_get_reg_props_by_index()
210 if (fdt_find_cached_parent_reg_cells(fdt, offs, &addr_ncells, in fdt_get_reg_props_by_index()
212 parent = fdt_parent_offset(fdt, offs); in fdt_get_reg_props_by_index()
250 int fdt_reg_info(const void *fdt, int offs, paddr_t *base, size_t *size) in fdt_reg_info() argument
252 return fdt_get_reg_props_by_index(fdt, offs, 0, base, size); in fdt_reg_info()
255 paddr_t fdt_reg_base_address(const void *fdt, int offs) in fdt_reg_base_address() argument
259 if (fdt_reg_info(fdt, offs, &base, NULL)) in fdt_reg_base_address()
265 size_t fdt_reg_size(const void *fdt, int offs) in fdt_reg_size() argument
269 if (fdt_reg_info(fdt, offs, NULL, &size)) in fdt_reg_size()
280 int fdt_get_status(const void *fdt, int offs) in fdt_get_status() argument
286 prop = fdt_getprop(fdt, offs, "status", &len); in fdt_get_status()
292 prop = fdt_getprop(fdt, offs, "secure-status", &len); in fdt_get_status()
308 void fdt_fill_device_info(const void *fdt, struct dt_node_info *info, int offs) in fdt_fill_device_info() argument
320 fdt_reg_info(fdt, offs, &dinfo.reg, &dinfo.reg_size); in fdt_fill_device_info()
322 cuint = fdt_getprop(fdt, offs, "clocks", NULL); in fdt_fill_device_info()
328 cuint = fdt_getprop(fdt, offs, "resets", NULL); in fdt_fill_device_info()
334 dinfo.interrupt = dt_get_irq_type_prio(fdt, offs, &dinfo.type, in fdt_fill_device_info()
337 dinfo.status = fdt_get_status(fdt, offs); in fdt_fill_device_info()
724 int offs = 0; in add_dt_overlay_fragment() local
731 offs = fdt_add_subnode(dt->blob, ioffs, frag); in add_dt_overlay_fragment()
732 if (offs < 0) in add_dt_overlay_fragment()
733 return offs; 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()
759 static int add_dt_overlay_fragment(struct dt_descriptor *dt __unused, int offs) in add_dt_overlay_fragment() argument
761 return offs; in add_dt_overlay_fragment()
884 int offs = 0; in add_dt_path_subnode() local
886 offs = fdt_path_offset(dt->blob, path); in add_dt_path_subnode()
887 if (offs < 0) in add_dt_path_subnode()
888 return offs; in add_dt_path_subnode()
889 offs = add_dt_overlay_fragment(dt, offs); in add_dt_path_subnode()
890 if (offs < 0) in add_dt_path_subnode()
891 return offs; in add_dt_path_subnode()
892 return fdt_add_subnode(dt->blob, offs, subnode); in add_dt_path_subnode()
911 int offs = 0; in add_res_mem_dt_node() local
918 offs = fdt_path_offset(dt->blob, "/reserved-memory"); in add_res_mem_dt_node()
920 if (offs < 0) { in add_res_mem_dt_node()
922 offs = 0; 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()
939 if (offs < 0) in add_res_mem_dt_node()
940 return offs; 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()
958 if (offs >= 0) { 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()
971 return offs; in add_res_mem_dt_node()