Lines Matching refs:node
125 fdt_addr_t fdtdec_get_addr_size_fixed(const void *blob, int node, in fdtdec_get_addr_size_fixed() argument
137 prop = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_addr_size_fixed()
155 addr = fdt_translate_address(blob, node, prop_addr); in fdtdec_get_addr_size_fixed()
172 int node, const char *prop_name, in fdtdec_get_addr_size_auto_parent() argument
194 return fdtdec_get_addr_size_fixed(blob, node, prop_name, index, na, in fdtdec_get_addr_size_auto_parent()
198 fdt_addr_t fdtdec_get_addr_size_auto_noparent(const void *blob, int node, in fdtdec_get_addr_size_auto_noparent() argument
207 parent = fdt_parent_offset(blob, node); in fdtdec_get_addr_size_auto_noparent()
213 return fdtdec_get_addr_size_auto_parent(blob, parent, node, prop_name, in fdtdec_get_addr_size_auto_noparent()
217 fdt_addr_t fdtdec_get_addr_size(const void *blob, int node, in fdtdec_get_addr_size() argument
222 return fdtdec_get_addr_size_fixed(blob, node, prop_name, 0, in fdtdec_get_addr_size()
227 fdt_addr_t fdtdec_get_addr(const void *blob, int node, const char *prop_name) in fdtdec_get_addr() argument
229 return fdtdec_get_addr_size(blob, node, prop_name, NULL); in fdtdec_get_addr()
232 int fdtdec_get_pci_vendev(const void *blob, int node, u16 *vendor, u16 *device) in fdtdec_get_pci_vendev() argument
237 list = fdt_getprop(blob, node, "compatible", &len); in fdtdec_get_pci_vendev()
285 int fdtdec_get_pci_bus_range(const void *blob, int node, in fdtdec_get_pci_bus_range() argument
291 values = fdt_getprop(blob, node, "bus-range", &len); in fdtdec_get_pci_bus_range()
301 uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name, in fdtdec_get_uint64() argument
307 cell64 = fdt_getprop(blob, node, prop_name, &length); in fdtdec_get_uint64()
314 int fdtdec_get_is_enabled(const void *blob, int node) in fdtdec_get_is_enabled() argument
325 cell = fdt_getprop(blob, node, "status", NULL); in fdtdec_get_is_enabled()
331 enum fdt_compat_id fdtdec_lookup(const void *blob, int node) in fdtdec_lookup() argument
337 if (fdt_node_check_compatible(blob, node, in fdtdec_lookup()
343 int fdtdec_next_compatible(const void *blob, int node, enum fdt_compat_id id) in fdtdec_next_compatible() argument
345 return fdt_node_offset_by_compatible(blob, node, compat_names[id]); in fdtdec_next_compatible()
348 int fdtdec_next_compatible_subnode(const void *blob, int node, in fdtdec_next_compatible_subnode() argument
352 node = fdt_next_node(blob, node, depthp); in fdtdec_next_compatible_subnode()
357 blob, node, compat_names[id])) in fdtdec_next_compatible_subnode()
358 return node; in fdtdec_next_compatible_subnode()
368 int node, err; in fdtdec_next_alias() local
373 node = fdt_path_offset(blob, str); in fdtdec_next_alias()
374 if (node < 0) in fdtdec_next_alias()
375 return node; in fdtdec_next_alias()
376 err = fdt_node_check_compatible(blob, node, compat_names[id]); in fdtdec_next_alias()
382 return node; in fdtdec_next_alias()
402 int offset, node; in fdtdec_add_aliases_for_id() local
417 for (node = count = 0; node >= 0 && count < maxcount;) { in fdtdec_add_aliases_for_id()
418 node = fdtdec_next_compatible(blob, node, id); in fdtdec_add_aliases_for_id()
419 if (node >= 0) in fdtdec_add_aliases_for_id()
420 nodes[count++] = node; in fdtdec_add_aliases_for_id()
422 if (node >= 0) in fdtdec_add_aliases_for_id()
435 node = 0; in fdtdec_add_aliases_for_id()
439 node = fdt_path_offset(blob, prop->data); in fdtdec_add_aliases_for_id()
440 if (node <= 0) in fdtdec_add_aliases_for_id()
454 if (nodes[j] == node) { in fdtdec_add_aliases_for_id()
463 fdt_get_name(blob, node, NULL), in fdtdec_add_aliases_for_id()
472 if (fdtdec_get_is_enabled(blob, node)) { in fdtdec_add_aliases_for_id()
478 fdt_get_name(blob, node, NULL)); in fdtdec_add_aliases_for_id()
481 node_list[number] = node; in fdtdec_add_aliases_for_id()
656 int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name) in fdtdec_lookup_phandle() argument
662 phandle = fdt_getprop(blob, node, prop_name, NULL); in fdtdec_lookup_phandle()
681 static const void *get_prop_check_min_len(const void *blob, int node, in get_prop_check_min_len() argument
689 cell = fdt_getprop(blob, node, prop_name, &len); in get_prop_check_min_len()
699 int fdtdec_get_int_array(const void *blob, int node, const char *prop_name, in fdtdec_get_int_array() argument
706 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_get_int_array()
717 int fdtdec_get_int_array_count(const void *blob, int node, in fdtdec_get_int_array_count() argument
725 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_int_array_count()
737 const u32 *fdtdec_locate_array(const void *blob, int node, in fdtdec_locate_array() argument
743 cell = get_prop_check_min_len(blob, node, prop_name, in fdtdec_locate_array()
748 int fdtdec_get_bool(const void *blob, int node, const char *prop_name) in fdtdec_get_bool() argument
754 cell = fdt_getprop(blob, node, prop_name, &len); in fdtdec_get_bool()
767 int node = -1; in fdtdec_parse_phandle_with_args() local
797 node = fdt_node_offset_by_phandle(blob, in fdtdec_parse_phandle_with_args()
799 if (node < 0) { in fdtdec_parse_phandle_with_args()
808 count = fdtdec_get_int(blob, node, cells_name, in fdtdec_parse_phandle_with_args()
815 fdt_get_name(blob, node, in fdtdec_parse_phandle_with_args()
854 out_args->node = node; in fdtdec_parse_phandle_with_args()
866 node = -1; in fdtdec_parse_phandle_with_args()
882 int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name, in fdtdec_get_byte_array() argument
888 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_get_byte_array()
894 const u8 *fdtdec_locate_byte_array(const void *blob, int node, in fdtdec_locate_byte_array() argument
900 cell = get_prop_check_min_len(blob, node, prop_name, count, &err); in fdtdec_locate_byte_array()
916 int fdt_get_resource(const void *fdt, int node, const char *property, in fdt_get_resource() argument
923 parent = fdt_parent_offset(fdt, node); in fdt_get_resource()
930 ptr = fdt_getprop(fdt, node, property, &len); in fdt_get_resource()
939 res->start = fdt_translate_address(fdt, node, ptr); in fdt_get_resource()
955 int fdt_get_named_resource(const void *fdt, int node, const char *property, in fdt_get_named_resource() argument
961 index = fdt_stringlist_search(fdt, node, prop_names, name); in fdt_get_named_resource()
965 return fdt_get_resource(fdt, node, property, index, res); in fdt_get_named_resource()
968 static int decode_timing_property(const void *blob, int node, const char *name, in decode_timing_property() argument
974 prop = fdt_getprop(blob, node, name, &length); in decode_timing_property()
977 fdt_get_name(blob, node, NULL), name); in decode_timing_property()
982 result->typ = fdtdec_get_int(blob, node, name, 0); in decode_timing_property()
986 ret = fdtdec_get_int_array(blob, node, name, &result->min, 3); in decode_timing_property()
995 int i, node, timings_node; in fdtdec_decode_display_timing() local
1003 for (i = 0, node = fdt_first_subnode(blob, timings_node); in fdtdec_decode_display_timing()
1004 node > 0 && i != index; in fdtdec_decode_display_timing()
1005 node = fdt_next_subnode(blob, node)) in fdtdec_decode_display_timing()
1008 if (node < 0) in fdtdec_decode_display_timing()
1009 return node; in fdtdec_decode_display_timing()
1013 ret |= decode_timing_property(blob, node, "hback-porch", in fdtdec_decode_display_timing()
1015 ret |= decode_timing_property(blob, node, "hfront-porch", in fdtdec_decode_display_timing()
1017 ret |= decode_timing_property(blob, node, "hactive", &dt->hactive); in fdtdec_decode_display_timing()
1018 ret |= decode_timing_property(blob, node, "hsync-len", &dt->hsync_len); in fdtdec_decode_display_timing()
1019 ret |= decode_timing_property(blob, node, "vback-porch", in fdtdec_decode_display_timing()
1021 ret |= decode_timing_property(blob, node, "vfront-porch", in fdtdec_decode_display_timing()
1023 ret |= decode_timing_property(blob, node, "vactive", &dt->vactive); in fdtdec_decode_display_timing()
1024 ret |= decode_timing_property(blob, node, "vsync-len", &dt->vsync_len); in fdtdec_decode_display_timing()
1025 ret |= decode_timing_property(blob, node, "clock-frequency", in fdtdec_decode_display_timing()
1029 val = fdtdec_get_int(blob, node, "vsync-active", -1); in fdtdec_decode_display_timing()
1034 val = fdtdec_get_int(blob, node, "hsync-active", -1); in fdtdec_decode_display_timing()
1039 val = fdtdec_get_int(blob, node, "de-active", -1); in fdtdec_decode_display_timing()
1044 val = fdtdec_get_int(blob, node, "pixelclk-active", -1); in fdtdec_decode_display_timing()
1050 if (fdtdec_get_bool(blob, node, "interlaced")) in fdtdec_decode_display_timing()
1052 if (fdtdec_get_bool(blob, node, "doublescan")) in fdtdec_decode_display_timing()
1054 if (fdtdec_get_bool(blob, node, "doubleclk")) in fdtdec_decode_display_timing()
1318 int na, ns, node, err; in fdtdec_init_reserved_memory() local
1325 node = fdt_add_subnode(blob, 0, "reserved-memory"); in fdtdec_init_reserved_memory()
1326 if (node < 0) in fdtdec_init_reserved_memory()
1327 return node; in fdtdec_init_reserved_memory()
1329 err = fdt_setprop(blob, node, "ranges", NULL, 0); in fdtdec_init_reserved_memory()
1335 err = fdt_setprop(blob, node, "#size-cells", &value, sizeof(value)); in fdtdec_init_reserved_memory()
1341 err = fdt_setprop(blob, node, "#address-cells", &value, sizeof(value)); in fdtdec_init_reserved_memory()
1345 return node; in fdtdec_init_reserved_memory()
1355 int parent, node, na, ns, err; in fdtdec_add_reserved_memory() local
1377 fdt_for_each_subnode(node, blob, parent) { in fdtdec_add_reserved_memory()
1378 const char *name = fdt_get_name(blob, node, NULL); in fdtdec_add_reserved_memory()
1382 addr = fdtdec_get_addr_size_fixed(blob, node, "reg", 0, na, ns, in fdtdec_add_reserved_memory()
1392 *phandlep = fdt_get_phandle(blob, node); in fdtdec_add_reserved_memory()
1417 node = fdt_add_subnode(blob, parent, name); in fdtdec_add_reserved_memory()
1418 if (node < 0) in fdtdec_add_reserved_memory()
1419 return node; in fdtdec_add_reserved_memory()
1422 err = fdt_setprop(blob, node, "no-map", NULL, 0); in fdtdec_add_reserved_memory()
1432 err = fdtdec_set_phandle(blob, node, phandle); in fdtdec_add_reserved_memory()
1453 err = fdt_setprop(blob, node, "reg", cells, (na + ns) * sizeof(*cells)); in fdtdec_add_reserved_memory()
1473 err = fdt_setprop(blob, node, "compatible", buffer, length); in fdtdec_add_reserved_memory()
1486 int fdtdec_get_carveout(const void *blob, const char *node, in fdtdec_get_carveout() argument
1497 offset = fdt_path_offset(blob, node); in fdtdec_get_carveout()
1503 debug("failed to get %s for %s\n", prop_name, node); in fdtdec_get_carveout()
1587 int fdtdec_set_carveout(void *blob, const char *node, const char *prop_name, in fdtdec_set_carveout() argument
1604 offset = fdt_path_offset(blob, node); in fdtdec_set_carveout()
1606 debug("failed to find offset for node %s: %d\n", node, offset); in fdtdec_set_carveout()
1636 prop_name, node, fdt_strerror(err)); in fdtdec_set_carveout()
1810 int node, child; in fdtdec_decode_ram_size() local
1818 node = fdt_path_offset(blob, area); in fdtdec_decode_ram_size()
1819 if (node < 0) { in fdtdec_decode_ram_size()
1824 cell = fdt_getprop(blob, node, "reg", &len); in fdtdec_decode_ram_size()
1830 addr_cells = fdt_address_cells(blob, node); in fdtdec_decode_ram_size()
1831 size_cells = fdt_size_cells(blob, node); in fdtdec_decode_ram_size()
1834 for (child = fdt_first_subnode(blob, node); in fdtdec_decode_ram_size()
1846 node = child; in fdtdec_decode_ram_size()
1847 cell = fdt_getprop(blob, node, "reg", &len); in fdtdec_decode_ram_size()
1862 auto_size = fdtdec_get_bool(blob, node, "auto-size"); in fdtdec_decode_ram_size()