From 147c6074482ed57fe43348ce15fc3dbc3e2c9db7 Mon Sep 17 00:00:00 2001 From: Mario Six Date: Mon, 15 Jan 2018 11:07:19 +0100 Subject: core: Add {ofnode, dev}_translate_address functions Reviewed-by: Simon Glass Signed-off-by: Mario Six --- drivers/core/ofnode.c | 8 ++++++++ drivers/core/read.c | 5 +++++ 2 files changed, 13 insertions(+) (limited to 'drivers') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index e0428e2a363..98f4b539ea4 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -649,3 +649,11 @@ int ofnode_read_resource_byname(ofnode node, const char *name, return ofnode_read_resource(node, index, res); } + +u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr) +{ + if (ofnode_is_np(node)) + return of_translate_address(ofnode_to_np(node), in_addr); + else + return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr); +} diff --git a/drivers/core/read.c b/drivers/core/read.c index aba87477087..ce33ecdadde 100644 --- a/drivers/core/read.c +++ b/drivers/core/read.c @@ -195,3 +195,8 @@ int dev_read_resource_byname(struct udevice *dev, const char *name, { return ofnode_read_resource_byname(dev_ofnode(dev), name, res); } + +u64 dev_translate_address(struct udevice *dev, const fdt32_t *in_addr) +{ + return ofnode_translate_address(dev_ofnode(dev), in_addr); +} -- cgit v1.3.1