Hi I got same issue on STM32F746
Patrice On 10/04/2018 09:24 AM, Michal Simek wrote: > This reverts commit c35a7d375ec8f0a8ee343ae4868be3242172632e. > This commit is breaking SPL on zc706. > > Signed-off-by: Michal Simek <michal.si...@xilinx.com> > --- > > lib/fdtdec.c | 44 +++++++++++++++++++++++--------------------- > 1 file changed, 23 insertions(+), 21 deletions(-) > > diff --git a/lib/fdtdec.c b/lib/fdtdec.c > index 74196ce7f9f7..bf5e0f6a57c0 100644 > --- a/lib/fdtdec.c > +++ b/lib/fdtdec.c > @@ -15,7 +15,6 @@ > #include <serial.h> > #include <asm/sections.h> > #include <linux/ctype.h> > -#include <linux/ioport.h> > #include <linux/lzo.h> > > DECLARE_GLOBAL_DATA_PTR; > @@ -1182,34 +1181,41 @@ int fdtdec_setup_mem_size_base(void) > > #if defined(CONFIG_NR_DRAM_BANKS) > > -static ofnode get_next_memory_node(ofnode mem) > +static int get_next_memory_node(const void *blob, int mem) > { > do { > - mem = ofnode_by_prop_value(mem, "device_type", "memory", 7); > - } while (ofnode_valid(mem) && !ofnode_is_available(mem)); > + mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem, > + "device_type", "memory", 7); > + } while (!fdtdec_get_is_enabled(blob, mem)); > > return mem; > } > > int fdtdec_setup_memory_banksize(void) > { > - int bank, reg = 0; > - struct resource res; > - ofnode mem; > + int bank, ret, mem, reg = 0; > + struct fdt_resource res; > > - mem = get_next_memory_node(ofnode_null()); > - if (!ofnode_valid(mem)) > - goto missing_node; > + mem = get_next_memory_node(gd->fdt_blob, -1); > + if (mem < 0) { > + debug("%s: Missing /memory node\n", __func__); > + return -EINVAL; > + } > > for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { > - while (ofnode_read_resource(mem, reg++, &res)) { > + ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res); > + if (ret == -FDT_ERR_NOTFOUND) { > reg = 0; > - mem = get_next_memory_node(mem); > - if (!ofnode_valid(mem)) { > - if (bank) > - return 0; > - goto missing_node; > - } > + mem = get_next_memory_node(gd->fdt_blob, mem); > + if (mem == -FDT_ERR_NOTFOUND) > + break; > + > + ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, > &res); > + if (ret == -FDT_ERR_NOTFOUND) > + break; > + } > + if (ret != 0) { > + return -EINVAL; > } > > gd->bd->bi_dram[bank].start = (phys_addr_t)res.start; > @@ -1223,10 +1229,6 @@ int fdtdec_setup_memory_banksize(void) > } > > return 0; > - > -missing_node: > - debug("%s: Missing /memory node\n", __func__); > - return -EINVAL; > } > #endif > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot