]> git.sur5r.net Git - u-boot/blobdiff - drivers/core/ofnode.c
core: ofnode: Fix translation for #size-cells == 0
[u-boot] / drivers / core / ofnode.c
index 4e4532651fca608ae96a0d4d7b2e8bb28bacd44f..5909a25f85645bb61f1b1b7ea58d4cbc690306ab 100644 (file)
@@ -227,13 +227,16 @@ fdt_addr_t ofnode_get_addr_index(ofnode node, int index)
                uint flags;
                u64 size;
                int na;
+               int ns;
 
                prop_val = of_get_address(ofnode_to_np(node), index, &size,
                                          &flags);
                if (!prop_val)
                        return FDT_ADDR_T_NONE;
 
-               if (IS_ENABLED(CONFIG_OF_TRANSLATE)) {
+               ns = of_n_size_cells(ofnode_to_np(node));
+
+               if (IS_ENABLED(CONFIG_OF_TRANSLATE) && ns > 0) {
                        return of_translate_address(ofnode_to_np(node), prop_val);
                } else {
                        na = of_n_addr_cells(ofnode_to_np(node));