microblaze: Use standard functions for memory decoding
authorMichal Simek <michal.simek@xilinx.com>
Thu, 22 Nov 2018 11:39:18 +0000 (12:39 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 26 Nov 2018 09:50:55 +0000 (10:50 +0100)
The standard function is less error prone than custom one.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/microblaze-generic/microblaze-generic.c

index 44fb48b347a5dfe6717014c5bfbcbfa53fbd1a47..c946ec320855949ed12397299831b0f1be6f91e0 100644 (file)
@@ -32,34 +32,13 @@ ulong ram_base;
 
 int dram_init_banksize(void)
 {
-       gd->bd->bi_dram[0].start = ram_base;
-       gd->bd->bi_dram[0].size = get_effective_memsize();
-
-       return 0;
+       return fdtdec_setup_memory_banksize();
 }
 
 int dram_init(void)
 {
-       int node;
-       fdt_addr_t addr;
-       fdt_size_t size;
-       const void *blob = gd->fdt_blob;
-
-       node = fdt_node_offset_by_prop_value(blob, -1, "device_type",
-                                            "memory", 7);
-       if (node == -FDT_ERR_NOTFOUND) {
-               debug("DRAM: Can't get memory node\n");
-               return 1;
-       }
-       addr = fdtdec_get_addr_size(blob, node, "reg", &size);
-       if (addr == FDT_ADDR_T_NONE || size == 0) {
-               debug("DRAM: Can't get base address or size\n");
-               return 1;
-       }
-       ram_base = addr;
-
-       gd->ram_top = addr; /* In setup_dest_addr() is done +ram_size */
-       gd->ram_size = size;
+       if (fdtdec_setup_mem_size_base() != 0)
+               return -EINVAL;
 
        return 0;
 };