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>
This commit is contained in:
committed by
Daniel Schwierzeck
parent
c3c8638804
commit
30a90f56c3
@@ -4,6 +4,8 @@
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <asm/io.h>
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <mapmem.h>
|
||||
@@ -57,6 +59,16 @@ fdt_addr_t dev_read_addr_index(struct udevice *dev, int index)
|
||||
return devfdt_get_addr_index(dev, index);
|
||||
}
|
||||
|
||||
void *dev_remap_addr_index(struct udevice *dev, int index)
|
||||
{
|
||||
fdt_addr_t addr = dev_read_addr_index(dev, index);
|
||||
|
||||
if (addr == FDT_ADDR_T_NONE)
|
||||
return NULL;
|
||||
|
||||
return map_physmem(addr, 0, MAP_NOCACHE);
|
||||
}
|
||||
|
||||
fdt_addr_t dev_read_addr(struct udevice *dev)
|
||||
{
|
||||
return dev_read_addr_index(dev, 0);
|
||||
@@ -69,6 +81,11 @@ void *dev_read_addr_ptr(struct udevice *dev)
|
||||
return (addr == FDT_ADDR_T_NONE) ? NULL : map_sysmem(addr, 0);
|
||||
}
|
||||
|
||||
void *dev_remap_addr(struct udevice *dev)
|
||||
{
|
||||
return dev_remap_addr_index(dev, 0);
|
||||
}
|
||||
|
||||
fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property,
|
||||
fdt_size_t *sizep)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user