]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mips: octeon: bootoctlinux: Use gd->ram_size instead of ram_get_info()
authorStefan Roese <sr@denx.de>
Wed, 28 Oct 2020 14:10:02 +0000 (15:10 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Mon, 30 Nov 2020 17:31:56 +0000 (18:31 +0100)
Using ram_get_info() is complicated and does not work after relocation.
Now that gd->ram_size holds the full RAM size, let's use it instead and
remove the ram_get_size logic completely.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Aaron Williams <awilliams@marvell.com>
Cc: Chandrakala Chavva <cchavva@marvell.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
arch/mips/mach-octeon/bootoctlinux.c

index 75d7e83bd71004b414fd46f3f7c01dade5e6a84e..26136902f34130befd6652c997005617bab6293d 100644 (file)
@@ -9,7 +9,6 @@
 #include <dm.h>
 #include <elf.h>
 #include <env.h>
-#include <ram.h>
 
 #include <asm/io.h>
 #include <linux/compat.h>
@@ -370,8 +369,6 @@ int do_bootoctlinux(struct cmd_tbl *cmdtp, int flag, int argc,
        struct cvmx_coremask avail_coremask;
        int first_core;
        int core;
-       struct ram_info ram;
-       struct udevice *dev;
        const u64 *nmi_code;
        int num_dwords;
        u8 node_mask = 0x01;
@@ -470,19 +467,6 @@ int do_bootoctlinux(struct cmd_tbl *cmdtp, int flag, int argc,
         */
        cvmx_coremask_or(&coremask_to_run, &coremask_to_run, &core_mask);
 
-       /* Get RAM size */
-       ret = uclass_get_device(UCLASS_RAM, 0, &dev);
-       if (ret) {
-               debug("DRAM init failed: %d\n", ret);
-               return ret;
-       }
-
-       ret = ram_get_info(dev, &ram);
-       if (ret) {
-               debug("Cannot get DRAM size: %d\n", ret);
-               return ret;
-       }
-
        /*
         * Load kernel ELF image, or try binary if ELF is not detected.
         * This way the much smaller vmlinux.bin can also be started but
@@ -498,7 +482,7 @@ int do_bootoctlinux(struct cmd_tbl *cmdtp, int flag, int argc,
 
        /* Init bootmem list for Linux kernel booting */
        if (!cvmx_bootmem_phy_mem_list_init(
-                   ram.size, OCTEON_RESERVED_LOW_MEM_SIZE,
+                   gd->ram_size, OCTEON_RESERVED_LOW_MEM_SIZE,
                    (void *)CKSEG0ADDR(BOOTLOADER_BOOTMEM_DESC_SPACE))) {
                printf("FATAL: Error initializing free memory list\n");
                return 0;
@@ -517,7 +501,8 @@ int do_bootoctlinux(struct cmd_tbl *cmdtp, int flag, int argc,
                if (core == first_core)
                        cvmx_bootinfo_array[core].flags |= BOOT_FLAG_INIT_CORE;
 
-               cvmx_bootinfo_array[core].dram_size = ram.size / (1024 * 1024);
+               cvmx_bootinfo_array[core].dram_size = gd->ram_size /
+                       (1024 * 1024);
 
                cvmx_bootinfo_array[core].dclock_hz = gd->mem_clk * 1000000;
                cvmx_bootinfo_array[core].eclock_hz = gd->cpu_clk;