Lines Matching full:blob

79 fdt_addr_t fdtdec_get_addr_size_fixed(const void *blob, int node,  in fdtdec_get_addr_size_fixed()  argument
91 prop = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_addr_size_fixed()
109 addr = fdt_translate_address(blob, node, prop_addr); in fdtdec_get_addr_size_fixed()
125 fdt_addr_t fdtdec_get_addr_size_auto_parent(const void *blob, int parent, in fdtdec_get_addr_size_auto_parent() argument
134 na = fdt_address_cells(blob, parent); in fdtdec_get_addr_size_auto_parent()
140 ns = fdt_size_cells(blob, parent); in fdtdec_get_addr_size_auto_parent()
148 return fdtdec_get_addr_size_fixed(blob, node, prop_name, index, na, in fdtdec_get_addr_size_auto_parent()
152 fdt_addr_t fdtdec_get_addr_size_auto_noparent(const void *blob, int node, in fdtdec_get_addr_size_auto_noparent() argument
161 parent = fdt_parent_offset(blob, node); in fdtdec_get_addr_size_auto_noparent()
167 return fdtdec_get_addr_size_auto_parent(blob, parent, node, prop_name, in fdtdec_get_addr_size_auto_noparent()
171 fdt_addr_t fdtdec_get_addr_size(const void *blob, int node, in fdtdec_get_addr_size() argument
176 return fdtdec_get_addr_size_fixed(blob, node, prop_name, 0, in fdtdec_get_addr_size()
181 fdt_addr_t fdtdec_get_addr(const void *blob, int node, const char *prop_name) in fdtdec_get_addr() argument
183 return fdtdec_get_addr_size(blob, node, prop_name, NULL); in fdtdec_get_addr()
187 int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type, in fdtdec_get_pci_addr() argument
202 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_pci_addr()
241 int fdtdec_get_pci_vendev(const void *blob, int node, u16 *vendor, u16 *device) in fdtdec_get_pci_vendev() argument
246 list = fdt_getprop(blob, node, "compatible", &len); in fdtdec_get_pci_vendev()
294 uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name, in fdtdec_get_uint64() argument
300 cell64 = fdt_getprop(blob, node, prop_name, &length); in fdtdec_get_uint64()
307 int fdtdec_get_is_enabled(const void *blob, int node) in fdtdec_get_is_enabled() argument
318 cell = fdt_getprop(blob, node, "status", NULL); in fdtdec_get_is_enabled()
324 enum fdt_compat_id fdtdec_lookup(const void *blob, int node) in fdtdec_lookup() argument
330 if (fdt_node_check_compatible(blob, node, in fdtdec_lookup()
336 int fdtdec_next_compatible(const void *blob, int node, enum fdt_compat_id id) in fdtdec_next_compatible() argument
338 return fdt_node_offset_by_compatible(blob, node, compat_names[id]); in fdtdec_next_compatible()
341 int fdtdec_next_compatible_subnode(const void *blob, int node, in fdtdec_next_compatible_subnode() argument
345 node = fdt_next_node(blob, node, depthp); in fdtdec_next_compatible_subnode()
350 blob, node, compat_names[id])) in fdtdec_next_compatible_subnode()
356 int fdtdec_next_alias(const void *blob, const char *name, enum fdt_compat_id id, in fdtdec_next_alias() argument
366 node = fdt_path_offset(blob, str); in fdtdec_next_alias()
369 err = fdt_node_check_compatible(blob, node, compat_names[id]); in fdtdec_next_alias()
378 int fdtdec_find_aliases_for_id(const void *blob, const char *name, in fdtdec_find_aliases_for_id() argument
384 return fdtdec_add_aliases_for_id(blob, name, id, node_list, maxcount); in fdtdec_find_aliases_for_id()
388 int fdtdec_add_aliases_for_id(const void *blob, const char *name, in fdtdec_add_aliases_for_id() argument
401 alias_node = fdt_path_offset(blob, "/aliases"); in fdtdec_add_aliases_for_id()
411 node = fdtdec_next_compatible(blob, node, id); in fdtdec_add_aliases_for_id()
420 for (offset = fdt_first_property_offset(blob, alias_node); in fdtdec_add_aliases_for_id()
422 offset = fdt_next_property_offset(blob, offset)) { in fdtdec_add_aliases_for_id()
429 prop = fdt_get_property_by_offset(blob, offset, NULL); in fdtdec_add_aliases_for_id()
430 path = fdt_string(blob, fdt32_to_cpu(prop->nameoff)); in fdtdec_add_aliases_for_id()
432 node = fdt_path_offset(blob, prop->data); in fdtdec_add_aliases_for_id()
456 fdt_get_name(blob, node, NULL), in fdtdec_add_aliases_for_id()
465 if (fdtdec_get_is_enabled(blob, node)) { in fdtdec_add_aliases_for_id()
471 fdt_get_name(blob, node, NULL)); in fdtdec_add_aliases_for_id()
486 fdtdec_get_is_enabled(blob, nodes[j])) in fdtdec_add_aliases_for_id()
503 int fdtdec_get_alias_seq(const void *blob, const char *base, int offset, in fdtdec_get_alias_seq() argument
512 find_name = fdt_get_name(blob, offset, &find_namelen); in fdtdec_get_alias_seq()
515 aliases = fdt_path_offset(blob, "/aliases"); in fdtdec_get_alias_seq()
516 for (prop_offset = fdt_first_property_offset(blob, aliases); in fdtdec_get_alias_seq()
518 prop_offset = fdt_next_property_offset(blob, prop_offset)) { in fdtdec_get_alias_seq()
524 prop = fdt_getprop_by_offset(blob, prop_offset, &name, &len); in fdtdec_get_alias_seq()
545 int fdtdec_get_alias_highest_id(const void *blob, const char *base) in fdtdec_get_alias_highest_id() argument
554 aliases = fdt_path_offset(blob, "/aliases"); in fdtdec_get_alias_highest_id()
555 for (prop_offset = fdt_first_property_offset(blob, aliases); in fdtdec_get_alias_highest_id()
557 prop_offset = fdt_next_property_offset(blob, prop_offset)) { in fdtdec_get_alias_highest_id()
562 prop = fdt_getprop_by_offset(blob, prop_offset, &name, &len); in fdtdec_get_alias_highest_id()
578 const char *fdtdec_get_chosen_prop(const void *blob, const char *name) in fdtdec_get_chosen_prop() argument
582 if (!blob) in fdtdec_get_chosen_prop()
584 chosen_node = fdt_path_offset(blob, "/chosen"); in fdtdec_get_chosen_prop()
585 return fdt_getprop(blob, chosen_node, name, NULL); in fdtdec_get_chosen_prop()
588 int fdtdec_get_chosen_node(const void *blob, const char *name) in fdtdec_get_chosen_node() argument
592 prop = fdtdec_get_chosen_prop(blob, name); in fdtdec_get_chosen_node()
595 return fdt_path_offset(blob, prop); in fdtdec_get_chosen_node()
636 int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name) in fdtdec_lookup_phandle() argument
642 phandle = fdt_getprop(blob, node, prop_name, NULL); in fdtdec_lookup_phandle()
646 lookup = fdt_node_offset_by_phandle(blob, fdt32_to_cpu(*phandle)); in fdtdec_lookup_phandle()
653 * @param blob FDT blob
661 static const void *get_prop_check_min_len(const void *blob, int node, in get_prop_check_min_len() argument
669 cell = fdt_getprop(blob, node, prop_name, &len); in get_prop_check_min_len()
679 int fdtdec_get_int_array(const void *blob, int node, const char *prop_name, in fdtdec_get_int_array() argument
686 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_get_int_array()
697 int fdtdec_get_int_array_count(const void *blob, int node, in fdtdec_get_int_array_count() argument
705 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_int_array_count()
717 const u32 *fdtdec_locate_array(const void *blob, int node, in fdtdec_locate_array() argument
723 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_locate_array()
728 int fdtdec_get_bool(const void *blob, int node, const char *prop_name) in fdtdec_get_bool() argument
734 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_bool()
738 int fdtdec_parse_phandle_with_args(const void *blob, int src_node, in fdtdec_parse_phandle_with_args() argument
751 list = fdt_getprop(blob, src_node, list_name, &size); in fdtdec_parse_phandle_with_args()
777 node = fdt_node_offset_by_phandle(blob, in fdtdec_parse_phandle_with_args()
781 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
788 count = fdtdec_get_int(blob, node, cells_name, in fdtdec_parse_phandle_with_args()
792 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
795 fdt_get_name(blob, node, in fdtdec_parse_phandle_with_args()
809 fdt_get_name(blob, src_node, NULL)); in fdtdec_parse_phandle_with_args()
830 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
862 int fdtdec_get_child_count(const void *blob, int node) in fdtdec_get_child_count() argument
867 fdt_for_each_subnode(subnode, blob, node) in fdtdec_get_child_count()
873 int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name, in fdtdec_get_byte_array() argument
879 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_get_byte_array()
885 const u8 *fdtdec_locate_byte_array(const void *blob, int node, in fdtdec_locate_byte_array() argument
891 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_locate_byte_array()
897 int fdtdec_get_config_int(const void *blob, const char *prop_name, in fdtdec_get_config_int() argument
903 config_node = fdt_path_offset(blob, "/config"); in fdtdec_get_config_int()
906 return fdtdec_get_int(blob, config_node, prop_name, default_val); in fdtdec_get_config_int()
909 int fdtdec_get_config_bool(const void *blob, const char *prop_name) in fdtdec_get_config_bool() argument
915 config_node = fdt_path_offset(blob, "/config"); in fdtdec_get_config_bool()
918 prop = fdt_get_property(blob, config_node, prop_name, NULL); in fdtdec_get_config_bool()
923 char *fdtdec_get_config_string(const void *blob, const char *prop_name) in fdtdec_get_config_string() argument
930 nodeoffset = fdt_path_offset(blob, "/config"); in fdtdec_get_config_string()
934 nodep = fdt_getprop(blob, nodeoffset, prop_name, &len); in fdtdec_get_config_string()
999 static int decode_timing_property(const void *blob, int node, const char *name, in decode_timing_property() argument
1005 prop = fdt_getprop(blob, node, name, &length); in decode_timing_property()
1008 fdt_get_name(blob, node, NULL), name); in decode_timing_property()
1013 result->typ = fdtdec_get_int(blob, node, name, 0); in decode_timing_property()
1017 ret = fdtdec_get_int_array(blob, node, name, &result->min, 3); in decode_timing_property()
1023 int fdtdec_decode_display_timing(const void *blob, int parent, int index, in fdtdec_decode_display_timing() argument
1030 timings_node = fdt_subnode_offset(blob, parent, "display-timings"); in fdtdec_decode_display_timing()
1034 for (i = 0, node = fdt_first_subnode(blob, timings_node); in fdtdec_decode_display_timing()
1036 node = fdt_next_subnode(blob, node)) in fdtdec_decode_display_timing()
1044 ret |= decode_timing_property(blob, node, "hback-porch", in fdtdec_decode_display_timing()
1046 ret |= decode_timing_property(blob, node, "hfront-porch", in fdtdec_decode_display_timing()
1048 ret |= decode_timing_property(blob, node, "hactive", &dt->hactive); in fdtdec_decode_display_timing()
1049 ret |= decode_timing_property(blob, node, "hsync-len", &dt->hsync_len); in fdtdec_decode_display_timing()
1050 ret |= decode_timing_property(blob, node, "vback-porch", in fdtdec_decode_display_timing()
1052 ret |= decode_timing_property(blob, node, "vfront-porch", in fdtdec_decode_display_timing()
1054 ret |= decode_timing_property(blob, node, "vactive", &dt->vactive); in fdtdec_decode_display_timing()
1055 ret |= decode_timing_property(blob, node, "vsync-len", &dt->vsync_len); in fdtdec_decode_display_timing()
1056 ret |= decode_timing_property(blob, node, "clock-frequency", in fdtdec_decode_display_timing()
1060 val = fdtdec_get_int(blob, node, "vsync-active", -1); in fdtdec_decode_display_timing()
1065 val = fdtdec_get_int(blob, node, "hsync-active", -1); in fdtdec_decode_display_timing()
1070 val = fdtdec_get_int(blob, node, "de-active", -1); in fdtdec_decode_display_timing()
1075 val = fdtdec_get_int(blob, node, "pixelclk-active", -1); in fdtdec_decode_display_timing()
1081 if (fdtdec_get_bool(blob, node, "interlaced")) in fdtdec_decode_display_timing()
1083 if (fdtdec_get_bool(blob, node, "doublescan")) in fdtdec_decode_display_timing()
1085 if (fdtdec_get_bool(blob, node, "doubleclk")) in fdtdec_decode_display_timing()
1118 static int get_next_memory_node(const void *blob, int mem) in get_next_memory_node() argument
1123 } while (!fdtdec_get_is_enabled(blob, mem)); in get_next_memory_node()
1206 /* not a valid compressed blob */ in uncompress_blob()
1281 * Try and uncompress the blob. in fdtdec_setup()
1282 * Unfortunately there is no way to know how big the input blob really in fdtdec_setup()
1290 * Check if blob is a FIT images containings DTBs. in fdtdec_setup()
1334 * If multi_dtb_fit is NULL, it means that blob appended to u-boot is in fdtdec_resetup()
1344 int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id, in fdtdec_decode_ram_size() argument
1358 node = fdt_path_offset(blob, area); in fdtdec_decode_ram_size()
1364 cell = fdt_getprop(blob, node, "reg", &len); in fdtdec_decode_ram_size()
1370 addr_cells = fdt_address_cells(blob, node); in fdtdec_decode_ram_size()
1371 size_cells = fdt_size_cells(blob, node); in fdtdec_decode_ram_size()
1374 for (child = fdt_first_subnode(blob, node); in fdtdec_decode_ram_size()
1376 child = fdt_next_subnode(blob, child)) { in fdtdec_decode_ram_size()
1379 match_mask = fdtdec_get_int(blob, child, "match-mask", -1); in fdtdec_decode_ram_size()
1380 match_value = fdtdec_get_int(blob, child, "match-value", -1); in fdtdec_decode_ram_size()
1387 cell = fdt_getprop(blob, node, "reg", &len); in fdtdec_decode_ram_size()
1402 auto_size = fdtdec_get_bool(blob, node, "auto-size"); in fdtdec_decode_ram_size()