From 51cb9275040b725b977de4ce709fe167ef169023 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 1 Oct 2018 12:37:19 +0200 Subject: ofnode: Replace of_n_addr_cells with of_n_size_cells The size should be decoded using of_n_size_cells(), make it so. Signed-off-by: Marek Vasut Cc: Simon Glass Cc: Tom Rini Reviewed-by: Simon Glass --- drivers/core/ofnode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/core/ofnode.c') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 1e354803b06..beb72963b8b 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -541,7 +541,7 @@ fdt_addr_t ofnode_get_addr_size(ofnode node, const char *property, if (!prop) return FDT_ADDR_T_NONE; na = of_n_addr_cells(np); - ns = of_n_addr_cells(np); + ns = of_n_size_cells(np); *sizep = of_read_number(prop + na, ns); return of_read_number(prop, na); } else { -- cgit v1.2.3 From a6a45cd32539dcc8d91a8c42d04f378598cfedf6 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 1 Oct 2018 12:37:20 +0200 Subject: ofnode: Add missing address translation into ofnode_get_addr_size() Of CONFIG_OF_TRANSLATE is enabled, this function still returns untranslated bogus results. Add the missing translation. Signed-off-by: Marek Vasut Cc: Simon Glass Cc: Tom Rini Reviewed-by: Simon Glass --- drivers/core/ofnode.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'drivers/core/ofnode.c') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index beb72963b8b..fbc67516fc3 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -543,7 +543,11 @@ fdt_addr_t ofnode_get_addr_size(ofnode node, const char *property, na = of_n_addr_cells(np); ns = of_n_size_cells(np); *sizep = of_read_number(prop + na, ns); - return of_read_number(prop, na); + + if (IS_ENABLED(CONFIG_OF_TRANSLATE) && ns > 0) + return of_translate_address(np, prop); + else + return of_read_number(prop, na); } else { return fdtdec_get_addr_size(gd->fdt_blob, ofnode_to_offset(node), property, -- cgit v1.2.3 From 06f94461a9f4769473651a34d7625f895ebe4996 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 1 Oct 2018 12:22:18 -0600 Subject: fdt: Allow indicating a node is for U-Boot proper only At present it is not possible to specify that a node should be used before relocation (in U-Boot proper) without it also ending up in SPL and TPL device trees. Add a new "u-boot,dm-pre-proper" boolean property for this. Signed-off-by: Simon Glass --- drivers/core/ofnode.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/core/ofnode.c') diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index fbc67516fc3..b7b7ad3a625 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -699,6 +699,8 @@ bool ofnode_pre_reloc(ofnode node) { if (ofnode_read_bool(node, "u-boot,dm-pre-reloc")) return true; + if (ofnode_read_bool(node, "u-boot,dm-pre-proper")) + return true; #ifdef CONFIG_TPL_BUILD if (ofnode_read_bool(node, "u-boot,dm-tpl")) -- cgit v1.2.3