]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: total_compute: Initialize environment variables
authorBoyan Karatotev <boyan.karatotev@arm.com>
Fri, 25 Oct 2024 17:18:15 +0000 (18:18 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 4 Nov 2024 20:50:43 +0000 (14:50 -0600)
Initialize the environment variables 'fdt_addr_r' and 'kernel_addr_r'
during the misc init phase. The static configurations are not needed,
remove them.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
arch/arm/Kconfig
board/armltd/total_compute/total_compute.c
include/configs/total_compute.h

index d0127418ee1d540305288dd94356375773fac11e..f4ce884e376dbbcb15601c48d4ffab8a92b107f7 100644 (file)
@@ -1391,6 +1391,7 @@ config TARGET_TOTAL_COMPUTE
        select DM_MMC
        select DM_GPIO
        imply OF_HAS_PRIOR_STAGE
+       imply MISC_INIT_R
 
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
index 571a0751457998ba1d5db342b074b615c86ad5b6..02bb648ce71ffe20c18b446d2c416427a966d2a7 100644 (file)
@@ -8,6 +8,8 @@
 #include <dm.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <env.h>
+#include <linux/sizes.h>
+
 #include <asm/armv8/mmu.h>
 #include <asm/global_data.h>
 #include <asm/system.h>
@@ -51,6 +53,27 @@ void *board_fdt_blob_setup(int *err)
        return (void *)fw_dtb_pointer;
 }
 
+int misc_init_r(void)
+{
+       size_t base;
+
+       if (!env_get("fdt_addr_r"))
+               env_set_hex("fdt_addr_r", fw_dtb_pointer);
+
+       if (!env_get("kernel_addr_r")) {
+               /*
+                * The kernel has to be 2M aligned and the first 64K at the
+                * start of SDRAM is reserved for DTB.
+                */
+               base = gd->ram_base + SZ_2M;
+               assert(IS_ALIGNED(base, SZ_2M));
+
+               env_set_hex("kernel_addr_r", base);
+       }
+
+       return 0;
+}
+
 int board_init(void)
 {
        return 0;
index 205e6a62787c3fd87bc2d986bfb0180b3dd78765..8053dca315ca6c2d7742e1833cb4731f9152364e 100644 (file)
@@ -14,9 +14,7 @@
 #define CFG_EXTRA_ENV_SETTINGS \
                                "bootm_size=0x20000000\0"       \
                                "load_addr=0xa0000000\0"        \
-                               "kernel_addr_r=0x80080000\0"    \
-                               "initrd_addr_r=0x88000000\0"    \
-                               "fdt_addr_r=0x83000000\0"
+                               "initrd_addr_r=0x88000000\0"
 /*
  * If vbmeta partition is present, boot Android with verification using AVB.
  * Else if system partition is present (no vbmeta partition), boot Android