Lines Matching refs:blob
84 fdt_addr_t fdtdec_get_addr_size_fixed(const void *blob, int node, in fdtdec_get_addr_size_fixed() argument
95 prop = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_addr_size_fixed()
113 addr = fdt_translate_address(blob, node, prop_addr); in fdtdec_get_addr_size_fixed()
129 fdt_addr_t fdtdec_get_addr_size_auto_parent(const void *blob, int parent, in fdtdec_get_addr_size_auto_parent() argument
137 na = fdt_address_cells(blob, parent); in fdtdec_get_addr_size_auto_parent()
143 ns = fdt_size_cells(blob, parent); in fdtdec_get_addr_size_auto_parent()
151 return fdtdec_get_addr_size_fixed(blob, node, prop_name, index, na, in fdtdec_get_addr_size_auto_parent()
155 fdt_addr_t fdtdec_get_addr_size_auto_noparent(const void *blob, int node, in fdtdec_get_addr_size_auto_noparent() argument
163 parent = fdt_parent_offset(blob, node); in fdtdec_get_addr_size_auto_noparent()
169 return fdtdec_get_addr_size_auto_parent(blob, parent, node, prop_name, in fdtdec_get_addr_size_auto_noparent()
173 fdt_addr_t fdtdec_get_addr_size(const void *blob, int node, in fdtdec_get_addr_size() argument
178 return fdtdec_get_addr_size_auto_noparent(blob, node, prop_name, in fdtdec_get_addr_size()
183 return fdtdec_get_addr_size_fixed(blob, node, prop_name, 0, in fdtdec_get_addr_size()
189 fdt_addr_t fdtdec_get_addr(const void *blob, int node, in fdtdec_get_addr() argument
192 return fdtdec_get_addr_size(blob, node, prop_name, NULL); in fdtdec_get_addr()
196 int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type, in fdtdec_get_pci_addr() argument
211 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_pci_addr()
250 int fdtdec_get_pci_vendev(const void *blob, int node, u16 *vendor, u16 *device) in fdtdec_get_pci_vendev() argument
255 list = fdt_getprop(blob, node, "compatible", &len); in fdtdec_get_pci_vendev()
305 uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name, in fdtdec_get_uint64() argument
311 cell64 = fdt_getprop(blob, node, prop_name, &length); in fdtdec_get_uint64()
318 int fdtdec_get_is_enabled(const void *blob, int node) in fdtdec_get_is_enabled() argument
329 cell = fdt_getprop(blob, node, "status", NULL); in fdtdec_get_is_enabled()
335 enum fdt_compat_id fdtdec_lookup(const void *blob, int node) in fdtdec_lookup() argument
341 if (0 == fdt_node_check_compatible(blob, node, in fdtdec_lookup()
347 int fdtdec_next_compatible(const void *blob, int node, in fdtdec_next_compatible() argument
350 return fdt_node_offset_by_compatible(blob, node, compat_names[id]); in fdtdec_next_compatible()
353 int fdtdec_next_compatible_subnode(const void *blob, int node, in fdtdec_next_compatible_subnode() argument
357 node = fdt_next_node(blob, node, depthp); in fdtdec_next_compatible_subnode()
362 blob, node, compat_names[id])) in fdtdec_next_compatible_subnode()
368 int fdtdec_next_alias(const void *blob, const char *name, in fdtdec_next_alias() argument
378 node = fdt_path_offset(blob, str); in fdtdec_next_alias()
381 err = fdt_node_check_compatible(blob, node, compat_names[id]); in fdtdec_next_alias()
390 int fdtdec_find_aliases_for_id(const void *blob, const char *name, in fdtdec_find_aliases_for_id() argument
395 return fdtdec_add_aliases_for_id(blob, name, id, node_list, maxcount); in fdtdec_find_aliases_for_id()
399 int fdtdec_add_aliases_for_id(const void *blob, const char *name, in fdtdec_add_aliases_for_id() argument
411 alias_node = fdt_path_offset(blob, "/aliases"); in fdtdec_add_aliases_for_id()
421 node = fdtdec_next_compatible(blob, node, id); in fdtdec_add_aliases_for_id()
430 for (offset = fdt_first_property_offset(blob, alias_node); in fdtdec_add_aliases_for_id()
432 offset = fdt_next_property_offset(blob, offset)) { in fdtdec_add_aliases_for_id()
439 prop = fdt_get_property_by_offset(blob, offset, NULL); in fdtdec_add_aliases_for_id()
440 path = fdt_string(blob, fdt32_to_cpu(prop->nameoff)); in fdtdec_add_aliases_for_id()
442 node = fdt_path_offset(blob, prop->data); in fdtdec_add_aliases_for_id()
466 fdt_get_name(blob, node, NULL), in fdtdec_add_aliases_for_id()
475 if (fdtdec_get_is_enabled(blob, node)) { in fdtdec_add_aliases_for_id()
481 fdt_get_name(blob, node, NULL)); in fdtdec_add_aliases_for_id()
496 fdtdec_get_is_enabled(blob, nodes[j])) in fdtdec_add_aliases_for_id()
513 int fdtdec_get_alias_seq(const void *blob, const char *base, int offset, in fdtdec_get_alias_seq() argument
522 find_name = fdt_get_name(blob, offset, &find_namelen); in fdtdec_get_alias_seq()
525 aliases = fdt_path_offset(blob, "/aliases"); in fdtdec_get_alias_seq()
526 for (prop_offset = fdt_first_property_offset(blob, aliases); in fdtdec_get_alias_seq()
528 prop_offset = fdt_next_property_offset(blob, prop_offset)) { in fdtdec_get_alias_seq()
534 prop = fdt_getprop_by_offset(blob, prop_offset, &name, &len); in fdtdec_get_alias_seq()
555 const char *fdtdec_get_chosen_prop(const void *blob, const char *name) in fdtdec_get_chosen_prop() argument
559 if (!blob) in fdtdec_get_chosen_prop()
561 chosen_node = fdt_path_offset(blob, "/chosen"); in fdtdec_get_chosen_prop()
562 return fdt_getprop(blob, chosen_node, name, NULL); in fdtdec_get_chosen_prop()
565 int fdtdec_get_chosen_node(const void *blob, const char *name) in fdtdec_get_chosen_node() argument
569 prop = fdtdec_get_chosen_prop(blob, name); in fdtdec_get_chosen_node()
572 return fdt_path_offset(blob, prop); in fdtdec_get_chosen_node()
613 int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name) in fdtdec_lookup_phandle() argument
619 phandle = fdt_getprop(blob, node, prop_name, NULL); in fdtdec_lookup_phandle()
623 lookup = fdt_node_offset_by_phandle(blob, fdt32_to_cpu(*phandle)); in fdtdec_lookup_phandle()
638 static const void *get_prop_check_min_len(const void *blob, int node, in get_prop_check_min_len() argument
645 cell = fdt_getprop(blob, node, prop_name, &len); in get_prop_check_min_len()
655 int fdtdec_get_int_array(const void *blob, int node, const char *prop_name, in fdtdec_get_int_array() argument
662 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_get_int_array()
671 int fdtdec_get_int_array_count(const void *blob, int node, in fdtdec_get_int_array_count() argument
679 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_int_array_count()
691 const u32 *fdtdec_locate_array(const void *blob, int node, in fdtdec_locate_array() argument
697 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_locate_array()
702 int fdtdec_get_bool(const void *blob, int node, const char *prop_name) in fdtdec_get_bool() argument
708 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_bool()
712 int fdtdec_parse_phandle_with_args(const void *blob, int src_node, in fdtdec_parse_phandle_with_args() argument
725 list = fdt_getprop(blob, src_node, list_name, &size); in fdtdec_parse_phandle_with_args()
751 node = fdt_node_offset_by_phandle(blob, in fdtdec_parse_phandle_with_args()
755 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
762 count = fdtdec_get_int(blob, node, cells_name, in fdtdec_parse_phandle_with_args()
766 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
769 fdt_get_name(blob, node, in fdtdec_parse_phandle_with_args()
783 fdt_get_name(blob, src_node, NULL)); in fdtdec_parse_phandle_with_args()
804 fdt_get_name(blob, src_node, in fdtdec_parse_phandle_with_args()
836 int fdtdec_get_child_count(const void *blob, int node) in fdtdec_get_child_count() argument
841 fdt_for_each_subnode(subnode, blob, node) in fdtdec_get_child_count()
847 int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name, in fdtdec_get_byte_array() argument
853 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_get_byte_array()
859 const u8 *fdtdec_locate_byte_array(const void *blob, int node, in fdtdec_locate_byte_array() argument
865 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_locate_byte_array()
871 int fdtdec_get_config_int(const void *blob, const char *prop_name, in fdtdec_get_config_int() argument
877 config_node = fdt_path_offset(blob, "/config"); in fdtdec_get_config_int()
880 return fdtdec_get_int(blob, config_node, prop_name, default_val); in fdtdec_get_config_int()
883 int fdtdec_get_config_bool(const void *blob, const char *prop_name) in fdtdec_get_config_bool() argument
889 config_node = fdt_path_offset(blob, "/config"); in fdtdec_get_config_bool()
892 prop = fdt_get_property(blob, config_node, prop_name, NULL); in fdtdec_get_config_bool()
897 char *fdtdec_get_config_string(const void *blob, const char *prop_name) in fdtdec_get_config_string() argument
904 nodeoffset = fdt_path_offset(blob, "/config"); in fdtdec_get_config_string()
908 nodep = fdt_getprop(blob, nodeoffset, prop_name, &len); in fdtdec_get_config_string()
915 int fdtdec_decode_region(const void *blob, int node, const char *prop_name, in fdtdec_decode_region() argument
921 debug("%s: %s: %s\n", __func__, fdt_get_name(blob, node, NULL), in fdtdec_decode_region()
923 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_decode_region()
999 int fdtdec_decode_memory_region(const void *blob, int config_node, in fdtdec_decode_memory_region() argument
1010 config_node = fdt_path_offset(blob, "/config"); in fdtdec_decode_memory_region()
1021 mem = fdt_getprop(blob, config_node, prop_name, NULL); in fdtdec_decode_memory_region()
1028 node = fdt_path_offset(blob, mem); in fdtdec_decode_memory_region()
1039 if (fdtdec_decode_region(blob, node, "reg", &base, &size)) { in fdtdec_decode_memory_region()
1047 if (fdtdec_decode_region(blob, config_node, prop_name, &offset, in fdtdec_decode_memory_region()
1060 static int decode_timing_property(const void *blob, int node, const char *name, in decode_timing_property() argument
1066 prop = fdt_getprop(blob, node, name, &length); in decode_timing_property()
1069 fdt_get_name(blob, node, NULL), name); in decode_timing_property()
1074 result->typ = fdtdec_get_int(blob, node, name, 0); in decode_timing_property()
1078 ret = fdtdec_get_int_array(blob, node, name, &result->min, 3); in decode_timing_property()
1084 int fdtdec_decode_display_timing(const void *blob, int parent, int index, in fdtdec_decode_display_timing() argument
1091 timings_node = fdt_subnode_offset(blob, parent, "display-timings"); in fdtdec_decode_display_timing()
1095 for (i = 0, node = fdt_first_subnode(blob, timings_node); in fdtdec_decode_display_timing()
1097 node = fdt_next_subnode(blob, node)) in fdtdec_decode_display_timing()
1105 ret |= decode_timing_property(blob, node, "hback-porch", in fdtdec_decode_display_timing()
1107 ret |= decode_timing_property(blob, node, "hfront-porch", in fdtdec_decode_display_timing()
1109 ret |= decode_timing_property(blob, node, "hactive", &dt->hactive); in fdtdec_decode_display_timing()
1110 ret |= decode_timing_property(blob, node, "hsync-len", &dt->hsync_len); in fdtdec_decode_display_timing()
1111 ret |= decode_timing_property(blob, node, "vback-porch", in fdtdec_decode_display_timing()
1113 ret |= decode_timing_property(blob, node, "vfront-porch", in fdtdec_decode_display_timing()
1115 ret |= decode_timing_property(blob, node, "vactive", &dt->vactive); in fdtdec_decode_display_timing()
1116 ret |= decode_timing_property(blob, node, "vsync-len", &dt->vsync_len); in fdtdec_decode_display_timing()
1117 ret |= decode_timing_property(blob, node, "clock-frequency", in fdtdec_decode_display_timing()
1121 val = fdtdec_get_int(blob, node, "vsync-active", -1); in fdtdec_decode_display_timing()
1126 val = fdtdec_get_int(blob, node, "hsync-active", -1); in fdtdec_decode_display_timing()
1131 val = fdtdec_get_int(blob, node, "de-active", -1); in fdtdec_decode_display_timing()
1136 val = fdtdec_get_int(blob, node, "pixelclk-active", -1); in fdtdec_decode_display_timing()
1142 if (fdtdec_get_bool(blob, node, "interlaced")) in fdtdec_decode_display_timing()
1144 if (fdtdec_get_bool(blob, node, "doublescan")) in fdtdec_decode_display_timing()
1146 if (fdtdec_get_bool(blob, node, "doubleclk")) in fdtdec_decode_display_timing()