diff options
| author | Tom Rini <trini@konsulko.com> | 2023-09-21 10:51:58 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2023-09-21 10:51:58 -0400 | 
| commit | 5d2fae79c7d60eaf7f50322e4ec125d2f58544e9 (patch) | |
| tree | e1afcf0f540ca40908a835cca26e2d61fc098304 /include/dm | |
| parent | bcfde74974e2c399e414e8c55665bfed2612da5d (diff) | |
| parent | a3ade3dae4d93f9b5282ddb4885d69161729ec6d (diff) | |
Merge tag 'xilinx-for-v2024.01-rc1-v2' of https://source.denx.de/u-boot/custodians/u-boot-microblaze into next
Xilinx changes for v2024.01-rc1
clk:
- Dont return error when assigned-clocks is empty or missing
dm:
- Support reading a single indexed u64 value
- Add support for reading bootscript address/flash address from DT
cmd:
- Fix flash_is_unlocked API
fpga:
- Define fpga_load() for debug build
global:
- U-Boot project name cleanup (next2)
net:
- zynq_gem: Use generic_phy_valid() helper
- axienet: Convert to ofnode functions
- gmii2rgmii: Read bridge address from DT
pytest:
- skip tpm2_startup when env__tpm_device_test_skip=True
spi-nor:
- Add mx25u25635f support
- zynqmp_qspi: Tune cache behavior
trace:
- Fix flyrecord alignment issue
xilinx:
- Move scriptaddr to DT as bootscr-address
- Pick script_offset_f/script_size_f from DT as bootscr-flash-offset/size
- Do not generate distro boot variables if disabled
versal:
- Extend memory ranges to cover HBM
- Enable TPM, sha1sum and KASLRSEED
- Fix distroboot prioritization in connection to available devices
- Clean mini targets bootcommand
- Fix clock driver
versal-net:
- Enable TPM, sha1sum and KASLRSEED
- Fix distroboot prioritization in connection to available devices
zynqmp;
- Allow AES to run from SPL
- Enable CMD_KASLRSEED
- Add proper dependencies for USB and remove ZYNQMP_USB
- Fix user si570 default frequency for zcu* boards
- Cover SOM rev2 revision
- Various DT changes
- Add firmware and pinctrl support for tristate configuration
  (high impedance/output enable)
- Add output-enable pins to SOMs
- Fix distroboot prioritization in connection to available devices
- Read bootscript address/flash address from DT
- Fix pcap_prog address
Diffstat (limited to 'include/dm')
| -rw-r--r-- | include/dm/of_access.h | 19 | ||||
| -rw-r--r-- | include/dm/ofnode.h | 65 | 
2 files changed, 84 insertions, 0 deletions
| diff --git a/include/dm/of_access.h b/include/dm/of_access.h index c556a18f7d9..9361d0a87bf 100644 --- a/include/dm/of_access.h +++ b/include/dm/of_access.h @@ -334,6 +334,25 @@ int of_read_u32_index(const struct device_node *np, const char *propname,  		      int index, u32 *outp);  /** + * of_read_u64_index() - Find and read a 64-bit value from a multi-value + *                       property + * + * @np:		device node from which the property value is to be read. + * @propname:	name of the property to be searched. + * @index:	index of the u32 in the list of values + * @outp:	pointer to return value, modified only if return value is 0. + * + * Search for a property in a device node and read a 64-bit value from + * it. + * + * Return: + *   0 on success, -EINVAL if the property does not exist, or -EOVERFLOW if the + *   property data isn't large enough. + */ +int of_read_u64_index(const struct device_node *np, const char *propname, +		      int index, u64 *outp); + +/**   * of_read_u64() - Find and read a 64-bit integer from a property   *   * Search for a property in a device node and read a 64-bit value from diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 0f38b3e736d..06ea68e81c5 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -20,6 +20,7 @@  struct resource;  #include <dm/ofnode_decl.h> +#include <linux/errno.h>  struct ofnode_phandle_args {  	ofnode node; @@ -435,6 +436,18 @@ int ofnode_read_u32_index(ofnode node, const char *propname, int index,  			  u32 *outp);  /** + * ofnode_read_u64_index() - Read a 64-bit integer from a multi-value property + * + * @node:	valid node reference to read property from + * @propname:	name of the property to read from + * @index:	index of the integer to return + * @outp:	place to put value (if found) + * Return: 0 if OK, -ve on error + */ +int ofnode_read_u64_index(ofnode node, const char *propname, int index, +			  u64 *outp); + +/**   * ofnode_read_s32() - Read a 32-bit integer from a property   *   * @node:	valid node reference to read property from @@ -1500,6 +1513,47 @@ int ofnode_conf_read_int(const char *prop_name, int default_val);   */  const char *ofnode_conf_read_str(const char *prop_name); +/** + * ofnode_read_bootscript_address() - Read bootscr-address or bootscr-ram-offset + * + * @bootscr_address: pointer to 64bit address where bootscr-address property value + * is stored + * @bootscr_offset:  pointer to 64bit offset address where bootscr-ram-offset + * property value is stored + * + * This reads a bootscr-address or bootscr-ram-offset property from + * the /options/u-boot/ node of the devicetree. bootscr-address holds the full + * address of the boot script file. bootscr-ram-offset holds the boot script + * file offset from the start of the ram base address. When bootscr-address is + * defined, bootscr-ram-offset property is ignored. + * + * This only works with the control FDT. + * + * Return: 0 if OK, -EINVAL if property is not found. + */ +int ofnode_read_bootscript_address(u64 *bootscr_address, u64 *bootscr_offset); + +/** + * ofnode_read_bootscript_flash() - Read bootscr-flash-offset/size + * + * @bootscr_flash_offset: pointer to 64bit offset where bootscr-flash-offset + * property value is stored + * @bootscr_flash_size: pointer to 64bit size where bootscr-flash-size property + * value is stored + * + * This reads a bootscr-flash-offset and bootscr-flash-size properties from + * the /options/u-boot/ node of the devicetree. bootscr-flash-offset holds + * the offset of the boot script file from start of flash. bootscr-flash-size + * holds the boot script size in flash. When bootscr-flash-size is not defined, + * bootscr-flash-offset property is cleaned. + * + * This only works with the control FDT. + * + * Return: 0 if OK, -EINVAL if property is not found or incorrect. + */ +int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset, +				 u64 *bootscr_flash_size); +  #else /* CONFIG_DM */  static inline bool ofnode_conf_read_bool(const char *prop_name)  { @@ -1516,6 +1570,17 @@ static inline const char *ofnode_conf_read_str(const char *prop_name)  	return NULL;  } +static inline int ofnode_read_bootscript_address(u64 *bootscr_address, u64 *bootscr_offset) +{ +	return -EINVAL; +} + +static inline int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset, +					       u64 *bootscr_flash_size) +{ +	return -EINVAL; +} +  #endif /* CONFIG_DM */  /** | 
