diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2018-04-29 21:56:54 +0200 |
---|---|---|
committer | Daniel Schwierzeck <daniel.schwierzeck@gmail.com> | 2018-06-01 15:56:02 +0200 |
commit | 30a90f56c3a20da0456e09e6e665b648719b8935 (patch) | |
tree | cb89e7bcd28929b59dc90cb5cced979d9b19b090 /drivers/core/fdtaddr.c | |
parent | c3c863880479edeb5b08226e622d13c91326e4a7 (diff) | |
download | u-boot-30a90f56c3a20da0456e09e6e665b648719b8935.tar.gz |
dm: core: add functions to get memory-mapped I/O addresses
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core/fdtaddr.c')
-rw-r--r-- | drivers/core/fdtaddr.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/core/fdtaddr.c b/drivers/core/fdtaddr.c index 528cf47296..f8cdbd6688 100644 --- a/drivers/core/fdtaddr.c +++ b/drivers/core/fdtaddr.c @@ -136,6 +136,21 @@ void *devfdt_get_addr_ptr(struct udevice *dev) return (void *)(uintptr_t)devfdt_get_addr_index(dev, 0); } +void *devfdt_remap_addr_index(struct udevice *dev, int index) +{ + fdt_addr_t addr = devfdt_get_addr(dev); + + if (addr == FDT_ADDR_T_NONE) + return NULL; + + return map_physmem(addr, 0, MAP_NOCACHE); +} + +void *devfdt_remap_addr(struct udevice *dev) +{ + return devfdt_remap_addr_index(dev, 0); +} + void *devfdt_map_physmem(struct udevice *dev, unsigned long size) { fdt_addr_t addr = devfdt_get_addr(dev); |