Re: Testing the recent RISC-V DT patchsets

From: Atish Patra
Date: Wed May 29 2019 - 03:53:43 EST


On 5/28/19 8:36 AM, Karsten Merker wrote:
On Tue, May 28, 2019 at 05:10:42PM +0200, Loys Ollivier wrote:
On Tue 28 May 2019 at 01:32, Paul Walmsley <paul.walmsley@xxxxxxxxxx> wrote:

An update for those testing RISC-V patches: here's a new branch of
riscv-pk/bbl that doesn't try to read or modify the DT data at all, which
should be useful until U-Boot settles down.
[...]
Here is an Linux kernel branch with updated DT data that can be booted
with the above bootloader:

https://github.com/sifive/riscv-linux/tree/dev/paulw/dts-v5.2-rc1-experimental

A sample boot log follows, using a 'defconfig' build from that branch.

Thanks Paul, I can confirm that it works.

Something is still unclear to myself.
Using FSBL + riscv-pk/bbl the linux kernel + device tree boots.
Neither FSBL nor riscv-pk/bbl are modifying the DT.

Using FSBL + OpenSBI + U-Boot the same kernel + device tree hangs on
running /init.

Would you have any pointer on what riscv-pk does that OpenSBI/U-boot doesn't ?
Or maybe it is the other way around - OpenSBI/U-boot does something that
extra that should not happen.

Hello,

I don't know which version of OpenSBI you are using, but there is
a problem with the combination of kernel 5.2-rc1 and OpenSBI
versions before commit

https://github.com/riscv/opensbi/commit/4e2cd478208531c47343290f15b577d40c82649c

that can result in a hang on executing init, so in case you
should be using an older OpenSBI build that might be the source
of the problem that you are experiencing.

Regards,
Karsten


I verified the updated DT with upstream kernel for the boot flow OpenSBI + U-Boot + Linux or OpenSBI + Linux.

OpenSBI should be compiled for sifive platform with following additional argument

FW_PAYLOAD_FDT_PATH=<linux kernel source>/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dtb

FYI: It will only work when kernel is given a payload to U-Boot/OpenSBI directly.

Network booting is still not working as the clock driver probe doesn't happen because of the updated DT.

--
Regards,
Atish