On Sun, Sep 12, 2021 at 1:34 AM Bin Meng <bmeng...@gmail.com> wrote: > > In U-Boot v2021.07 release, there were 2 major changes for the > SiFive Unleashed board support: > > - Board config name was changed from sifive_fu540_defconfig to > sifive_unleashed_defconfig > - The generic binman tool was used to generate the FIT image > (combination of U-Boot proper, DTB and OpenSBI firmware) > > which make the existing U-Boot instructions out of date. > > Update the doc with latest instructions. > > Signed-off-by: Bin Meng <bmeng...@gmail.com>
Thanks! Applied to riscv-to-apply.next Alistair > --- > > docs/system/riscv/sifive_u.rst | 49 ++++++++++++++++++---------------- > 1 file changed, 26 insertions(+), 23 deletions(-) > > diff --git a/docs/system/riscv/sifive_u.rst b/docs/system/riscv/sifive_u.rst > index 01108b5ecc..8ac93d0153 100644 > --- a/docs/system/riscv/sifive_u.rst > +++ b/docs/system/riscv/sifive_u.rst > @@ -209,15 +209,16 @@ command line options with ``qemu-system-riscv32``. > Running U-Boot > -------------- > > -U-Boot mainline v2021.01 release is tested at the time of writing. To build a > +U-Boot mainline v2021.07 release is tested at the time of writing. To build a > U-Boot mainline bootloader that can be booted by the ``sifive_u`` machine, > use > -the sifive_fu540_defconfig with similar commands as described above for > Linux: > +the sifive_unleashed_defconfig with similar commands as described above for > +Linux: > > .. code-block:: bash > > $ export CROSS_COMPILE=riscv64-linux- > $ export OPENSBI=/path/to/opensbi-riscv64-generic-fw_dynamic.bin > - $ make sifive_fu540_defconfig > + $ make sifive_unleashed_defconfig > > You will get spl/u-boot-spl.bin and u-boot.itb file in the build tree. > > @@ -312,31 +313,29 @@ board on QEMU ``sifive_u`` machine out of the box. This > allows users to > develop and test the recommended RISC-V boot flow with a real world use > case: ZSBL (in QEMU) loads U-Boot SPL from SD card or SPI flash to L2LIM, > then U-Boot SPL loads the combined payload image of OpenSBI fw_dynamic > -firmware and U-Boot proper. However sometimes we want to have a quick test > -of booting U-Boot on QEMU without the needs of preparing the SPI flash or > -SD card images, an alternate way can be used, which is to create a U-Boot > -S-mode image by modifying the configuration of U-Boot: > +firmware and U-Boot proper. > + > +However sometimes we want to have a quick test of booting U-Boot on QEMU > +without the needs of preparing the SPI flash or SD card images, an alternate > +way can be used, which is to create a U-Boot S-mode image by modifying the > +configuration of U-Boot: > > .. code-block:: bash > > + $ export CROSS_COMPILE=riscv64-linux- > + $ make sifive_unleashed_defconfig > $ make menuconfig > > -then manually select the following configuration in U-Boot: > - > - Device Tree Control > Provider of DTB for DT Control > Prior Stage > bootloader DTB > +then manually select the following configuration: > > -This lets U-Boot to use the QEMU generated device tree blob. During the > build, > -a build error will be seen below: > + * Device Tree Control ---> Provider of DTB for DT Control ---> Prior Stage > bootloader DTB > > -.. code-block:: none > +and unselect the following configuration: > > - MKIMAGE u-boot.img > - ./tools/mkimage: Can't open arch/riscv/dts/hifive-unleashed-a00.dtb: No > such file or directory > - ./tools/mkimage: failed to build FIT > - make: *** [Makefile:1440: u-boot.img] Error 1 > + * Library routines ---> Allow access to binman information in the device > tree > > -The above errors can be safely ignored as we don't run U-Boot SPL under QEMU > -in this alternate configuration. > +This changes U-Boot to use the QEMU generated device tree blob, and bypass > +running the U-Boot SPL stage. > > Boot the 64-bit U-Boot S-mode image directly: > > @@ -351,14 +350,18 @@ It's possible to create a 32-bit U-Boot S-mode image as > well. > .. code-block:: bash > > $ export CROSS_COMPILE=riscv64-linux- > - $ make sifive_fu540_defconfig > + $ make sifive_unleashed_defconfig > $ make menuconfig > > then manually update the following configuration in U-Boot: > > - Device Tree Control > Provider of DTB for DT Control > Prior Stage > bootloader DTB > - RISC-V architecture > Base ISA > RV32I > - Boot images > Text Base > 0x80400000 > + * Device Tree Control ---> Provider of DTB for DT Control ---> Prior Stage > bootloader DTB > + * RISC-V architecture ---> Base ISA ---> RV32I > + * Boot options ---> Boot images ---> Text Base ---> 0x80400000 > + > +and unselect the following configuration: > + > + * Library routines ---> Allow access to binman information in the device > tree > > Use the same command line options to boot the 32-bit U-Boot S-mode image: > > -- > 2.25.1 > >