[PATCH V2 3/3] dts: andes: add SPL config option for itb layout
Lin Randolph
randolph.sklin at gmail.com
Wed Sep 20 08:24:52 CEST 2023
Hi Tom,
Tom Rini <trini at konsulko.com> 於 2023年9月18日 週一 下午11:04寫道:
>
> On Mon, Sep 18, 2023 at 08:11:36PM +0800, Randolph wrote:
>
> > Add SPL_LOAD_FIT_CONFIG for binman itb layout selection
> >
> > Signed-off-by: Randolph <randolph at andestech.com>
> > ---
> > arch/riscv/dts/ae350-u-boot.dtsi | 1 +
> > arch/riscv/dts/ae350_32.dts | 1 -
> > arch/riscv/dts/ae350_64.dts | 1 -
> > board/AndesTech/ae350/Kconfig | 6 ++++++
> > configs/ae350_rv32_defconfig | 1 +
> > configs/ae350_rv32_spl_defconfig | 1 +
> > configs/ae350_rv32_spl_xip_defconfig | 1 +
> > configs/ae350_rv32_xip_defconfig | 1 +
> > configs/ae350_rv64_defconfig | 1 +
> > configs/ae350_rv64_spl_defconfig | 1 +
> > configs/ae350_rv64_spl_xip_defconfig | 1 +
> > configs/ae350_rv64_xip_defconfig | 1 +
> > 12 files changed, 15 insertions(+), 2 deletions(-)
>
> So this is where I have a problem. It's not clear why you need to
> change anything here, as there's no example given for doing something
> other than what you do today, and there's no documentation about it
> either. From other contexts, it seems like you're trying to re-implement
> CONFIG_SPL_OS_BOOT but not explaining why you can't use the existing
> framework.
>
> --
> Tom
We want to add our binman.dtsi (very similar to SPL_OS_BOOT) in the future,
but this may affect other vendors' code under arch/riscv. To take a step back
and reduce the gap, we just want to rearrange our code now (in this patch).
We are not re-implementing SPL_OS_BOOT, the goal (skip loading u-boot proper)
is the same, the method is different. For example, in ARM architecture, the
Falcon mode (by enabling SPL_OS_BOOT), the boot flow is u-boot SPL jump to
Linux kernel. In RISC-V architecture, most SOCs require OpenSBI, the boot flow
should be u-boot SPL -> OpenSBI -> Linux kernel. Apart from the boot flow, the
code flow is also different, "jump_to_image_linux" is not necessary and the
names are not quite right in the RISC-V architecture. The CONFIG_SPL_ARGS_ADDR
macro is also not required when building RISC-V u-boot. That's why we need to
create another way for OpenSBI to do the actions like CONFIG_SPL_OS_BOOT.
Randolph
Sincerely
More information about the U-Boot
mailing list