Lines Matching refs:fdt

19 static bool __init device_tree_node_matches(const void *fdt, int node,  in device_tree_node_matches()  argument
25 name = fdt_get_name(fdt, node, NULL); in device_tree_node_matches()
34 static bool __init device_tree_node_compatible(const void *fdt, int node, in device_tree_node_compatible() argument
43 prop = fdt_getprop(fdt, node, "compatible", &len); in device_tree_node_compatible()
65 static u32 __init device_tree_get_u32(const void *fdt, int node, in device_tree_get_u32() argument
70 prop = fdt_get_property(fdt, node, prop_name, NULL); in device_tree_get_u32()
88 int __init device_tree_for_each_node(const void *fdt, in device_tree_for_each_node() argument
100 node = fdt_next_node(fdt, node, &depth) ) in device_tree_for_each_node()
102 const char *name = fdt_get_name(fdt, node, NULL); in device_tree_for_each_node()
115 address_cells[depth] = device_tree_get_u32(fdt, node, in device_tree_for_each_node()
117 size_cells[depth] = device_tree_get_u32(fdt, node, in device_tree_for_each_node()
120 ret = func(fdt, node, name, depth, as, ss, data); in device_tree_for_each_node()
127 static void __init process_memory_node(const void *fdt, int node, in process_memory_node() argument
145 prop = fdt_get_property(fdt, node, "reg", NULL); in process_memory_node()
166 static void __init process_multiboot_node(const void *fdt, int node, in process_multiboot_node() argument
178 prop = fdt_get_property(fdt, node, "reg", &len); in process_multiboot_node()
189 if ( fdt_node_check_compatible(fdt, node, "xen,linux-zimage") == 0 || in process_multiboot_node()
190 fdt_node_check_compatible(fdt, node, "multiboot,kernel") == 0 ) in process_multiboot_node()
192 else if ( fdt_node_check_compatible(fdt, node, "xen,linux-initrd") == 0 || in process_multiboot_node()
193 fdt_node_check_compatible(fdt, node, "multiboot,ramdisk") == 0 ) in process_multiboot_node()
195 else if ( fdt_node_check_compatible(fdt, node, "xen,xsm-policy") == 0 ) in process_multiboot_node()
223 prop = fdt_get_property(fdt, node, "bootargs", &len); in process_multiboot_node()
236 static void __init process_chosen_node(const void *fdt, int node, in process_chosen_node() argument
246 prop = fdt_get_property(fdt, node, "linux,initrd-start", &len); in process_chosen_node()
257 prop = fdt_get_property(fdt, node, "linux,initrd-end", &len); in process_chosen_node()
282 static int __init early_scan_node(const void *fdt, in early_scan_node() argument
287 if ( device_tree_node_matches(fdt, node, "memory") ) in early_scan_node()
288 process_memory_node(fdt, node, name, address_cells, size_cells); in early_scan_node()
289 else if ( device_tree_node_compatible(fdt, node, "xen,multiboot-module" ) || in early_scan_node()
290 device_tree_node_compatible(fdt, node, "multiboot,module" )) in early_scan_node()
291 process_multiboot_node(fdt, node, name, address_cells, size_cells); in early_scan_node()
292 else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") ) in early_scan_node()
293 process_chosen_node(fdt, node, name, address_cells, size_cells); in early_scan_node()
336 size_t __init boot_fdt_info(const void *fdt, paddr_t paddr) in boot_fdt_info() argument
340 ret = fdt_check_header(fdt); in boot_fdt_info()
344 add_boot_module(BOOTMOD_FDT, paddr, fdt_totalsize(fdt), NULL); in boot_fdt_info()
346 device_tree_for_each_node((void *)fdt, early_scan_node, NULL); in boot_fdt_info()
349 return fdt_totalsize(fdt); in boot_fdt_info()
352 const char *boot_fdt_cmdline(const void *fdt) in boot_fdt_cmdline() argument
357 node = fdt_path_offset(fdt, "/chosen"); in boot_fdt_cmdline()
361 prop = fdt_get_property(fdt, node, "xen,xen-bootargs", NULL); in boot_fdt_cmdline()
367 if (fdt_get_property(fdt, node, "xen,dom0-bootargs", NULL) || in boot_fdt_cmdline()
369 prop = fdt_get_property(fdt, node, "bootargs", NULL); in boot_fdt_cmdline()