]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
riscv: do not set default fdt for VisionFive 2
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 2 Apr 2024 08:49:07 +0000 (10:49 +0200)
committerLeo Yu-Chi Liang <ycliang@andestech.com>
Tue, 9 Apr 2024 03:30:37 +0000 (11:30 +0800)
Currently in set_fdtfile() we set the value of environment variable fdtfile
unconditionally. The implies that a value in the environment will be
ignored.

With the patch environment variable fdtfile will only be set if it does not
yet exist. This requires that CONFIG_DEFAULT_FDT_FILE is not set.

Now the user can either set and save fdtfile interactively or in the U-Boot
configuration to overrule the device-tree name chosen based on the
hardware in set_fdtfile().

Reported-by: E Shattow <lucent@gmail.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
board/starfive/visionfive2/starfive_visionfive2.c
configs/starfive_visionfive2_defconfig
doc/board/starfive/visionfive2.rst

index 78e118d5a05d27e51322e981fd2a3522c7a33dab..76439179fa74729f2780f49d0f5a5d90fffa2b21 100644 (file)
@@ -49,6 +49,10 @@ static void set_fdtfile(void)
        u8 version;
        const char *fdtfile;
 
+       fdtfile = env_get("fdtfile");
+       if (fdtfile)
+               return;
+
        version = get_pcb_revision_from_eeprom();
        switch (version) {
        case 'a':
index 7a3f1d4dbdfdbe30eeca5f52fe9582bd7bab9b8f..fa80d489f5e1b5062952351405ecffa5a2b838f1 100644 (file)
@@ -40,7 +40,6 @@ CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 debug rootwait earlycon=sbi"
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="nvme scan; usb start; setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
-CONFIG_DEFAULT_FDT_FILE="starfive/jh7110-starfive-visionfive-2.dtb"
 CONFIG_SYS_CBSIZE=256
 CONFIG_SYS_PBSIZE=276
 CONFIG_DISPLAY_CPUINFO=y
index abda8ac21bc550cd8b18b4fe7ea9c93d37f49e80..2c68df3ce4d9840816990ca3d9afd9cf674785f9 100644 (file)
@@ -71,6 +71,24 @@ Now build the U-Boot SPL and U-Boot proper
 This will generate the U-Boot SPL image (spl/u-boot-spl.bin.normal.out) as well
 as the FIT image (u-boot.itb) with OpenSBI and U-Boot.
 
+Device-tree selection
+~~~~~~~~~~~~~~~~~~~~~
+
+Depending on the board version U-Boot set variable $fdtfile to either
+starfive/jh7110-starfive-visionfive-2-v1.2a.dtb or
+starfive/jh7110-starfive-visionfive-2-v1.3b.dtb.
+
+To overrule this selection the variable can be set manually and saved in the
+environment
+
+::
+
+    setenv fdtfile my_device-tree.dtb
+    env save
+
+or the configuration variable CONFIG_DEFAULT_FDT_FILE can be used to provide
+a default value.
+
 Flashing
 ~~~~~~~~