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>
This commit is contained in:
Simon Glass
2014-10-23 18:58:56 -06:00
parent 41f09bbe59
commit 2640387148
2 changed files with 88 additions and 0 deletions

View File

@@ -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