Lines Matching +full:- +full:- +full:tree +full:- +full:view

1 // SPDX-License-Identifier: GPL-2.0+
6 * Copyright 2010-2011 Freescale Semiconductor, Inc.
21 * fdt_getprop_u32_default_node - Return a node's property or a default
23 * @fdt: ptr to device tree
52 * fdt_getprop_u32_default - Find a node and return it's property or a default
54 * @fdt: ptr to device tree
77 * @fdt: ptr to device tree
101 * fdt_find_or_add_subnode() - find or possibly add a subnode of a given node
103 * @fdt: pointer to the device tree blob
116 if (offset == -FDT_ERR_NOTFOUND) in fdt_find_or_add_subnode()
129 return fdt_setprop(fdt, chosenoff, "linux,stdout-path", in fdt_fixup_stdout()
142 sprintf(sername, "serial%d", CONFIG_CONS_INDEX - 1); in fdt_fixup_stdout()
159 err = fdt_setprop(fdt, chosenoff, "linux,stdout-path", tmp, len); in fdt_fixup_stdout()
161 printf("WARNING: could not set linux,stdout-path %s.\n", in fdt_fixup_stdout()
201 err = fdt_setprop(fdt, 0, "serial-number", serial, in fdt_root()
205 printf("WARNING: could not set serial-number %s.\n", in fdt_root()
244 err = fdt_add_mem_rsv(fdt, initrd_start, initrd_end - initrd_start); in fdt_initrd()
252 err = fdt_setprop_uxx(fdt, nodeoffset, "linux,initrd-start", in fdt_initrd()
256 printf("WARNING: could not set linux,initrd-start %s.\n", in fdt_initrd()
261 err = fdt_setprop_uxx(fdt, nodeoffset, "linux,initrd-end", in fdt_initrd()
265 printf("WARNING: could not set linux,initrd-end %s.\n", in fdt_initrd()
341 off = fdt_node_offset_by_prop_value(fdt, -1, pname, pval, plen); in do_fixup_by_prop()
342 while (off != -FDT_ERR_NOTFOUND) { in do_fixup_by_prop()
360 int off = -1; in do_fixup_by_compat()
368 off = fdt_node_offset_by_compatible(fdt, -1, compat); in do_fixup_by_compat()
369 while (off != -FDT_ERR_NOTFOUND) { in do_fixup_by_compat()
385 * fdt_pack_reg - pack address and size array into the "reg"-suitable stream
409 return p - (char *)buf; in fdt_pack_reg()
421 u8 tmp[MEMORY_BANKS_MAX * 16]; /* Up to 64-bit address + 64-bit size */ in fdt_fixup_memory_banks()
427 return -1; in fdt_fixup_memory_banks()
525 if (i != -1) { in fdt_fixup_ethernet()
537 if (fdt_prop && !strcmp(fdt_prop->data, "disabled")) in fdt_fixup_ethernet()
552 do_fixup_by_path(fdt, path, "mac-address", in fdt_fixup_ethernet()
554 do_fixup_by_path(fdt, path, "local-mac-address", in fdt_fixup_ethernet()
572 /* find or create "/fit-images" node */ in fdt_record_loadable()
573 node = fdt_find_or_add_subnode(blob, 0, "fit-images"); in fdt_record_loadable()
577 /* find or create "/fit-images/<name>" node */ in fdt_record_loadable()
587 fdt_setprop_u32(blob, node, "load-addr", load_addr); in fdt_record_loadable()
588 if (entry_point != -1) in fdt_record_loadable()
589 fdt_setprop_u32(blob, node, "entry-point", entry_point); in fdt_record_loadable()
623 * ((initrd-start + initrd-end) * 2 (name & value)) in fdt_shrink_to_minimum()
631 actualsize = actualsize - ((uintptr_t)blob & 0xfff); in fdt_shrink_to_minimum()
656 /* sized based on pci addr cells, size-cells, & address-cells */ in fdt_pci_dma_ranges()
659 addrcell = fdt_getprop_u32_default(blob, "/", "#address-cells", 1); in fdt_pci_dma_ranges()
660 sizecell = fdt_getprop_u32_default(blob, "/", "#size-cells", 1); in fdt_pci_dma_ranges()
663 for (r = 0; r < hose->region_count; r++) { in fdt_pci_dma_ranges()
667 if (!(hose->regions[r].flags & PCI_REGION_SYS_MEMORY)) in fdt_pci_dma_ranges()
670 bus_start = (u64)hose->regions[r].bus_start; in fdt_pci_dma_ranges()
671 phys_start = (u64)hose->regions[r].phys_start; in fdt_pci_dma_ranges()
672 size = (u64)hose->regions[r].size; in fdt_pci_dma_ranges()
679 if (hose->regions[r].flags & PCI_REGION_PREFETCH) in fdt_pci_dma_ranges()
705 len = dma_range - &dma_ranges[0]; in fdt_pci_dma_ranges()
707 fdt_setprop(blob, phb_off, "dma-ranges", &dma_ranges[0], len*4); in fdt_pci_dma_ranges()
808 list_for_each_prev(pentry, &dev->parts) { in fdt_node_set_part_info()
813 debug("%2d: %-20s0x%08llx\t0x%08llx\t%d\n", in fdt_node_set_part_info()
814 part_num, part->name, part->size, in fdt_node_set_part_info()
815 part->offset, part->mask_flags); in fdt_node_set_part_info()
817 sprintf(buf, "partition@%llx", part->offset); in fdt_node_set_part_info()
820 if (ret == -FDT_ERR_NOSPACE) { in fdt_node_set_part_info()
834 if (part->mask_flags & 1) { in fdt_node_set_part_info()
837 if (ret == -FDT_ERR_NOSPACE) { in fdt_node_set_part_info()
847 cell.r0 = cpu_to_fdt32(part->offset); in fdt_node_set_part_info()
848 cell.r1 = cpu_to_fdt32(part->size); in fdt_node_set_part_info()
851 if (ret == -FDT_ERR_NOSPACE) { in fdt_node_set_part_info()
861 ret = fdt_setprop_string(blob, newoff, "label", part->name); in fdt_node_set_part_info()
862 if (ret == -FDT_ERR_NOSPACE) { in fdt_node_set_part_info()
890 * { "fsl,mpc5121-nfc", MTD_DEV_TYPE_NAND, },
891 * { "cfi-flash", MTD_DEV_TYPE_NOR, },
908 noff = fdt_node_offset_by_compatible(blob, -1, in fdt_fixup_mtdparts()
910 while (noff != -FDT_ERR_NOTFOUND) { in fdt_fixup_mtdparts()
952 while(na--) in of_dump_addr()
961 * struct of_bus - Callbacks for bus specific translators
965 * @match: Return non-zero if the node whose parent is at
984 * zero on success, non-zero on error.
1011 prop = fdt_getprop(blob, parentoffset, "#size-cells", NULL); in fdt_support_default_count_cells()
1032 return da - cp; in of_bus_default_map()
1041 addr[na - 2] = cpu_to_fdt32(a >> 32); in of_bus_default_translate()
1042 addr[na - 1] = cpu_to_fdt32(a & 0xffffffffu); in of_bus_default_translate()
1079 cp = fdt_read_number(range + 1, na - 1); in of_bus_isa_map()
1081 da = fdt_read_number(addr + 1, na - 1); in of_bus_isa_map()
1087 return da - cp; in of_bus_isa_map()
1092 return of_bus_default_translate(addr + 1, offset, na - 1); in of_bus_isa_translate()
1128 if (!bus->match || bus->match(blob, parentoffset)) in of_match_bus()
1152 * crossing a non-translatable boundary, and thus the addresses in of_translate_one()
1155 * what Apple understood, and they do have things like /uni-n or in of_translate_one()
1161 * the first place. --BenH. in of_translate_one()
1176 for (; rlen >= rone; rlen -= rone, ranges += rone) { in of_translate_one()
1177 offset = bus->map(addr, ranges, na, ns, pna); in of_translate_one()
1192 return pbus->translate(addr, offset, pna); in of_translate_one()
1196 * Translate an address from the device-tree into a CPU physical address,
1197 * this walks up the tree and applies the various bus mappings on the
1200 * Note: We consider that crossing any level with #size-cells == 0 to mean
1224 bus->count_cells(blob, parent, &na, &ns); in __of_translate_address()
1233 bus->name, na, ns, fdt_get_name(blob, parent, NULL)); in __of_translate_address()
1251 pbus->count_cells(blob, parent, &pna, &pns); in __of_translate_address()
1259 pbus->name, pna, pns, fdt_get_name(blob, parent, NULL)); in __of_translate_address()
1288 * @blob: ptr to device tree
1296 int len, off = fdt_node_offset_by_compatible(blob, -1, compat); in fdt_node_offset_by_compat_reg()
1297 while (off != -FDT_ERR_NOTFOUND) { in fdt_node_offset_by_compat_reg()
1306 return -FDT_ERR_NOTFOUND; in fdt_node_offset_by_compat_reg()
1312 * @blob: ptr to device tree
1319 for (offset = fdt_next_node(blob, -1, NULL); offset >= 0; in fdt_alloc_phandle()
1330 * @fdt: ptr to device tree
1350 return -FDT_ERR_BADPHANDLE; in fdt_set_phandle()
1370 * @fdt: ptr to device tree
1397 * @fdt: ptr to device tree
1423 sprintf(buf, "fail-%d", error_code); in fdt_set_node_status()
1428 ret = -1; in fdt_set_node_status()
1438 * @fdt: ptr to device tree
1458 noff = fdt_node_offset_by_compatible(blob, -1, compat); in fdt_add_edid()
1459 if (noff != -FDT_ERR_NOTFOUND) { in fdt_add_edid()
1463 if (ret == -FDT_ERR_NOSPACE) { in fdt_add_edid()
1482 * Verify the physical address of device tree node for a given alias
1484 * This function locates the device tree node of a given alias, and then
1505 printf("Warning: device tree alias '%s' points to invalid " in fdt_verify_alias_address()
1512 printf("Warning: device tree node '%s' has no address.\n", in fdt_verify_alias_address()
1519 printf("Warning: U-Boot configured device %s at address %llu,\n" in fdt_verify_alias_address()
1520 "but the device tree has it address %llx.\n", in fdt_verify_alias_address()
1551 return -FDT_ERR_NOSPACE; in fdt_read_prop()
1561 return -FDT_ERR_NOSPACE; in fdt_read_prop()
1568 * fdt_read_range - Read a node's n'th range property
1570 * @fdt: ptr to device tree
1574 * @addr: pointer to storage for the CPU view translated physical start
1598 pacells = fdt_getprop_u32_default_node(fdt, pnode, 0, "#address-cells", 1); in fdt_read_range()
1599 acells = fdt_getprop_u32_default_node(fdt, node, 0, "#address-cells", 1); in fdt_read_range()
1600 scells = fdt_getprop_u32_default_node(fdt, node, 0, "#size-cells", 1); in fdt_read_range()
1605 return -FDT_ERR_NOTFOUND; in fdt_read_range()
1636 * fdt_setup_simplefb_node - Fill and enable a simplefb node
1638 * @fdt: ptr to device tree
1698 * Update native-mode in display-timings from display environment variable.
1706 return -FDT_ERR_NOTFOUND; in fdt_fixup_display()
1710 toff = fdt_subnode_offset(blob, toff, "display-timings"); in fdt_fixup_display()
1721 return fdt_setprop_u32(blob, toff, "native-mode", h); in fdt_fixup_display()
1728 * fdt_overlay_apply_verbose - Apply an overlay with verbose error reporting
1730 * @fdt: ptr to device tree
1731 * @fdto: ptr to device tree overlay
1750 printf("make sure you've compiled with -@\n"); in fdt_overlay_apply_verbose()