Support specifying dtb in ${boot_syslinux_conf}

With this patch, you can specify dtb to bootup kernel,
using fdtdir in ${boot_syslinux_conf}.

Generally boot_syslinux_conf=extlinux/extlinux.conf

Signed-off-by: Yingpeng Liu <yingpeng.liu@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
This commit is contained in:
Hal Feng 2024-02-23 15:50:17 +08:00
parent f1b1c9ad3e
commit 66d87abc45
7 changed files with 12 additions and 30 deletions

View file

@ -654,6 +654,12 @@ static int label_boot(struct cmd_tbl *cmdtp, struct pxe_label *label)
kernel_addr = genimg_get_kernel_addr(bootm_argv[1]);
buf = map_sysmem(kernel_addr, 0);
#if IS_ENABLED(CONFIG_STARFIVE_JH7110)
run_command("run chipa_set_linux", 0);
run_command("run cpu_vol_set", 0);
#endif
/* Try bootm for legacy and FIT format image */
if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID)
do_bootm(cmdtp, 0, bootm_argc, bootm_argv);

View file

@ -33,7 +33,7 @@ CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="run sdk_boot_env; run distro_boot_env;"
CONFIG_USE_PREBOOT=y
CONFIG_PREBOOT="run chipa_set_uboot"
CONFIG_DEFAULT_FDT_FILE="starfive/jh7110-devkits.dtb"
CONFIG_DEFAULT_FDT_FILE="jh7110-devkits-v2.dtb"
CONFIG_LOG_MAX_LEVEL=4
CONFIG_SPL_LOG=y
CONFIG_DISPLAY_CPUINFO=y

View file

@ -32,7 +32,7 @@ CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="run sdk_boot_env; run distro_boot_env;"
CONFIG_USE_PREBOOT=y
CONFIG_PREBOOT="run chipa_set_uboot"
CONFIG_DEFAULT_FDT_FILE="starfive/jh7110-evb.dtb"
CONFIG_DEFAULT_FDT_FILE="jh7110-evb.dtb"
CONFIG_LOG_MAX_LEVEL=4
CONFIG_SPL_LOG=y
CONFIG_DISPLAY_CPUINFO=y

View file

@ -33,7 +33,7 @@ CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="run sdk_boot_env; run distro_boot_env"
CONFIG_USE_PREBOOT=y
CONFIG_PREBOOT="run chipa_set_uboot;"
CONFIG_DEFAULT_FDT_FILE="starfive/jh7110-visionfive-v2.dtb"
CONFIG_DEFAULT_FDT_FILE="jh7110-visionfive-v2.dtb"
CONFIG_LOG_MAX_LEVEL=4
CONFIG_SPL_LOG=y
CONFIG_DISPLAY_CPUINFO=y

View file

@ -256,17 +256,9 @@
"rootpart=4\0" \
"load_distro_uenv=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${loadaddr} /${bootenv}; " \
"env import ${loadaddr} ${filesize}; \0" \
"fdt_loaddtb=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile}; fdt addr ${fdt_addr_r}; \0" \
"fdt_sizecheck=" \
"fatsize ${bootdev} ${devnum}:${bootpart} /dtbs/${fdtfile}; \0" \
"set_fdt_distro=" \
"run chipa_set_linux; run cpu_vol_set;" \
"fatwrite ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile} ${filesize}; \0" \
"env import -t ${loadaddr} ${filesize}; \0" \
"bootcmd_distro=" \
"run load_distro_uenv; " \
"run fdt_loaddtb; run fdt_sizecheck; run set_fdt_distro; " \
"sysboot ${bootdev} ${devnum}:${bootpart} fat ${scriptaddr} /${boot_syslinux_conf}; \0" \
"distro_mmc_test_and_boot=" \
"if mmc dev ${devnum}; then " \

View file

@ -258,17 +258,9 @@
"rootpart=4\0" \
"load_distro_uenv=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${loadaddr} /${bootenv}; " \
"env import ${loadaddr} ${filesize}; \0" \
"fdt_loaddtb=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile}; fdt addr ${fdt_addr_r}; \0" \
"fdt_sizecheck=" \
"fatsize ${bootdev} ${devnum}:${bootpart} /dtbs/${fdtfile}; \0" \
"set_fdt_distro=" \
"run chipa_set_linux; run cpu_vol_set;" \
"fatwrite ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile} ${filesize}; \0" \
"env import -t ${loadaddr} ${filesize}; \0" \
"bootcmd_distro=" \
"run load_distro_uenv; " \
"run fdt_loaddtb; run fdt_sizecheck; run set_fdt_distro; " \
"sysboot ${bootdev} ${devnum}:${bootpart} fat ${scriptaddr} /${boot_syslinux_conf}; \0" \
"distro_mmc_test_and_boot=" \
"if mmc dev ${devnum}; then " \

View file

@ -263,17 +263,9 @@
"rootpart=4\0" \
"load_distro_uenv=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${loadaddr} /${bootenv}; " \
"env import ${loadaddr} ${filesize}; \0" \
"fdt_loaddtb=" \
"fatload ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile}; fdt addr ${fdt_addr_r}; \0" \
"fdt_sizecheck=" \
"fatsize ${bootdev} ${devnum}:${bootpart} /dtbs/${fdtfile}; \0" \
"set_fdt_distro=" \
"run chipa_set_linux; run cpu_vol_set;" \
"fatwrite ${bootdev} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile} ${filesize}; \0" \
"env import -t ${loadaddr} ${filesize}; \0" \
"bootcmd_distro=" \
"run load_distro_uenv; " \
"run fdt_loaddtb; run fdt_sizecheck; run set_fdt_distro; " \
"sysboot ${bootdev} ${devnum}:${bootpart} fat ${scriptaddr} /${boot_syslinux_conf}; \0" \
"distro_mmc_test_and_boot=" \
"if mmc dev ${devnum}; then " \