diff options
author | Simon Glass <sjg@chromium.org> | 2014-10-23 18:58:56 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-11-21 04:43:18 +0100 |
commit | 2640387148ad5e0197a8ac80c24f3473dee42a65 (patch) | |
tree | bb174337344044010875651980e4562dacad08a1 /include/fdtdec.h | |
parent | 41f09bbe594aac18fea208423494729d52b85eee (diff) | |
download | u-boot-imx-2640387148ad5e0197a8ac80c24f3473dee42a65.zip u-boot-imx-2640387148ad5e0197a8ac80c24f3473dee42a65.tar.gz u-boot-imx-2640387148ad5e0197a8ac80c24f3473dee42a65.tar.bz2 |
fdt: Add a function to decode a named memory region
Permit decoding of a named memory region from the device tree. This allows
easy run-time configuration of the address of on-chip SRAM, SDRAM, etc.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'include/fdtdec.h')
-rw-r--r-- | include/fdtdec.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/fdtdec.h b/include/fdtdec.h index 1a931e8..a7655dc 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -677,4 +677,31 @@ int fdt_get_named_resource(const void *fdt, int node, const char *property, */ int fdtdec_pci_get_bdf(const void *fdt, int node, int *bdf); +/** + * Decode a named region within a memory bank of a given type. + * + * This function handles selection of a memory region. The region is + * specified as an offset/size within a particular type of memory. + * + * The properties used are: + * + * <mem_type>-memory<suffix> for the name of the memory bank + * <mem_type>-offset<suffix> for the offset in that bank + * + * The property value must have an offset and a size. The function checks + * that the region is entirely within the memory bank.5 + * + * @param blob FDT blob + * @param node Node containing the properties (-1 for /config) + * @param mem_type Type of memory to use, which is a name, such as + * "u-boot" or "kernel". + * @param suffix String to append to the memory/offset + * property names + * @param basep Returns base of region + * @param sizep Returns size of region + * @return 0 if OK, -ive on error + */ +int fdtdec_decode_memory_region(const void *blob, int node, + const char *mem_type, const char *suffix, + fdt_addr_t *basep, fdt_size_t *sizep); #endif |