Lines Matching refs:node
149 void *ofnode_lookup_fdt(ofnode node) in ofnode_lookup_fdt() argument
152 uint i = OFTREE_TREE_ID(node.of_offset); in ofnode_lookup_fdt()
165 void *ofnode_to_fdt(ofnode node) in ofnode_to_fdt() argument
171 if (CONFIG_IS_ENABLED(OFNODE_MULTI_TREE) && ofnode_valid(node)) in ofnode_to_fdt()
172 return ofnode_lookup_fdt(node); in ofnode_to_fdt()
186 int ofnode_to_offset(ofnode node) in ofnode_to_offset() argument
192 if (CONFIG_IS_ENABLED(OFNODE_MULTI_TREE) && node.of_offset >= 0) in ofnode_to_offset()
193 return OFTREE_OFFSET(node.of_offset); in ofnode_to_offset()
195 return node.of_offset; in ofnode_to_offset()
223 ofnode node; in noffset_to_ofnode() local
226 node.np = NULL; in noffset_to_ofnode()
229 node.of_offset = of_offset; in noffset_to_ofnode()
231 node.of_offset = OFTREE_MAKE_NODE(other_node.of_offset, in noffset_to_ofnode()
234 return node; in noffset_to_ofnode()
284 ofnode node; in ofnode_from_tree_offset() local
291 node.of_offset = OFTREE_NODE(tree_id, offset); in ofnode_from_tree_offset()
293 node.of_offset = offset; in ofnode_from_tree_offset()
296 return node; in ofnode_from_tree_offset()
299 bool ofnode_name_eq(ofnode node, const char *name) in ofnode_name_eq() argument
304 assert(ofnode_valid(node)); in ofnode_name_eq()
306 node_name = ofnode_get_name(node); in ofnode_name_eq()
312 bool ofnode_name_eq_unit(ofnode node, const char *name) in ofnode_name_eq_unit() argument
317 assert(ofnode_valid(node)); in ofnode_name_eq_unit()
319 node_name = ofnode_get_name(node); in ofnode_name_eq_unit()
335 int ofnode_read_u8(ofnode node, const char *propname, u8 *outp) in ofnode_read_u8() argument
340 assert(ofnode_valid(node)); in ofnode_read_u8()
343 if (ofnode_is_np(node)) in ofnode_read_u8()
344 return of_read_u8(ofnode_to_np(node), propname, outp); in ofnode_read_u8()
346 cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, in ofnode_read_u8()
358 u8 ofnode_read_u8_default(ofnode node, const char *propname, u8 def) in ofnode_read_u8_default() argument
360 assert(ofnode_valid(node)); in ofnode_read_u8_default()
361 ofnode_read_u8(node, propname, &def); in ofnode_read_u8_default()
366 int ofnode_read_u16(ofnode node, const char *propname, u16 *outp) in ofnode_read_u16() argument
371 assert(ofnode_valid(node)); in ofnode_read_u16()
374 if (ofnode_is_np(node)) in ofnode_read_u16()
375 return of_read_u16(ofnode_to_np(node), propname, outp); in ofnode_read_u16()
377 cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, in ofnode_read_u16()
389 u16 ofnode_read_u16_default(ofnode node, const char *propname, u16 def) in ofnode_read_u16_default() argument
391 assert(ofnode_valid(node)); in ofnode_read_u16_default()
392 ofnode_read_u16(node, propname, &def); in ofnode_read_u16_default()
397 int ofnode_read_u32(ofnode node, const char *propname, u32 *outp) in ofnode_read_u32() argument
399 return ofnode_read_u32_index(node, propname, 0, outp); in ofnode_read_u32()
402 u32 ofnode_read_u32_default(ofnode node, const char *propname, u32 def) in ofnode_read_u32_default() argument
404 assert(ofnode_valid(node)); in ofnode_read_u32_default()
405 ofnode_read_u32_index(node, propname, 0, &def); in ofnode_read_u32_default()
410 int ofnode_read_u32_index(ofnode node, const char *propname, int index, in ofnode_read_u32_index() argument
416 assert(ofnode_valid(node)); in ofnode_read_u32_index()
419 if (ofnode_is_np(node)) in ofnode_read_u32_index()
420 return of_read_u32_index(ofnode_to_np(node), propname, index, in ofnode_read_u32_index()
423 cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_read_u32_index()
441 int ofnode_read_u64_index(ofnode node, const char *propname, int index, in ofnode_read_u64_index() argument
447 assert(ofnode_valid(node)); in ofnode_read_u64_index()
449 if (ofnode_is_np(node)) in ofnode_read_u64_index()
450 return of_read_u64_index(ofnode_to_np(node), propname, index, in ofnode_read_u64_index()
453 cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_read_u64_index()
471 u32 ofnode_read_u32_index_default(ofnode node, const char *propname, int index, in ofnode_read_u32_index_default() argument
474 assert(ofnode_valid(node)); in ofnode_read_u32_index_default()
475 ofnode_read_u32_index(node, propname, index, &def); in ofnode_read_u32_index_default()
480 int ofnode_read_s32_default(ofnode node, const char *propname, s32 def) in ofnode_read_s32_default() argument
482 assert(ofnode_valid(node)); in ofnode_read_s32_default()
483 ofnode_read_u32(node, propname, (u32 *)&def); in ofnode_read_s32_default()
488 int ofnode_read_u64(ofnode node, const char *propname, u64 *outp) in ofnode_read_u64() argument
493 assert(ofnode_valid(node)); in ofnode_read_u64()
496 if (ofnode_is_np(node)) in ofnode_read_u64()
497 return of_read_u64(ofnode_to_np(node), propname, outp); in ofnode_read_u64()
499 cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_read_u64()
512 u64 ofnode_read_u64_default(ofnode node, const char *propname, u64 def) in ofnode_read_u64_default() argument
514 assert(ofnode_valid(node)); in ofnode_read_u64_default()
515 ofnode_read_u64(node, propname, &def); in ofnode_read_u64_default()
520 bool ofnode_read_bool(ofnode node, const char *propname) in ofnode_read_bool() argument
524 assert(ofnode_valid(node)); in ofnode_read_bool()
527 prop = ofnode_has_property(node, propname); in ofnode_read_bool()
534 const void *ofnode_read_prop(ofnode node, const char *propname, int *sizep) in ofnode_read_prop() argument
539 assert(ofnode_valid(node)); in ofnode_read_prop()
542 if (ofnode_is_np(node)) { in ofnode_read_prop()
544 ofnode_to_np(node), propname, &len); in ofnode_read_prop()
551 val = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_read_prop()
566 const char *ofnode_read_string(ofnode node, const char *propname) in ofnode_read_string() argument
571 str = ofnode_read_prop(node, propname, &len); in ofnode_read_string()
584 int ofnode_read_size(ofnode node, const char *propname) in ofnode_read_size() argument
588 if (!ofnode_read_prop(node, propname, &len)) in ofnode_read_size()
594 ofnode ofnode_find_subnode(ofnode node, const char *subnode_name) in ofnode_find_subnode() argument
598 assert(ofnode_valid(node)); in ofnode_find_subnode()
601 if (ofnode_is_np(node)) { in ofnode_find_subnode()
602 subnode = ofnode_find_subnode_unit(node, subnode_name); in ofnode_find_subnode()
605 int ooffset = fdt_subnode_offset(ofnode_to_fdt(node), in ofnode_find_subnode()
606 ofnode_to_offset(node), subnode_name); in ofnode_find_subnode()
607 subnode = noffset_to_ofnode(node, ooffset); in ofnode_find_subnode()
615 ofnode ofnode_find_subnode_unit(ofnode node, const char *subnode_name) in ofnode_find_subnode_unit() argument
619 assert(ofnode_valid(node)); in ofnode_find_subnode_unit()
622 ofnode_for_each_subnode(subnode, node) { in ofnode_find_subnode_unit()
635 int ofnode_read_u32_array(ofnode node, const char *propname, in ofnode_read_u32_array() argument
638 assert(ofnode_valid(node)); in ofnode_read_u32_array()
641 if (ofnode_is_np(node)) { in ofnode_read_u32_array()
642 return of_read_u32_array(ofnode_to_np(node), propname, in ofnode_read_u32_array()
647 ret = fdtdec_get_int_array(ofnode_to_fdt(node), in ofnode_read_u32_array()
648 ofnode_to_offset(node), propname, in ofnode_read_u32_array()
663 bool ofnode_is_enabled(ofnode node) in ofnode_is_enabled() argument
665 if (ofnode_is_np(node)) { in ofnode_is_enabled()
666 return of_device_is_available(ofnode_to_np(node)); in ofnode_is_enabled()
668 return fdtdec_get_is_enabled(ofnode_to_fdt(node), in ofnode_is_enabled()
669 ofnode_to_offset(node)); in ofnode_is_enabled()
673 ofnode ofnode_first_subnode(ofnode node) in ofnode_first_subnode() argument
675 assert(ofnode_valid(node)); in ofnode_first_subnode()
676 if (ofnode_is_np(node)) in ofnode_first_subnode()
677 return np_to_ofnode(node.np->child); in ofnode_first_subnode()
679 return noffset_to_ofnode(node, in ofnode_first_subnode()
680 fdt_first_subnode(ofnode_to_fdt(node), ofnode_to_offset(node))); in ofnode_first_subnode()
683 ofnode ofnode_next_subnode(ofnode node) in ofnode_next_subnode() argument
685 assert(ofnode_valid(node)); in ofnode_next_subnode()
686 if (ofnode_is_np(node)) in ofnode_next_subnode()
687 return np_to_ofnode(node.np->sibling); in ofnode_next_subnode()
689 return noffset_to_ofnode(node, in ofnode_next_subnode()
690 fdt_next_subnode(ofnode_to_fdt(node), ofnode_to_offset(node))); in ofnode_next_subnode()
694 ofnode ofnode_get_parent(ofnode node) in ofnode_get_parent() argument
698 assert(ofnode_valid(node)); in ofnode_get_parent()
699 if (ofnode_is_np(node)) in ofnode_get_parent()
700 parent = np_to_ofnode(of_get_parent(ofnode_to_np(node))); in ofnode_get_parent()
702 parent.of_offset = fdt_parent_offset(ofnode_to_fdt(node), in ofnode_get_parent()
703 ofnode_to_offset(node)); in ofnode_get_parent()
708 const char *ofnode_get_name(ofnode node) in ofnode_get_name() argument
710 if (!ofnode_valid(node)) { in ofnode_get_name()
715 if (ofnode_is_np(node)) in ofnode_get_name()
716 return node.np->name; in ofnode_get_name()
718 return fdt_get_name(ofnode_to_fdt(node), ofnode_to_offset(node), NULL); in ofnode_get_name()
721 int ofnode_get_path(ofnode node, char *buf, int buflen) in ofnode_get_path() argument
723 assert(ofnode_valid(node)); in ofnode_get_path()
725 if (ofnode_is_np(node)) { in ofnode_get_path()
726 if (strlen(node.np->full_name) >= buflen) in ofnode_get_path()
729 strcpy(buf, node.np->full_name); in ofnode_get_path()
735 res = fdt_get_path(ofnode_to_fdt(node), ofnode_to_offset(node), buf, in ofnode_get_path()
748 ofnode node; in ofnode_get_by_phandle() local
751 node = np_to_ofnode(of_find_node_by_phandle(NULL, phandle)); in ofnode_get_by_phandle()
753 node.of_offset = fdt_node_offset_by_phandle(gd->fdt_blob, in ofnode_get_by_phandle()
756 return node; in ofnode_get_by_phandle()
761 ofnode node; in oftree_get_by_phandle() local
764 node = np_to_ofnode(of_find_node_by_phandle(tree.np, phandle)); in oftree_get_by_phandle()
766 node = ofnode_from_tree_offset(tree, in oftree_get_by_phandle()
770 return node; in oftree_get_by_phandle()
773 static fdt_addr_t __ofnode_get_addr_size_index(ofnode node, int index, in __ofnode_get_addr_size_index() argument
781 if (ofnode_is_np(node)) { in __ofnode_get_addr_size_index()
786 prop_val = of_get_address(ofnode_to_np(node), index, &size64, in __ofnode_get_addr_size_index()
794 ns = of_n_size_cells(ofnode_to_np(node)); in __ofnode_get_addr_size_index()
797 return of_translate_address(ofnode_to_np(node), prop_val); in __ofnode_get_addr_size_index()
799 na = of_n_addr_cells(ofnode_to_np(node)); in __ofnode_get_addr_size_index()
803 ofnode parent = ofnode_get_parent(node); in __ofnode_get_addr_size_index()
806 return fdtdec_get_addr_size_fixed(ofnode_to_fdt(node), in __ofnode_get_addr_size_index()
807 ofnode_to_offset(node), "reg", in __ofnode_get_addr_size_index()
813 fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size) in ofnode_get_addr_size_index() argument
815 return __ofnode_get_addr_size_index(node, index, size, true); in ofnode_get_addr_size_index()
818 fdt_addr_t ofnode_get_addr_size_index_notrans(ofnode node, int index, in ofnode_get_addr_size_index_notrans() argument
821 return __ofnode_get_addr_size_index(node, index, size, false); in ofnode_get_addr_size_index_notrans()
824 fdt_addr_t ofnode_get_addr_index(ofnode node, int index) in ofnode_get_addr_index() argument
828 return ofnode_get_addr_size_index(node, index, &size); in ofnode_get_addr_index()
831 fdt_addr_t ofnode_get_addr(ofnode node) in ofnode_get_addr() argument
833 return ofnode_get_addr_index(node, 0); in ofnode_get_addr()
836 fdt_size_t ofnode_get_size(ofnode node) in ofnode_get_size() argument
840 ofnode_get_addr_size_index(node, 0, &size); in ofnode_get_size()
845 int ofnode_stringlist_search(ofnode node, const char *property, in ofnode_stringlist_search() argument
848 if (ofnode_is_np(node)) { in ofnode_stringlist_search()
849 return of_property_match_string(ofnode_to_np(node), in ofnode_stringlist_search()
854 ret = fdt_stringlist_search(ofnode_to_fdt(node), in ofnode_stringlist_search()
855 ofnode_to_offset(node), property, in ofnode_stringlist_search()
866 int ofnode_read_string_index(ofnode node, const char *property, int index, in ofnode_read_string_index() argument
869 if (ofnode_is_np(node)) { in ofnode_read_string_index()
870 return of_property_read_string_index(ofnode_to_np(node), in ofnode_read_string_index()
875 *outp = fdt_stringlist_get(ofnode_to_fdt(node), in ofnode_read_string_index()
876 ofnode_to_offset(node), in ofnode_read_string_index()
884 int ofnode_read_string_count(ofnode node, const char *property) in ofnode_read_string_count() argument
886 if (ofnode_is_np(node)) { in ofnode_read_string_count()
887 return of_property_count_strings(ofnode_to_np(node), property); in ofnode_read_string_count()
889 return fdt_stringlist_count(ofnode_to_fdt(node), in ofnode_read_string_count()
890 ofnode_to_offset(node), property); in ofnode_read_string_count()
894 int ofnode_read_string_list(ofnode node, const char *property, in ofnode_read_string_list() argument
902 count = ofnode_read_string_count(node, property); in ofnode_read_string_list()
913 ofnode_read_string_index(node, property, i, &prop[i]); in ofnode_read_string_list()
920 ofnode ofnode_parse_phandle(ofnode node, const char *phandle_name, in ofnode_parse_phandle() argument
925 if (ofnode_is_np(node)) { in ofnode_parse_phandle()
928 np = of_parse_phandle(ofnode_to_np(node), phandle_name, in ofnode_parse_phandle()
937 if (fdtdec_parse_phandle_with_args(ofnode_to_fdt(node), in ofnode_parse_phandle()
938 ofnode_to_offset(node), in ofnode_parse_phandle()
943 phandle = offset_to_ofnode(args.node); in ofnode_parse_phandle()
949 ofnode oftree_parse_phandle(oftree tree, ofnode node, const char *phandle_name, in oftree_parse_phandle() argument
954 if (ofnode_is_np(node)) { in oftree_parse_phandle()
957 np = of_root_parse_phandle(tree.np, ofnode_to_np(node), in oftree_parse_phandle()
967 ofnode_to_offset(node), in oftree_parse_phandle()
972 phandle = noffset_to_ofnode(node, args.node); in oftree_parse_phandle()
978 static void ofnode_from_fdtdec_phandle_args(ofnode node, struct fdtdec_phandle_args *in, in ofnode_from_fdtdec_phandle_args() argument
982 out->node = noffset_to_ofnode(node, in->node); in ofnode_from_fdtdec_phandle_args()
991 out->node = np_to_ofnode(in->np); in ofnode_from_of_phandle_args()
996 int ofnode_parse_phandle_with_args(ofnode node, const char *list_name, in ofnode_parse_phandle_with_args() argument
1001 if (ofnode_is_np(node)) { in ofnode_parse_phandle_with_args()
1005 ret = of_parse_phandle_with_args(ofnode_to_np(node), in ofnode_parse_phandle_with_args()
1016 ret = fdtdec_parse_phandle_with_args(ofnode_to_fdt(node), in ofnode_parse_phandle_with_args()
1017 ofnode_to_offset(node), in ofnode_parse_phandle_with_args()
1022 ofnode_from_fdtdec_phandle_args(node, &args, out_args); in ofnode_parse_phandle_with_args()
1028 int oftree_parse_phandle_with_args(oftree tree, ofnode node, const char *list_name, in oftree_parse_phandle_with_args() argument
1033 if (ofnode_is_np(node)) { in oftree_parse_phandle_with_args()
1038 ofnode_to_np(node), in oftree_parse_phandle_with_args()
1050 ofnode_to_offset(node), in oftree_parse_phandle_with_args()
1055 ofnode_from_fdtdec_phandle_args(node, &args, out_args); in oftree_parse_phandle_with_args()
1061 int ofnode_count_phandle_with_args(ofnode node, const char *list_name, in ofnode_count_phandle_with_args() argument
1064 if (ofnode_is_np(node)) in ofnode_count_phandle_with_args()
1065 return of_count_phandle_with_args(ofnode_to_np(node), in ofnode_count_phandle_with_args()
1068 return fdtdec_parse_phandle_with_args(ofnode_to_fdt(node), in ofnode_count_phandle_with_args()
1069 ofnode_to_offset(node), list_name, cells_name, in ofnode_count_phandle_with_args()
1073 int oftree_count_phandle_with_args(oftree tree, ofnode node, const char *list_name, in oftree_count_phandle_with_args() argument
1076 if (ofnode_is_np(node)) in oftree_count_phandle_with_args()
1077 return of_root_count_phandle_with_args(tree.np, ofnode_to_np(node), in oftree_count_phandle_with_args()
1081 ofnode_to_offset(node), list_name, cells_name, in oftree_count_phandle_with_args()
1161 ofnode node; in ofnode_read_aliases_prop() local
1163 node = ofnode_path("/aliases"); in ofnode_read_aliases_prop()
1165 return ofnode_read_prop(node, propname, sizep); in ofnode_read_aliases_prop()
1192 static int decode_timing_property(ofnode node, const char *name, in decode_timing_property() argument
1197 length = ofnode_read_size(node, name); in decode_timing_property()
1200 ofnode_get_name(node), name); in decode_timing_property()
1205 result->typ = ofnode_read_u32_default(node, name, 0); in decode_timing_property()
1209 ret = ofnode_read_u32_array(node, name, &result->min, 3); in decode_timing_property()
1219 ofnode timings, node; in ofnode_decode_display_timing() local
1228 ofnode_for_each_subnode(node, timings) { in ofnode_decode_display_timing()
1233 if (!ofnode_valid(node)) in ofnode_decode_display_timing()
1238 ret |= decode_timing_property(node, "hback-porch", &dt->hback_porch); in ofnode_decode_display_timing()
1239 ret |= decode_timing_property(node, "hfront-porch", &dt->hfront_porch); in ofnode_decode_display_timing()
1240 ret |= decode_timing_property(node, "hactive", &dt->hactive); in ofnode_decode_display_timing()
1241 ret |= decode_timing_property(node, "hsync-len", &dt->hsync_len); in ofnode_decode_display_timing()
1242 ret |= decode_timing_property(node, "vback-porch", &dt->vback_porch); in ofnode_decode_display_timing()
1243 ret |= decode_timing_property(node, "vfront-porch", &dt->vfront_porch); in ofnode_decode_display_timing()
1244 ret |= decode_timing_property(node, "vactive", &dt->vactive); in ofnode_decode_display_timing()
1245 ret |= decode_timing_property(node, "vsync-len", &dt->vsync_len); in ofnode_decode_display_timing()
1246 ret |= decode_timing_property(node, "clock-frequency", &dt->pixelclock); in ofnode_decode_display_timing()
1249 val = ofnode_read_u32_default(node, "vsync-active", -1); in ofnode_decode_display_timing()
1254 val = ofnode_read_u32_default(node, "hsync-active", -1); in ofnode_decode_display_timing()
1259 val = ofnode_read_u32_default(node, "de-active", -1); in ofnode_decode_display_timing()
1264 val = ofnode_read_u32_default(node, "pixelclk-active", -1); in ofnode_decode_display_timing()
1270 if (ofnode_read_bool(node, "interlaced")) in ofnode_decode_display_timing()
1272 if (ofnode_read_bool(node, "doublescan")) in ofnode_decode_display_timing()
1274 if (ofnode_read_bool(node, "doubleclk")) in ofnode_decode_display_timing()
1327 const void *ofnode_get_property(ofnode node, const char *propname, int *lenp) in ofnode_get_property() argument
1329 if (ofnode_is_np(node)) in ofnode_get_property()
1330 return of_get_property(ofnode_to_np(node), propname, lenp); in ofnode_get_property()
1332 return fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_get_property()
1336 bool ofnode_has_property(ofnode node, const char *propname) in ofnode_has_property() argument
1338 if (ofnode_is_np(node)) in ofnode_has_property()
1339 return of_find_property(ofnode_to_np(node), propname, NULL); in ofnode_has_property()
1341 return ofnode_get_property(node, propname, NULL); in ofnode_has_property()
1344 int ofnode_first_property(ofnode node, struct ofprop *prop) in ofnode_first_property() argument
1346 prop->node = node; in ofnode_first_property()
1348 if (ofnode_is_np(node)) { in ofnode_first_property()
1349 prop->prop = of_get_first_property(ofnode_to_np(prop->node)); in ofnode_first_property()
1354 fdt_first_property_offset(ofnode_to_fdt(node), in ofnode_first_property()
1355 ofnode_to_offset(prop->node)); in ofnode_first_property()
1365 if (ofnode_is_np(prop->node)) { in ofnode_next_property()
1366 prop->prop = of_get_next_property(ofnode_to_np(prop->node), in ofnode_next_property()
1372 fdt_next_property_offset(ofnode_to_fdt(prop->node), in ofnode_next_property()
1384 if (ofnode_is_np(prop->node)) in ofprop_get_property()
1385 return of_get_property_by_prop(ofnode_to_np(prop->node), in ofprop_get_property()
1388 return fdt_getprop_by_offset(ofnode_to_fdt(prop->node), in ofprop_get_property()
1393 fdt_addr_t ofnode_get_addr_size(ofnode node, const char *property, in ofnode_get_addr_size() argument
1396 if (ofnode_is_np(node)) { in ofnode_get_addr_size()
1399 const struct device_node *np = ofnode_to_np(node); in ofnode_get_addr_size()
1413 return fdtdec_get_addr_size(ofnode_to_fdt(node), in ofnode_get_addr_size()
1414 ofnode_to_offset(node), property, in ofnode_get_addr_size()
1419 const uint8_t *ofnode_read_u8_array_ptr(ofnode node, const char *propname, in ofnode_read_u8_array_ptr() argument
1422 if (ofnode_is_np(node)) { in ofnode_read_u8_array_ptr()
1423 const struct device_node *np = ofnode_to_np(node); in ofnode_read_u8_array_ptr()
1432 return fdtdec_locate_byte_array(ofnode_to_fdt(node), in ofnode_read_u8_array_ptr()
1433 ofnode_to_offset(node), propname, sz); in ofnode_read_u8_array_ptr()
1437 int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type, in ofnode_read_pci_addr() argument
1453 cell = ofnode_get_property(node, propname, &len); in ofnode_read_pci_addr()
1496 int ofnode_read_pci_vendev(ofnode node, u16 *vendor, u16 *device) in ofnode_read_pci_vendev() argument
1501 list = ofnode_get_property(node, "compatible", &len); in ofnode_read_pci_vendev()
1532 int ofnode_read_eth_phy_id(ofnode node, u16 *vendor, u16 *device) in ofnode_read_eth_phy_id() argument
1537 list = ofnode_get_property(node, "compatible", &len); in ofnode_read_eth_phy_id()
1568 int ofnode_read_addr_cells(ofnode node) in ofnode_read_addr_cells() argument
1570 if (ofnode_is_np(node)) { in ofnode_read_addr_cells()
1571 return of_n_addr_cells(ofnode_to_np(node)); in ofnode_read_addr_cells()
1573 int parent = fdt_parent_offset(ofnode_to_fdt(node), in ofnode_read_addr_cells()
1574 ofnode_to_offset(node)); in ofnode_read_addr_cells()
1576 return fdt_address_cells(ofnode_to_fdt(node), parent); in ofnode_read_addr_cells()
1580 int ofnode_read_size_cells(ofnode node) in ofnode_read_size_cells() argument
1582 if (ofnode_is_np(node)) { in ofnode_read_size_cells()
1583 return of_n_size_cells(ofnode_to_np(node)); in ofnode_read_size_cells()
1585 int parent = fdt_parent_offset(ofnode_to_fdt(node), in ofnode_read_size_cells()
1586 ofnode_to_offset(node)); in ofnode_read_size_cells()
1588 return fdt_size_cells(ofnode_to_fdt(node), parent); in ofnode_read_size_cells()
1592 int ofnode_read_simple_addr_cells(ofnode node) in ofnode_read_simple_addr_cells() argument
1594 if (ofnode_is_np(node)) in ofnode_read_simple_addr_cells()
1595 return of_simple_addr_cells(ofnode_to_np(node)); in ofnode_read_simple_addr_cells()
1597 return fdt_address_cells(ofnode_to_fdt(node), in ofnode_read_simple_addr_cells()
1598 ofnode_to_offset(node)); in ofnode_read_simple_addr_cells()
1601 int ofnode_read_simple_size_cells(ofnode node) in ofnode_read_simple_size_cells() argument
1603 if (ofnode_is_np(node)) in ofnode_read_simple_size_cells()
1604 return of_simple_size_cells(ofnode_to_np(node)); in ofnode_read_simple_size_cells()
1606 return fdt_size_cells(ofnode_to_fdt(node), in ofnode_read_simple_size_cells()
1607 ofnode_to_offset(node)); in ofnode_read_simple_size_cells()
1610 bool ofnode_pre_reloc(ofnode node) in ofnode_pre_reloc() argument
1619 if (ofnode_read_bool(node, "bootph-all")) in ofnode_pre_reloc()
1621 if (ofnode_read_bool(node, "bootph-some-ram")) in ofnode_pre_reloc()
1628 if (ofnode_read_bool(node, "bootph-pre-ram") || in ofnode_pre_reloc()
1629 ofnode_read_bool(node, "bootph-pre-sram")) in ofnode_pre_reloc()
1634 if (ofnode_read_bool(node, "u-boot,dm-pre-reloc") || in ofnode_pre_reloc()
1635 ofnode_read_bool(node, "u-boot,dm-pre-proper") || in ofnode_pre_reloc()
1636 ofnode_read_bool(node, "u-boot,dm-spl") || in ofnode_pre_reloc()
1637 ofnode_read_bool(node, "u-boot,dm-tpl") || in ofnode_pre_reloc()
1638 ofnode_read_bool(node, "u-boot,dm-vpl")) { in ofnode_pre_reloc()
1648 int ofnode_read_resource(ofnode node, uint index, struct resource *res) in ofnode_read_resource() argument
1650 if (ofnode_is_np(node)) { in ofnode_read_resource()
1651 return of_address_to_resource(ofnode_to_np(node), index, res); in ofnode_read_resource()
1656 ret = fdt_get_resource(ofnode_to_fdt(node), in ofnode_read_resource()
1657 ofnode_to_offset(node), in ofnode_read_resource()
1669 int ofnode_read_resource_byname(ofnode node, const char *name, in ofnode_read_resource_byname() argument
1674 index = ofnode_stringlist_search(node, "reg-names", name); in ofnode_read_resource_byname()
1678 return ofnode_read_resource(node, index, res); in ofnode_read_resource_byname()
1681 u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr) in ofnode_translate_address() argument
1683 if (ofnode_is_np(node)) in ofnode_translate_address()
1684 return of_translate_address(ofnode_to_np(node), in_addr); in ofnode_translate_address()
1686 return fdt_translate_address(ofnode_to_fdt(node), in ofnode_translate_address()
1687 ofnode_to_offset(node), in_addr); in ofnode_translate_address()
1690 u64 ofnode_translate_dma_address(ofnode node, const fdt32_t *in_addr) in ofnode_translate_dma_address() argument
1692 if (ofnode_is_np(node)) in ofnode_translate_dma_address()
1693 return of_translate_dma_address(ofnode_to_np(node), in_addr); in ofnode_translate_dma_address()
1695 return fdt_translate_dma_address(ofnode_to_fdt(node), in ofnode_translate_dma_address()
1696 ofnode_to_offset(node), in_addr); in ofnode_translate_dma_address()
1699 int ofnode_get_dma_range(ofnode node, phys_addr_t *cpu, dma_addr_t *bus, u64 *size) in ofnode_get_dma_range() argument
1701 if (ofnode_is_np(node)) in ofnode_get_dma_range()
1702 return of_get_dma_range(ofnode_to_np(node), cpu, bus, size); in ofnode_get_dma_range()
1704 return fdt_get_dma_range(ofnode_to_fdt(node), in ofnode_get_dma_range()
1705 ofnode_to_offset(node), in ofnode_get_dma_range()
1709 int ofnode_device_is_compatible(ofnode node, const char *compat) in ofnode_device_is_compatible() argument
1711 if (ofnode_is_np(node)) in ofnode_device_is_compatible()
1712 return of_device_is_compatible(ofnode_to_np(node), compat, in ofnode_device_is_compatible()
1715 return !fdt_node_check_compatible(ofnode_to_fdt(node), in ofnode_device_is_compatible()
1716 ofnode_to_offset(node), in ofnode_device_is_compatible()
1748 int ofnode_write_prop(ofnode node, const char *propname, const void *value, in ofnode_write_prop() argument
1763 ret = of_write_prop(ofnode_to_np(node), propname, len, value); in ofnode_write_prop()
1768 ret = fdt_setprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_write_prop()
1777 int ofnode_write_string(ofnode node, const char *propname, const char *value) in ofnode_write_string() argument
1779 assert(ofnode_valid(node)); in ofnode_write_string()
1783 return ofnode_write_prop(node, propname, value, strlen(value) + 1, in ofnode_write_string()
1787 int ofnode_write_u32(ofnode node, const char *propname, u32 value) in ofnode_write_u32() argument
1791 assert(ofnode_valid(node)); in ofnode_write_u32()
1799 return ofnode_write_prop(node, propname, val, sizeof(value), true); in ofnode_write_u32()
1802 int ofnode_write_u64(ofnode node, const char *propname, u64 value) in ofnode_write_u64() argument
1806 assert(ofnode_valid(node)); in ofnode_write_u64()
1814 return ofnode_write_prop(node, propname, val, sizeof(value), true); in ofnode_write_u64()
1817 int ofnode_write_bool(ofnode node, const char *propname, bool value) in ofnode_write_bool() argument
1820 return ofnode_write_prop(node, propname, NULL, 0, false); in ofnode_write_bool()
1822 return ofnode_delete_prop(node, propname); in ofnode_write_bool()
1825 int ofnode_delete_prop(ofnode node, const char *propname) in ofnode_delete_prop() argument
1827 if (ofnode_is_np(node)) { in ofnode_delete_prop()
1831 prop = of_find_property(ofnode_to_np(node), propname, &len); in ofnode_delete_prop()
1833 return of_remove_property(ofnode_to_np(node), prop); in ofnode_delete_prop()
1836 return fdt_delprop(ofnode_to_fdt(node), ofnode_to_offset(node), in ofnode_delete_prop()
1841 int ofnode_set_enabled(ofnode node, bool value) in ofnode_set_enabled() argument
1843 assert(ofnode_valid(node)); in ofnode_set_enabled()
1846 return ofnode_write_string(node, "status", "okay"); in ofnode_set_enabled()
1848 return ofnode_write_string(node, "status", "disabled"); in ofnode_set_enabled()
1853 ofnode node; in ofnode_conf_read_bool() local
1855 node = ofnode_path("/config"); in ofnode_conf_read_bool()
1856 if (!ofnode_valid(node)) in ofnode_conf_read_bool()
1859 return ofnode_read_bool(node, prop_name); in ofnode_conf_read_bool()
1864 ofnode node; in ofnode_conf_read_int() local
1866 node = ofnode_path("/config"); in ofnode_conf_read_int()
1867 if (!ofnode_valid(node)) in ofnode_conf_read_int()
1870 return ofnode_read_u32_default(node, prop_name, default_val); in ofnode_conf_read_int()
1875 ofnode node; in ofnode_conf_read_str() local
1877 node = ofnode_path("/config"); in ofnode_conf_read_str()
1878 if (!ofnode_valid(node)) in ofnode_conf_read_str()
1881 return ofnode_read_string(node, prop_name); in ofnode_conf_read_str()
1991 ofnode ofnode_get_phy_node(ofnode node) in ofnode_get_phy_node() argument
1998 .node = ofnode_null() in ofnode_get_phy_node()
2002 assert(ofnode_valid(node)); in ofnode_get_phy_node()
2005 if (!ofnode_parse_phandle_with_args(node, phy_handle_str[i], in ofnode_get_phy_node()
2009 return args.node; in ofnode_get_phy_node()
2012 phy_interface_t ofnode_read_phy_mode(ofnode node) in ofnode_read_phy_mode() argument
2017 assert(ofnode_valid(node)); in ofnode_read_phy_mode()
2019 mode = ofnode_read_string(node, "phy-mode"); in ofnode_read_phy_mode()
2021 mode = ofnode_read_string(node, "phy-connection-type"); in ofnode_read_phy_mode()
2035 int ofnode_add_subnode(ofnode node, const char *name, ofnode *subnodep) in ofnode_add_subnode() argument
2040 assert(ofnode_valid(node)); in ofnode_add_subnode()
2042 if (ofnode_is_np(node)) { in ofnode_add_subnode()
2045 np = (struct device_node *)ofnode_to_np(node); in ofnode_add_subnode()
2051 void *fdt = ofnode_to_fdt(node); in ofnode_add_subnode()
2052 int poffset = ofnode_to_offset(node); in ofnode_add_subnode()
2062 subnode = noffset_to_ofnode(node, offset); in ofnode_add_subnode()
2072 ofnode node = *nodep; in ofnode_delete() local
2075 assert(ofnode_valid(node)); in ofnode_delete()
2076 if (ofnode_is_np(node)) { in ofnode_delete()
2077 ret = of_remove_node(ofnode_to_np(node)); in ofnode_delete()
2079 void *fdt = ofnode_to_fdt(node); in ofnode_delete()
2080 int offset = ofnode_to_offset(node); in ofnode_delete()
2120 ofnode node; in ofnode_copy_node() local
2123 ret = ofnode_add_subnode(dst_parent, name, &node); in ofnode_copy_node()
2126 *nodep = node; in ofnode_copy_node()
2129 ret = ofnode_copy_props(node, src); in ofnode_copy_node()
2132 *nodep = node; in ofnode_copy_node()