Lines Matching +full:address +full:- +full:translation

1 // SPDX-License-Identifier: GPL-2.0+
3 * FDT Address translation based on u-boot fdt_support.c which in turn was
4 * based on the kernel unflattened DT address translation code.
9 * Copyright 2010-2011 Freescale Semiconductor, Inc.
41 prop = fdt_getprop(blob, parentoffset, "#address-cells", NULL); in fdt_bus_default_count_cells()
45 *addrc = -1; in fdt_bus_default_count_cells()
49 prop = fdt_getprop(blob, parentoffset, "#size-cells", NULL); in fdt_bus_default_count_cells()
53 *sizec = -1; in fdt_bus_default_count_cells()
71 return da - cp; in fdt_bus_default_map()
80 addr[na - 2] = cpu_to_fdt32(a >> 32); in fdt_bus_default_translate()
81 addr[na - 1] = cpu_to_fdt32(a & 0xffffffffu); in fdt_bus_default_translate()
112 pr_debug("empty ranges, 1:1 translation\n"); in fdt_translate_one()
121 for (; rlen >= rone; rlen -= rone, ranges += rone) { in fdt_translate_one()
122 offset = bus->map(addr, ranges, na, ns, pna); in fdt_translate_one()
133 of_dump_addr("parent translation for:", addr, pna); in fdt_translate_one()
137 return pbus->translate(addr, offset, pna); in fdt_translate_one()
141 * Translate an address from the device-tree into a CPU physical address,
145 * Note: We consider that crossing any level with #size-cells == 0 to mean
146 * that translation is impossible (that is we are not dealing with a value
147 * that can be mapped to a cpu physical address). This is not really specified
159 pr_debug("** translation for device %s **\n", in fdt_translate_address()
164 pr_err("warning: device tree node '%s' has no address.\n", in fdt_translate_address()
175 /* Cound address cells & copy address locally */ in fdt_translate_address()
176 bus->count_cells(blob, parent, &na, &ns); in fdt_translate_address()
186 of_dump_addr("translating address:", addr, na); in fdt_translate_address()
203 pbus->count_cells(blob, parent, &pna, &pns); in fdt_translate_address()
213 /* Apply bus translation */ in fdt_translate_address()
223 of_dump_addr("one level translation:", addr, na); in fdt_translate_address()
230 * of_flat_dt_translate_address - translate DT addr into CPU phys addr