mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 08:30:50 +09:00
fdt: Add function to get config int from device tree
Add a function to look up a configuration item such as machine id and return its value. Note: The code has been taken as is from the Chromium u-boot development tree and needs Simon Glass' sign-off. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
59852d0386
commit
09258f1e8b
@ -354,6 +354,19 @@ int fdtdec_decode_gpio(const void *blob, int node, const char *prop_name,
|
|||||||
*/
|
*/
|
||||||
int fdtdec_setup_gpio(struct fdt_gpio_state *gpio);
|
int fdtdec_setup_gpio(struct fdt_gpio_state *gpio);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Look in the FDT for a config item with the given name and return its value
|
||||||
|
* as a 32-bit integer. The property must have at least 4 bytes of data. The
|
||||||
|
* value of the first cell is returned.
|
||||||
|
*
|
||||||
|
* @param blob FDT blob to use
|
||||||
|
* @param prop_name Node property name
|
||||||
|
* @param default_val default value to return if the property is not found
|
||||||
|
* @return integer value, if found, or default_val if not
|
||||||
|
*/
|
||||||
|
int fdtdec_get_config_int(const void *blob, const char *prop_name,
|
||||||
|
int default_val);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Look up a property in a node and return its contents in a byte
|
* Look up a property in a node and return its contents in a byte
|
||||||
* array of given length. The property must have at least enough data for
|
* array of given length. The property must have at least enough data for
|
||||||
|
22
lib/fdtdec.c
22
lib/fdtdec.c
@ -512,3 +512,25 @@ const u8 *fdtdec_locate_byte_array(const void *blob, int node,
|
|||||||
return NULL;
|
return NULL;
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Look in the FDT for a config item with the given name and return its value
|
||||||
|
* as a 32-bit integer. The property must have at least 4 bytes of data. The
|
||||||
|
* value of the first cell is returned.
|
||||||
|
*
|
||||||
|
* @param blob FDT blob to use
|
||||||
|
* @param prop_name Node property name
|
||||||
|
* @param default_val default value to return if the property is not found
|
||||||
|
* @return integer value, if found, or default_val if not
|
||||||
|
*/
|
||||||
|
int fdtdec_get_config_int(const void *blob, const char *prop_name,
|
||||||
|
int default_val)
|
||||||
|
{
|
||||||
|
int config_node;
|
||||||
|
|
||||||
|
debug("%s: %s\n", __func__, prop_name);
|
||||||
|
config_node = fdt_path_offset(blob, "/config");
|
||||||
|
if (config_node < 0)
|
||||||
|
return default_val;
|
||||||
|
return fdtdec_get_int(blob, config_node, prop_name, default_val);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user