From aa351a14bd0a78221014719d190b565be60cb4ce Mon Sep 17 00:00:00 2001 From: Chen Guanqiao Date: Mon, 12 Apr 2021 14:51:11 +0800 Subject: dm: core: Add size operations on device tree references Add functions to add size of addresses in the device tree using ofnode references. If the size is not set, return FDT_SIZE_T_NONE. Signed-off-by: Chen Guanqiao Reviewed-by: Simon Glass --- include/dm/ofnode.h | 10 ++++++++++ include/fdtdec.h | 5 +++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h index 2c0597c4073..8a69fd87da7 100644 --- a/include/dm/ofnode.h +++ b/include/dm/ofnode.h @@ -510,6 +510,16 @@ phys_addr_t ofnode_get_addr_index(ofnode node, int index); */ phys_addr_t ofnode_get_addr(ofnode node); +/** + * ofnode_get_size() - get size from a node + * + * This reads the register size from a node + * + * @node: node to read from + * @return size of the address, or FDT_SIZE_T_NONE if not present or invalid + */ +fdt_size_t ofnode_get_size(ofnode node); + /** * ofnode_stringlist_search() - find a string in a string list and return index * diff --git a/include/fdtdec.h b/include/fdtdec.h index 62d16609732..e0a49b1e57f 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -24,15 +24,16 @@ typedef phys_addr_t fdt_addr_t; typedef phys_size_t fdt_size_t; -#ifdef CONFIG_PHYS_64BIT #define FDT_ADDR_T_NONE (-1U) +#define FDT_SIZE_T_NONE (-1U) + +#ifdef CONFIG_PHYS_64BIT #define fdt_addr_to_cpu(reg) be64_to_cpu(reg) #define fdt_size_to_cpu(reg) be64_to_cpu(reg) #define cpu_to_fdt_addr(reg) cpu_to_be64(reg) #define cpu_to_fdt_size(reg) cpu_to_be64(reg) typedef fdt64_t fdt_val_t; #else -#define FDT_ADDR_T_NONE (-1U) #define fdt_addr_to_cpu(reg) be32_to_cpu(reg) #define fdt_size_to_cpu(reg) be32_to_cpu(reg) #define cpu_to_fdt_addr(reg) cpu_to_be32(reg) -- cgit v1.3.1