mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 12:56:00 +01:00
fdtdec: Add fdt_{addr, size}_unpack() helpers
These helpers can be used to unpack variables of type fdt_addr_t and fdt_size_t into a pair of 32-bit variables. This is useful in cases where such variables need to be written to properties (such as "reg") of a device tree node where they need to be split into cells. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
155d0a08fb
commit
4f253ad064
@ -23,6 +23,31 @@
|
|||||||
*/
|
*/
|
||||||
typedef phys_addr_t fdt_addr_t;
|
typedef phys_addr_t fdt_addr_t;
|
||||||
typedef phys_size_t fdt_size_t;
|
typedef phys_size_t fdt_size_t;
|
||||||
|
|
||||||
|
static inline fdt32_t fdt_addr_unpack(fdt_addr_t addr, fdt32_t *upper)
|
||||||
|
{
|
||||||
|
if (upper)
|
||||||
|
#ifdef CONFIG_PHYS_64BIT
|
||||||
|
*upper = addr >> 32;
|
||||||
|
#else
|
||||||
|
*upper = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline fdt32_t fdt_size_unpack(fdt_size_t size, fdt32_t *upper)
|
||||||
|
{
|
||||||
|
if (upper)
|
||||||
|
#ifdef CONFIG_PHYS_64BIT
|
||||||
|
*upper = size >> 32;
|
||||||
|
#else
|
||||||
|
*upper = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PHYS_64BIT
|
#ifdef CONFIG_PHYS_64BIT
|
||||||
#define FDT_ADDR_T_NONE (-1U)
|
#define FDT_ADDR_T_NONE (-1U)
|
||||||
#define fdt_addr_to_cpu(reg) be64_to_cpu(reg)
|
#define fdt_addr_to_cpu(reg) be64_to_cpu(reg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user