Re: Testing the recent RISC-V DT patchsets

Loys Ollivier
2019-06-03T09:49:56Z

On Wed 29 May 2019 at 12:25, Troy Benjegerdes <troy.benjegerdes@sifive.com> wrote:

>> On May 29, 2019, at 5:04 AM, Loys Ollivier <lollivier@baylibre.com> wrote:
>>
>> On Wed 29 May 2019 at 00:50, Atish Patra <atish.patra@wdc.com> wrote:
>>
>>> 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@sifive.com> 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.
>>>
>>
>> Hum, I am surprised by this statement.
>> I was able to verify the latest DT patch serie from Paul with:
>> OpenSBI + U-Boot + Linux & DT.
>>
>> Following the OpenSBI documentation [0] with U-Boot payload:
>> FW_PAYLOAD_PATH=<u-boot_build_dir>/u-boot.bin
>>
>> I get an U-Boot prompt and then I can just load the linux kernel and
>> device tree from the network.
>>
>> [0]: https://github.com/riscv/opensbi/blob/master/docs/platform/sifive_fu540.md#building-sifive-fu540-platform
>>
>
> Could you confirm which git hash of U-boot you are building, and that the .config matches
> the defconfig (or send me the .config you used)?

Sure,

OpenSBI: a6395acd6cb2c35871481d3e4f0beaf449f8c0fd
U-Boot: (origin/master) 344a0e4367d0820b8eb2ea4a90132433e038095f
Kernel: from Paul from this thread [1]

I use the sifive_fu540_defconfig of U-Boot with no additional changes.

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

>
> I’d like to get everything that’s working integrated in one place into a freedom-u-sdk test branch.
>
>

Let me know the test branch when it's up :)

Loys

>>> Network booting is still not working as the clock driver probe doesn't
>>> happen because of the updated DT.
>>>
>>> --
>>> Regards,
>>> Atish
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv