riscv: qemu: Switch to use binman to generate u-boot.itb

By utilizing the newly introduced BINMAN_STANDALONE_FDT option, along
with a new dedicated device tree source file for the QEMU virt target
used for binman only, we can now use binman to generate u-boot.itb.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Bin Meng 2021-05-10 20:23:39 +08:00 committed by Leo Yu-Chi Liang
parent 18cb82c35c
commit 756eeba8a2
6 changed files with 22 additions and 0 deletions

View File

@ -4,6 +4,7 @@
config GENERIC_RISCV config GENERIC_RISCV
bool bool
select BINMAN if SPL
select ARCH_EARLY_INIT_R select ARCH_EARLY_INIT_R
imply CPU imply CPU
imply CPU_RISCV imply CPU_RISCV

View File

@ -2,6 +2,7 @@
dtb-$(CONFIG_TARGET_AX25_AE350) += ae350_32.dtb ae350_64.dtb dtb-$(CONFIG_TARGET_AX25_AE350) += ae350_32.dtb ae350_64.dtb
dtb-$(CONFIG_TARGET_MICROCHIP_ICICLE) += microchip-mpfs-icicle-kit.dtb dtb-$(CONFIG_TARGET_MICROCHIP_ICICLE) += microchip-mpfs-icicle-kit.dtb
dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt.dtb
dtb-$(CONFIG_TARGET_SIFIVE_UNLEASHED) += hifive-unleashed-a00.dtb dtb-$(CONFIG_TARGET_SIFIVE_UNLEASHED) += hifive-unleashed-a00.dtb
dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb

View File

@ -48,21 +48,29 @@
}; };
}; };
#ifndef CONFIG_OF_PRIOR_STAGE
@fdt-SEQ { @fdt-SEQ {
description = "NAME"; description = "NAME";
type = "flat_dt"; type = "flat_dt";
compression = "none"; compression = "none";
}; };
#endif
}; };
configurations { configurations {
default = "conf-1"; default = "conf-1";
#ifndef CONFIG_OF_PRIOR_STAGE
@conf-SEQ { @conf-SEQ {
#else
conf-1 {
#endif
description = "NAME"; description = "NAME";
firmware = "opensbi"; firmware = "opensbi";
loadables = "uboot"; loadables = "uboot";
#ifndef CONFIG_OF_PRIOR_STAGE
fdt = "fdt-SEQ"; fdt = "fdt-SEQ";
#endif
}; };
}; };
}; };

View File

@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2021, Bin Meng <bmeng.cn@gmail.com>
*/
/dts-v1/;
#include "binman.dtsi"

View File

@ -2,11 +2,13 @@ CONFIG_RISCV=y
CONFIG_NR_DRAM_BANKS=1 CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000 CONFIG_ENV_SIZE=0x20000
CONFIG_SPL=y CONFIG_SPL=y
CONFIG_DEFAULT_DEVICE_TREE="qemu-virt"
CONFIG_TARGET_QEMU_VIRT=y CONFIG_TARGET_QEMU_VIRT=y
CONFIG_RISCV_SMODE=y CONFIG_RISCV_SMODE=y
CONFIG_DISTRO_DEFAULTS=y CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y CONFIG_DISPLAY_BOARDINFO=y
# CONFIG_CMD_MII is not set # CONFIG_CMD_MII is not set

View File

@ -2,12 +2,14 @@ CONFIG_RISCV=y
CONFIG_NR_DRAM_BANKS=1 CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000 CONFIG_ENV_SIZE=0x20000
CONFIG_SPL=y CONFIG_SPL=y
CONFIG_DEFAULT_DEVICE_TREE="qemu-virt"
CONFIG_TARGET_QEMU_VIRT=y CONFIG_TARGET_QEMU_VIRT=y
CONFIG_ARCH_RV64I=y CONFIG_ARCH_RV64I=y
CONFIG_RISCV_SMODE=y CONFIG_RISCV_SMODE=y
CONFIG_DISTRO_DEFAULTS=y CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y CONFIG_DISPLAY_BOARDINFO=y
# CONFIG_CMD_MII is not set # CONFIG_CMD_MII is not set