Lines Matching full:node
19 int ofnode_read_u32(ofnode node, const char *propname, u32 *outp) in ofnode_read_u32() argument
21 assert(ofnode_valid(node)); in ofnode_read_u32()
24 if (ofnode_is_np(node)) { in ofnode_read_u32()
25 return of_read_u32(ofnode_to_np(node), propname, outp); in ofnode_read_u32()
30 cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_u32()
43 int ofnode_read_u32_default(ofnode node, const char *propname, u32 def) in ofnode_read_u32_default() argument
45 assert(ofnode_valid(node)); in ofnode_read_u32_default()
46 ofnode_read_u32(node, propname, &def); in ofnode_read_u32_default()
51 int ofnode_read_s32_default(ofnode node, const char *propname, s32 def) in ofnode_read_s32_default() argument
53 assert(ofnode_valid(node)); in ofnode_read_s32_default()
54 ofnode_read_u32(node, propname, (u32 *)&def); in ofnode_read_s32_default()
59 int ofnode_read_u64(ofnode node, const char *propname, u64 *outp) in ofnode_read_u64() argument
61 assert(ofnode_valid(node)); in ofnode_read_u64()
64 if (ofnode_is_np(node)) { in ofnode_read_u64()
65 return of_property_read_u64(ofnode_to_np(node), propname, outp); in ofnode_read_u64()
74 bool ofnode_read_bool(ofnode node, const char *propname) in ofnode_read_bool() argument
78 assert(ofnode_valid(node)); in ofnode_read_bool()
81 prop = ofnode_get_property(node, propname, NULL); in ofnode_read_bool()
88 const char *ofnode_read_string(ofnode node, const char *propname) in ofnode_read_string() argument
93 assert(ofnode_valid(node)); in ofnode_read_string()
96 if (ofnode_is_np(node)) { in ofnode_read_string()
98 ofnode_to_np(node), propname, NULL); in ofnode_read_string()
105 str = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_string()
121 ofnode ofnode_find_subnode(ofnode node, const char *subnode_name) in ofnode_find_subnode() argument
125 assert(ofnode_valid(node)); in ofnode_find_subnode()
128 if (ofnode_is_np(node)) { in ofnode_find_subnode()
129 const struct device_node *np = ofnode_to_np(node); in ofnode_find_subnode()
138 ofnode_to_offset(node), subnode_name); in ofnode_find_subnode()
147 int ofnode_read_u32_array(ofnode node, const char *propname, in ofnode_read_u32_array() argument
150 assert(ofnode_valid(node)); in ofnode_read_u32_array()
153 if (ofnode_is_np(node)) { in ofnode_read_u32_array()
154 return of_read_u32_array(ofnode_to_np(node), propname, in ofnode_read_u32_array()
158 ofnode_to_offset(node), propname, in ofnode_read_u32_array()
163 int ofnode_write_u32_array(ofnode node, const char *propname, in ofnode_write_u32_array() argument
166 assert(ofnode_valid(node)); in ofnode_write_u32_array()
169 if (ofnode_is_np(node)) { in ofnode_write_u32_array()
170 return of_write_u32_array(ofnode_to_np(node), propname, in ofnode_write_u32_array()
173 return fdt_setprop((void *)gd->fdt_blob, ofnode_to_offset(node), in ofnode_write_u32_array()
178 ofnode ofnode_first_subnode(ofnode node) in ofnode_first_subnode() argument
180 assert(ofnode_valid(node)); in ofnode_first_subnode()
181 if (ofnode_is_np(node)) in ofnode_first_subnode()
182 return np_to_ofnode(node.np->child); in ofnode_first_subnode()
185 fdt_first_subnode(gd->fdt_blob, ofnode_to_offset(node))); in ofnode_first_subnode()
188 ofnode ofnode_next_subnode(ofnode node) in ofnode_next_subnode() argument
190 assert(ofnode_valid(node)); in ofnode_next_subnode()
191 if (ofnode_is_np(node)) in ofnode_next_subnode()
192 return np_to_ofnode(node.np->sibling); in ofnode_next_subnode()
195 fdt_next_subnode(gd->fdt_blob, ofnode_to_offset(node))); in ofnode_next_subnode()
198 ofnode ofnode_get_parent(ofnode node) in ofnode_get_parent() argument
202 assert(ofnode_valid(node)); in ofnode_get_parent()
203 if (ofnode_is_np(node)) in ofnode_get_parent()
204 parent = np_to_ofnode(of_get_parent(ofnode_to_np(node))); in ofnode_get_parent()
207 ofnode_to_offset(node)); in ofnode_get_parent()
212 const char *ofnode_get_name(ofnode node) in ofnode_get_name() argument
214 if(!ofnode_valid(node)){ in ofnode_get_name()
215 debug("%s node not valid\n", __func__); in ofnode_get_name()
218 if (ofnode_is_np(node)) in ofnode_get_name()
219 return strrchr(node.np->full_name, '/') + 1; in ofnode_get_name()
221 return fdt_get_name(gd->fdt_blob, ofnode_to_offset(node), NULL); in ofnode_get_name()
226 ofnode node; in ofnode_get_by_phandle() local
229 node = np_to_ofnode(of_find_node_by_phandle(phandle)); in ofnode_get_by_phandle()
231 node.of_offset = fdt_node_offset_by_phandle(gd->fdt_blob, in ofnode_get_by_phandle()
234 return node; in ofnode_get_by_phandle()
237 int ofnode_read_size(ofnode node, const char *propname) in ofnode_read_size() argument
241 if (ofnode_is_np(node)) { in ofnode_read_size()
243 ofnode_to_np(node), propname, NULL); in ofnode_read_size()
248 if (fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, in ofnode_read_size()
256 fdt_addr_t ofnode_get_addr_index(ofnode node, int index) in ofnode_get_addr_index() argument
258 if (ofnode_is_np(node)) { in ofnode_get_addr_index()
264 prop_val = of_get_address(ofnode_to_np(node), index, &size, in ofnode_get_addr_index()
268 na = of_n_addr_cells(ofnode_to_np(node)); in ofnode_get_addr_index()
272 ofnode_to_offset(node)); in ofnode_get_addr_index()
278 fdt_addr_t ofnode_get_addr(ofnode node) in ofnode_get_addr() argument
280 return ofnode_get_addr_index(node, 0); in ofnode_get_addr()
283 int ofnode_stringlist_search(ofnode node, const char *property, in ofnode_stringlist_search() argument
286 if (ofnode_is_np(node)) { in ofnode_stringlist_search()
287 return of_property_match_string(ofnode_to_np(node), in ofnode_stringlist_search()
293 ofnode_to_offset(node), property, in ofnode_stringlist_search()
304 int ofnode_read_string_index(ofnode node, const char *property, int index, in ofnode_read_string_index() argument
307 if (ofnode_is_np(node)) { in ofnode_read_string_index()
308 return of_property_read_string_index(ofnode_to_np(node), in ofnode_read_string_index()
313 *outp = fdt_stringlist_get(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_string_index()
321 int ofnode_read_string_count(ofnode node, const char *property) in ofnode_read_string_count() argument
323 if (ofnode_is_np(node)) { in ofnode_read_string_count()
324 return of_property_count_strings(ofnode_to_np(node), property); in ofnode_read_string_count()
327 ofnode_to_offset(node), property); in ofnode_read_string_count()
335 out->node = offset_to_ofnode(in->node); in ofnode_from_fdtdec_phandle_args()
344 out->node = np_to_ofnode(in->np); in ofnode_from_of_phandle_args()
349 int ofnode_parse_phandle_with_args(ofnode node, const char *list_name, in ofnode_parse_phandle_with_args() argument
354 if (ofnode_is_np(node)) { in ofnode_parse_phandle_with_args()
358 ret = of_parse_phandle_with_args(ofnode_to_np(node), in ofnode_parse_phandle_with_args()
368 ofnode_to_offset(node), list_name, cells_name, in ofnode_parse_phandle_with_args()
378 int ofnode_count_phandle_with_args(ofnode node, const char *list_name, in ofnode_count_phandle_with_args() argument
381 if (ofnode_is_np(node)) in ofnode_count_phandle_with_args()
382 return of_count_phandle_with_args(ofnode_to_np(node), in ofnode_count_phandle_with_args()
386 ofnode_to_offset(node), list_name, cells_name, in ofnode_count_phandle_with_args()
418 static int decode_timing_property(ofnode node, const char *name, in decode_timing_property() argument
423 length = ofnode_read_size(node, name); in decode_timing_property()
426 ofnode_get_name(node), name); in decode_timing_property()
431 result->typ = ofnode_read_u32_default(node, name, 0); in decode_timing_property()
435 ret = ofnode_read_u32_array(node, name, &result->min, 3); in decode_timing_property()
445 ofnode timings, node; in ofnode_decode_display_timing() local
454 ofnode_for_each_subnode(node, timings) { in ofnode_decode_display_timing()
459 if (!ofnode_valid(node)) in ofnode_decode_display_timing()
464 ret |= decode_timing_property(node, "hback-porch", &dt->hback_porch); in ofnode_decode_display_timing()
465 ret |= decode_timing_property(node, "hfront-porch", &dt->hfront_porch); in ofnode_decode_display_timing()
466 ret |= decode_timing_property(node, "hactive", &dt->hactive); in ofnode_decode_display_timing()
467 ret |= decode_timing_property(node, "hsync-len", &dt->hsync_len); in ofnode_decode_display_timing()
468 ret |= decode_timing_property(node, "vback-porch", &dt->vback_porch); in ofnode_decode_display_timing()
469 ret |= decode_timing_property(node, "vfront-porch", &dt->vfront_porch); in ofnode_decode_display_timing()
470 ret |= decode_timing_property(node, "vactive", &dt->vactive); in ofnode_decode_display_timing()
471 ret |= decode_timing_property(node, "vsync-len", &dt->vsync_len); in ofnode_decode_display_timing()
472 ret |= decode_timing_property(node, "clock-frequency", &dt->pixelclock); in ofnode_decode_display_timing()
475 val = ofnode_read_u32_default(node, "vsync-active", -1); in ofnode_decode_display_timing()
480 val = ofnode_read_u32_default(node, "hsync-active", -1); in ofnode_decode_display_timing()
485 val = ofnode_read_u32_default(node, "de-active", -1); in ofnode_decode_display_timing()
490 val = ofnode_read_u32_default(node, "pixelclk-active", -1); in ofnode_decode_display_timing()
496 if (ofnode_read_bool(node, "interlaced")) in ofnode_decode_display_timing()
498 if (ofnode_read_bool(node, "doublescan")) in ofnode_decode_display_timing()
500 if (ofnode_read_bool(node, "doubleclk")) in ofnode_decode_display_timing()
506 const void *ofnode_get_property(ofnode node, const char *propname, int *lenp) in ofnode_get_property() argument
508 if (ofnode_is_np(node)) in ofnode_get_property()
509 return of_get_property(ofnode_to_np(node), propname, lenp); in ofnode_get_property()
511 return fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), in ofnode_get_property()
515 int ofnode_get_first_property(ofnode node, struct ofprop *prop) in ofnode_get_first_property() argument
517 prop->node = node; in ofnode_get_first_property()
519 if (ofnode_is_np(node)) { in ofnode_get_first_property()
520 prop->prop = of_get_first_property(ofnode_to_np(prop->node)); in ofnode_get_first_property()
526 ofnode_to_offset(prop->node)); in ofnode_get_first_property()
536 if (ofnode_is_np(prop->node)) { in ofnode_get_next_property()
537 prop->prop = of_get_next_property(ofnode_to_np(prop->node), in ofnode_get_next_property()
554 if (ofnode_is_np(prop->node)) in ofnode_get_property_by_prop()
555 return of_get_property_by_prop(ofnode_to_np(prop->node), in ofnode_get_property_by_prop()
563 bool ofnode_is_available(ofnode node) in ofnode_is_available() argument
565 if (ofnode_is_np(node)) in ofnode_is_available()
566 return of_device_is_available(ofnode_to_np(node)); in ofnode_is_available()
569 ofnode_to_offset(node)); in ofnode_is_available()
572 fdt_addr_t ofnode_get_addr_size(ofnode node, const char *property, in ofnode_get_addr_size() argument
575 if (ofnode_is_np(node)) { in ofnode_get_addr_size()
578 const struct device_node *np = ofnode_to_np(node); in ofnode_get_addr_size()
589 ofnode_to_offset(node), property, in ofnode_get_addr_size()
594 const uint8_t *ofnode_read_u8_array_ptr(ofnode node, const char *propname, in ofnode_read_u8_array_ptr() argument
597 if (ofnode_is_np(node)) { in ofnode_read_u8_array_ptr()
598 const struct device_node *np = ofnode_to_np(node); in ofnode_read_u8_array_ptr()
608 ofnode_to_offset(node), propname, sz); in ofnode_read_u8_array_ptr()
612 int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type, in ofnode_read_pci_addr() argument
623 * the value of the node's parent node's #address-cells and in ofnode_read_pci_addr()
627 cell = ofnode_get_property(node, propname, &len); in ofnode_read_pci_addr()
666 int ofnode_read_addr_cells(ofnode node) in ofnode_read_addr_cells() argument
668 if (ofnode_is_np(node)) in ofnode_read_addr_cells()
669 return of_n_addr_cells(ofnode_to_np(node)); in ofnode_read_addr_cells()
671 return fdt_address_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_addr_cells()
674 int ofnode_read_size_cells(ofnode node) in ofnode_read_size_cells() argument
676 if (ofnode_is_np(node)) in ofnode_read_size_cells()
677 return of_n_size_cells(ofnode_to_np(node)); in ofnode_read_size_cells()
679 return fdt_size_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_size_cells()
682 int ofnode_read_simple_addr_cells(ofnode node) in ofnode_read_simple_addr_cells() argument
684 if (ofnode_is_np(node)) in ofnode_read_simple_addr_cells()
685 return of_simple_addr_cells(ofnode_to_np(node)); in ofnode_read_simple_addr_cells()
687 return fdt_address_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_simple_addr_cells()
690 int ofnode_read_simple_size_cells(ofnode node) in ofnode_read_simple_size_cells() argument
692 if (ofnode_is_np(node)) in ofnode_read_simple_size_cells()
693 return of_simple_size_cells(ofnode_to_np(node)); in ofnode_read_simple_size_cells()
695 return fdt_size_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_simple_size_cells()
698 bool ofnode_pre_reloc(ofnode node) in ofnode_pre_reloc() argument
700 if (ofnode_read_bool(node, "u-boot,dm-pre-reloc")) in ofnode_pre_reloc()
704 if (ofnode_read_bool(node, "u-boot,dm-tpl")) in ofnode_pre_reloc()
707 if (ofnode_read_bool(node, "u-boot,dm-spl")) in ofnode_pre_reloc()
714 if (ofnode_read_bool(node, "u-boot,dm-spl") || in ofnode_pre_reloc()
715 ofnode_read_bool(node, "u-boot,dm-tpl")) in ofnode_pre_reloc()
722 int ofnode_read_resource(ofnode node, uint index, struct resource *res) in ofnode_read_resource() argument
724 if (ofnode_is_np(node)) { in ofnode_read_resource()
725 return of_address_to_resource(ofnode_to_np(node), index, res); in ofnode_read_resource()
730 ret = fdt_get_resource(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_resource()
742 int ofnode_read_resource_byname(ofnode node, const char *name, in ofnode_read_resource_byname() argument
747 index = ofnode_stringlist_search(node, "reg-names", name); in ofnode_read_resource_byname()
751 return ofnode_read_resource(node, index, res); in ofnode_read_resource_byname()
754 u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr) in ofnode_translate_address() argument
756 if (ofnode_is_np(node)) in ofnode_translate_address()
757 return of_translate_address(ofnode_to_np(node), in_addr); in ofnode_translate_address()
759 return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr); in ofnode_translate_address()