cros_ec: Add a function for reading a flash map entry
A flash map describes the layout of flash memory in terms of offsets and sizes for each region. Add a function to read a flash map entry from the device tree. Reviewed-by: Che-Liang Chiou <clchiou@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
cecb19c03f
commit
006e73b9ca
@ -530,4 +530,22 @@ const u8 *fdtdec_locate_byte_array(const void *blob, int node,
|
||||
*/
|
||||
int fdtdec_decode_region(const void *blob, int node,
|
||||
const char *prop_name, void **ptrp, size_t *size);
|
||||
|
||||
/* A flash map entry, containing an offset and length */
|
||||
struct fmap_entry {
|
||||
uint32_t offset;
|
||||
uint32_t length;
|
||||
};
|
||||
|
||||
/**
|
||||
* Read a flash entry from the fdt
|
||||
*
|
||||
* @param blob FDT blob
|
||||
* @param node Offset of node to read
|
||||
* @param name Name of node being read
|
||||
* @param entry Place to put offset and size of this node
|
||||
* @return 0 if ok, -ve on error
|
||||
*/
|
||||
int fdtdec_read_fmap_entry(const void *blob, int node, const char *name,
|
||||
struct fmap_entry *entry);
|
||||
#endif
|
||||
|
24
lib/fdtdec.c
24
lib/fdtdec.c
@ -617,3 +617,27 @@ int fdtdec_decode_region(const void *blob, int node,
|
||||
debug("%s: size=%zx\n", __func__, *size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read a flash entry from the fdt
|
||||
*
|
||||
* @param blob FDT blob
|
||||
* @param node Offset of node to read
|
||||
* @param name Name of node being read
|
||||
* @param entry Place to put offset and size of this node
|
||||
* @return 0 if ok, -ve on error
|
||||
*/
|
||||
int fdtdec_read_fmap_entry(const void *blob, int node, const char *name,
|
||||
struct fmap_entry *entry)
|
||||
{
|
||||
u32 reg[2];
|
||||
|
||||
if (fdtdec_get_int_array(blob, node, "reg", reg, 2)) {
|
||||
debug("Node '%s' has bad/missing 'reg' property\n", name);
|
||||
return -FDT_ERR_NOTFOUND;
|
||||
}
|
||||
entry->offset = reg[0];
|
||||
entry->length = reg[1];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user