Lines Matching refs:node
21 int ofnode_read_u32(ofnode node, const char *propname, u32 *outp) in ofnode_read_u32() argument
23 return ofnode_read_u32_index(node, propname, 0, outp); in ofnode_read_u32()
26 u32 ofnode_read_u32_default(ofnode node, const char *propname, u32 def) in ofnode_read_u32_default() argument
28 assert(ofnode_valid(node)); in ofnode_read_u32_default()
29 ofnode_read_u32_index(node, propname, 0, &def); in ofnode_read_u32_default()
34 int ofnode_read_u32_index(ofnode node, const char *propname, int index, in ofnode_read_u32_index() argument
40 assert(ofnode_valid(node)); in ofnode_read_u32_index()
43 if (ofnode_is_np(node)) in ofnode_read_u32_index()
44 return of_read_u32_index(ofnode_to_np(node), propname, index, in ofnode_read_u32_index()
47 cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, in ofnode_read_u32_index()
65 u32 ofnode_read_u32_index_default(ofnode node, const char *propname, int index, in ofnode_read_u32_index_default() argument
68 assert(ofnode_valid(node)); in ofnode_read_u32_index_default()
69 ofnode_read_u32_index(node, propname, index, &def); in ofnode_read_u32_index_default()
74 int ofnode_read_s32_default(ofnode node, const char *propname, s32 def) in ofnode_read_s32_default() argument
76 assert(ofnode_valid(node)); in ofnode_read_s32_default()
77 ofnode_read_u32(node, propname, (u32 *)&def); in ofnode_read_s32_default()
82 int ofnode_read_u64(ofnode node, const char *propname, u64 *outp) in ofnode_read_u64() argument
87 assert(ofnode_valid(node)); in ofnode_read_u64()
90 if (ofnode_is_np(node)) in ofnode_read_u64()
91 return of_read_u64(ofnode_to_np(node), propname, outp); in ofnode_read_u64()
93 cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, in ofnode_read_u64()
106 u64 ofnode_read_u64_default(ofnode node, const char *propname, u64 def) in ofnode_read_u64_default() argument
108 assert(ofnode_valid(node)); in ofnode_read_u64_default()
109 ofnode_read_u64(node, propname, &def); in ofnode_read_u64_default()
114 bool ofnode_read_bool(ofnode node, const char *propname) in ofnode_read_bool() argument
118 assert(ofnode_valid(node)); in ofnode_read_bool()
121 prop = ofnode_get_property(node, propname, NULL); in ofnode_read_bool()
128 const void *ofnode_read_prop(ofnode node, const char *propname, int *sizep) in ofnode_read_prop() argument
133 assert(ofnode_valid(node)); in ofnode_read_prop()
136 if (ofnode_is_np(node)) { in ofnode_read_prop()
138 ofnode_to_np(node), propname, &len); in ofnode_read_prop()
145 val = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_prop()
160 const char *ofnode_read_string(ofnode node, const char *propname) in ofnode_read_string() argument
165 str = ofnode_read_prop(node, propname, &len); in ofnode_read_string()
178 int ofnode_read_size(ofnode node, const char *propname) in ofnode_read_size() argument
182 if (!ofnode_read_prop(node, propname, &len)) in ofnode_read_size()
188 ofnode ofnode_find_subnode(ofnode node, const char *subnode_name) in ofnode_find_subnode() argument
192 assert(ofnode_valid(node)); in ofnode_find_subnode()
195 if (ofnode_is_np(node)) { in ofnode_find_subnode()
196 const struct device_node *np = ofnode_to_np(node); in ofnode_find_subnode()
205 ofnode_to_offset(node), subnode_name); in ofnode_find_subnode()
214 int ofnode_read_u32_array(ofnode node, const char *propname, in ofnode_read_u32_array() argument
217 assert(ofnode_valid(node)); in ofnode_read_u32_array()
220 if (ofnode_is_np(node)) { in ofnode_read_u32_array()
221 return of_read_u32_array(ofnode_to_np(node), propname, in ofnode_read_u32_array()
225 ofnode_to_offset(node), propname, in ofnode_read_u32_array()
231 bool ofnode_is_enabled(ofnode node) in ofnode_is_enabled() argument
233 if (ofnode_is_np(node)) { in ofnode_is_enabled()
234 return of_device_is_available(ofnode_to_np(node)); in ofnode_is_enabled()
237 ofnode_to_offset(node)); in ofnode_is_enabled()
241 ofnode ofnode_first_subnode(ofnode node) in ofnode_first_subnode() argument
243 assert(ofnode_valid(node)); in ofnode_first_subnode()
244 if (ofnode_is_np(node)) in ofnode_first_subnode()
245 return np_to_ofnode(node.np->child); in ofnode_first_subnode()
248 fdt_first_subnode(gd->fdt_blob, ofnode_to_offset(node))); in ofnode_first_subnode()
251 ofnode ofnode_next_subnode(ofnode node) in ofnode_next_subnode() argument
253 assert(ofnode_valid(node)); in ofnode_next_subnode()
254 if (ofnode_is_np(node)) in ofnode_next_subnode()
255 return np_to_ofnode(node.np->sibling); in ofnode_next_subnode()
258 fdt_next_subnode(gd->fdt_blob, ofnode_to_offset(node))); in ofnode_next_subnode()
262 ofnode ofnode_get_parent(ofnode node) in ofnode_get_parent() argument
266 assert(ofnode_valid(node)); in ofnode_get_parent()
267 if (ofnode_is_np(node)) in ofnode_get_parent()
268 parent = np_to_ofnode(of_get_parent(ofnode_to_np(node))); in ofnode_get_parent()
271 ofnode_to_offset(node)); in ofnode_get_parent()
276 const char *ofnode_get_name(ofnode node) in ofnode_get_name() argument
278 if (!ofnode_valid(node)) { in ofnode_get_name()
283 if (ofnode_is_np(node)) in ofnode_get_name()
284 return strrchr(node.np->full_name, '/') + 1; in ofnode_get_name()
286 return fdt_get_name(gd->fdt_blob, ofnode_to_offset(node), NULL); in ofnode_get_name()
291 ofnode node; in ofnode_get_by_phandle() local
294 node = np_to_ofnode(of_find_node_by_phandle(phandle)); in ofnode_get_by_phandle()
296 node.of_offset = fdt_node_offset_by_phandle(gd->fdt_blob, in ofnode_get_by_phandle()
299 return node; in ofnode_get_by_phandle()
302 fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size) in ofnode_get_addr_size_index() argument
306 if (ofnode_is_np(node)) { in ofnode_get_addr_size_index()
311 prop_val = of_get_address(ofnode_to_np(node), index, &size64, in ofnode_get_addr_size_index()
318 ns = of_n_size_cells(ofnode_to_np(node)); in ofnode_get_addr_size_index()
322 return of_translate_address(ofnode_to_np(node), prop_val); in ofnode_get_addr_size_index()
324 na = of_n_addr_cells(ofnode_to_np(node)); in ofnode_get_addr_size_index()
328 na = ofnode_read_simple_addr_cells(ofnode_get_parent(node)); in ofnode_get_addr_size_index()
329 ns = ofnode_read_simple_size_cells(ofnode_get_parent(node)); in ofnode_get_addr_size_index()
331 ofnode_to_offset(node), "reg", in ofnode_get_addr_size_index()
338 fdt_addr_t ofnode_get_addr_index(ofnode node, int index) in ofnode_get_addr_index() argument
342 return ofnode_get_addr_size_index(node, index, &size); in ofnode_get_addr_index()
345 fdt_addr_t ofnode_get_addr(ofnode node) in ofnode_get_addr() argument
347 return ofnode_get_addr_index(node, 0); in ofnode_get_addr()
350 int ofnode_stringlist_search(ofnode node, const char *property, in ofnode_stringlist_search() argument
353 if (ofnode_is_np(node)) { in ofnode_stringlist_search()
354 return of_property_match_string(ofnode_to_np(node), in ofnode_stringlist_search()
360 ofnode_to_offset(node), property, in ofnode_stringlist_search()
371 int ofnode_read_string_index(ofnode node, const char *property, int index, in ofnode_read_string_index() argument
374 if (ofnode_is_np(node)) { in ofnode_read_string_index()
375 return of_property_read_string_index(ofnode_to_np(node), in ofnode_read_string_index()
380 *outp = fdt_stringlist_get(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_string_index()
388 int ofnode_read_string_count(ofnode node, const char *property) in ofnode_read_string_count() argument
390 if (ofnode_is_np(node)) { in ofnode_read_string_count()
391 return of_property_count_strings(ofnode_to_np(node), property); in ofnode_read_string_count()
394 ofnode_to_offset(node), property); in ofnode_read_string_count()
402 out->node = offset_to_ofnode(in->node); in ofnode_from_fdtdec_phandle_args()
411 out->node = np_to_ofnode(in->np); in ofnode_from_of_phandle_args()
416 int ofnode_parse_phandle_with_args(ofnode node, const char *list_name, in ofnode_parse_phandle_with_args() argument
421 if (ofnode_is_np(node)) { in ofnode_parse_phandle_with_args()
425 ret = of_parse_phandle_with_args(ofnode_to_np(node), in ofnode_parse_phandle_with_args()
437 ofnode_to_offset(node), in ofnode_parse_phandle_with_args()
448 int ofnode_count_phandle_with_args(ofnode node, const char *list_name, in ofnode_count_phandle_with_args() argument
451 if (ofnode_is_np(node)) in ofnode_count_phandle_with_args()
452 return of_count_phandle_with_args(ofnode_to_np(node), in ofnode_count_phandle_with_args()
456 ofnode_to_offset(node), list_name, cells_name, in ofnode_count_phandle_with_args()
495 ofnode node; in ofnode_read_aliases_prop() local
497 node = ofnode_path("/aliases"); in ofnode_read_aliases_prop()
499 return ofnode_read_prop(node, propname, sizep); in ofnode_read_aliases_prop()
526 static int decode_timing_property(ofnode node, const char *name, in decode_timing_property() argument
531 length = ofnode_read_size(node, name); in decode_timing_property()
534 ofnode_get_name(node), name); in decode_timing_property()
539 result->typ = ofnode_read_u32_default(node, name, 0); in decode_timing_property()
543 ret = ofnode_read_u32_array(node, name, &result->min, 3); in decode_timing_property()
553 ofnode timings, node; in ofnode_decode_display_timing() local
562 ofnode_for_each_subnode(node, timings) { in ofnode_decode_display_timing()
567 if (!ofnode_valid(node)) in ofnode_decode_display_timing()
572 ret |= decode_timing_property(node, "hback-porch", &dt->hback_porch); in ofnode_decode_display_timing()
573 ret |= decode_timing_property(node, "hfront-porch", &dt->hfront_porch); in ofnode_decode_display_timing()
574 ret |= decode_timing_property(node, "hactive", &dt->hactive); in ofnode_decode_display_timing()
575 ret |= decode_timing_property(node, "hsync-len", &dt->hsync_len); in ofnode_decode_display_timing()
576 ret |= decode_timing_property(node, "vback-porch", &dt->vback_porch); in ofnode_decode_display_timing()
577 ret |= decode_timing_property(node, "vfront-porch", &dt->vfront_porch); in ofnode_decode_display_timing()
578 ret |= decode_timing_property(node, "vactive", &dt->vactive); in ofnode_decode_display_timing()
579 ret |= decode_timing_property(node, "vsync-len", &dt->vsync_len); in ofnode_decode_display_timing()
580 ret |= decode_timing_property(node, "clock-frequency", &dt->pixelclock); in ofnode_decode_display_timing()
583 val = ofnode_read_u32_default(node, "vsync-active", -1); in ofnode_decode_display_timing()
588 val = ofnode_read_u32_default(node, "hsync-active", -1); in ofnode_decode_display_timing()
593 val = ofnode_read_u32_default(node, "de-active", -1); in ofnode_decode_display_timing()
598 val = ofnode_read_u32_default(node, "pixelclk-active", -1); in ofnode_decode_display_timing()
604 if (ofnode_read_bool(node, "interlaced")) in ofnode_decode_display_timing()
606 if (ofnode_read_bool(node, "doublescan")) in ofnode_decode_display_timing()
608 if (ofnode_read_bool(node, "doubleclk")) in ofnode_decode_display_timing()
614 const void *ofnode_get_property(ofnode node, const char *propname, int *lenp) in ofnode_get_property() argument
616 if (ofnode_is_np(node)) in ofnode_get_property()
617 return of_get_property(ofnode_to_np(node), propname, lenp); in ofnode_get_property()
619 return fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), in ofnode_get_property()
623 int ofnode_get_first_property(ofnode node, struct ofprop *prop) in ofnode_get_first_property() argument
625 prop->node = node; in ofnode_get_first_property()
627 if (ofnode_is_np(node)) { in ofnode_get_first_property()
628 prop->prop = of_get_first_property(ofnode_to_np(prop->node)); in ofnode_get_first_property()
634 ofnode_to_offset(prop->node)); in ofnode_get_first_property()
644 if (ofnode_is_np(prop->node)) { in ofnode_get_next_property()
645 prop->prop = of_get_next_property(ofnode_to_np(prop->node), in ofnode_get_next_property()
662 if (ofnode_is_np(prop->node)) in ofnode_get_property_by_prop()
663 return of_get_property_by_prop(ofnode_to_np(prop->node), in ofnode_get_property_by_prop()
671 bool ofnode_is_available(ofnode node) in ofnode_is_available() argument
673 if (ofnode_is_np(node)) in ofnode_is_available()
674 return of_device_is_available(ofnode_to_np(node)); in ofnode_is_available()
677 ofnode_to_offset(node)); in ofnode_is_available()
680 fdt_addr_t ofnode_get_addr_size(ofnode node, const char *property, in ofnode_get_addr_size() argument
683 if (ofnode_is_np(node)) { in ofnode_get_addr_size()
686 const struct device_node *np = ofnode_to_np(node); in ofnode_get_addr_size()
703 ofnode_to_offset(node), property, in ofnode_get_addr_size()
708 const uint8_t *ofnode_read_u8_array_ptr(ofnode node, const char *propname, in ofnode_read_u8_array_ptr() argument
711 if (ofnode_is_np(node)) { in ofnode_read_u8_array_ptr()
712 const struct device_node *np = ofnode_to_np(node); in ofnode_read_u8_array_ptr()
722 ofnode_to_offset(node), propname, sz); in ofnode_read_u8_array_ptr()
726 int ofnode_read_pci_addr(ofnode node, enum fdt_pci_space type, in ofnode_read_pci_addr() argument
741 cell = ofnode_get_property(node, propname, &len); in ofnode_read_pci_addr()
780 int ofnode_read_pci_vendev(ofnode node, u16 *vendor, u16 *device) in ofnode_read_pci_vendev() argument
785 list = ofnode_get_property(node, "compatible", &len); in ofnode_read_pci_vendev()
816 int ofnode_read_addr_cells(ofnode node) in ofnode_read_addr_cells() argument
818 if (ofnode_is_np(node)) { in ofnode_read_addr_cells()
819 return of_n_addr_cells(ofnode_to_np(node)); in ofnode_read_addr_cells()
822 ofnode_to_offset(node)); in ofnode_read_addr_cells()
828 int ofnode_read_size_cells(ofnode node) in ofnode_read_size_cells() argument
830 if (ofnode_is_np(node)) { in ofnode_read_size_cells()
831 return of_n_size_cells(ofnode_to_np(node)); in ofnode_read_size_cells()
834 ofnode_to_offset(node)); in ofnode_read_size_cells()
840 int ofnode_read_simple_addr_cells(ofnode node) in ofnode_read_simple_addr_cells() argument
842 if (ofnode_is_np(node)) in ofnode_read_simple_addr_cells()
843 return of_simple_addr_cells(ofnode_to_np(node)); in ofnode_read_simple_addr_cells()
845 return fdt_address_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_simple_addr_cells()
848 int ofnode_read_simple_size_cells(ofnode node) in ofnode_read_simple_size_cells() argument
850 if (ofnode_is_np(node)) in ofnode_read_simple_size_cells()
851 return of_simple_size_cells(ofnode_to_np(node)); in ofnode_read_simple_size_cells()
853 return fdt_size_cells(gd->fdt_blob, ofnode_to_offset(node)); in ofnode_read_simple_size_cells()
856 bool ofnode_pre_reloc(ofnode node) in ofnode_pre_reloc() argument
865 if (ofnode_read_bool(node, "u-boot,dm-pre-reloc")) in ofnode_pre_reloc()
867 if (ofnode_read_bool(node, "u-boot,dm-pre-proper")) in ofnode_pre_reloc()
874 if (ofnode_read_bool(node, "u-boot,dm-spl") || in ofnode_pre_reloc()
875 ofnode_read_bool(node, "u-boot,dm-tpl")) in ofnode_pre_reloc()
882 int ofnode_read_resource(ofnode node, uint index, struct resource *res) in ofnode_read_resource() argument
884 if (ofnode_is_np(node)) { in ofnode_read_resource()
885 return of_address_to_resource(ofnode_to_np(node), index, res); in ofnode_read_resource()
890 ret = fdt_get_resource(gd->fdt_blob, ofnode_to_offset(node), in ofnode_read_resource()
902 int ofnode_read_resource_byname(ofnode node, const char *name, in ofnode_read_resource_byname() argument
907 index = ofnode_stringlist_search(node, "reg-names", name); in ofnode_read_resource_byname()
911 return ofnode_read_resource(node, index, res); in ofnode_read_resource_byname()
914 u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr) in ofnode_translate_address() argument
916 if (ofnode_is_np(node)) in ofnode_translate_address()
917 return of_translate_address(ofnode_to_np(node), in_addr); in ofnode_translate_address()
919 return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr); in ofnode_translate_address()
922 u64 ofnode_translate_dma_address(ofnode node, const fdt32_t *in_addr) in ofnode_translate_dma_address() argument
924 if (ofnode_is_np(node)) in ofnode_translate_dma_address()
925 return of_translate_dma_address(ofnode_to_np(node), in_addr); in ofnode_translate_dma_address()
927 return fdt_translate_dma_address(gd->fdt_blob, ofnode_to_offset(node), in_addr); in ofnode_translate_dma_address()
930 int ofnode_get_dma_range(ofnode node, phys_addr_t *cpu, dma_addr_t *bus, u64 *size) in ofnode_get_dma_range() argument
932 if (ofnode_is_np(node)) in ofnode_get_dma_range()
933 return of_get_dma_range(ofnode_to_np(node), cpu, bus, size); in ofnode_get_dma_range()
935 return fdt_get_dma_range(gd->fdt_blob, ofnode_to_offset(node), in ofnode_get_dma_range()
939 int ofnode_device_is_compatible(ofnode node, const char *compat) in ofnode_device_is_compatible() argument
941 if (ofnode_is_np(node)) in ofnode_device_is_compatible()
942 return of_device_is_compatible(ofnode_to_np(node), compat, in ofnode_device_is_compatible()
946 ofnode_to_offset(node), in ofnode_device_is_compatible()
976 int ofnode_write_prop(ofnode node, const char *propname, int len, in ofnode_write_prop() argument
979 const struct device_node *np = ofnode_to_np(node); in ofnode_write_prop()
1023 int ofnode_write_string(ofnode node, const char *propname, const char *value) in ofnode_write_string() argument
1028 assert(ofnode_valid(node)); in ofnode_write_string()
1032 return ofnode_write_prop(node, propname, strlen(value) + 1, value); in ofnode_write_string()
1035 int ofnode_set_enabled(ofnode node, bool value) in ofnode_set_enabled() argument
1040 assert(ofnode_valid(node)); in ofnode_set_enabled()
1043 return ofnode_write_string(node, "status", "okay"); in ofnode_set_enabled()
1045 return ofnode_write_string(node, "status", "disabled"); in ofnode_set_enabled()