1 Star 1 Fork 2

Gitee 极速下载 / OpenSBI

Clone or download
sifive_fu540.md
Copy Edit Web IDE Raw Normal History
Atish Patra   docs: Add a fu540 document. 2019-01-26
SiFive FU540 SoC Platform
Bin Meng   doc: sifive_fu540: Fix doc styles 2020-02-16
=========================
Atish Patra   docs: Use normal hyphen instead of non-breaking hyphen 2019-02-12
The FU540-C000 is the world’s first 4+1 64-bit RISC-V SoC from SiFive.
Atish Patra   docs: Add a fu540 document. 2019-01-26
The HiFive Unleashed development platform is based on FU540-C000 and capableof running Linux.
Bin Meng   docs: platform: Update descriptions for qemu/sifive_u support 2019-09-23
With QEMU v4.2 or above release, the 'sifive_u' machine can be used to testOpenSBI image built for the real hardware as well.
Atish Patra   docs: Add a fu540 document. 2019-01-26
To build platform specific library and firmwares, provide the*PLATFORM=sifive/fu540* parameter to the top level `make` command.Platform Options----------------
Anup Patel   platform: sifive/fu540: Remove FU540_ENABLED_HART_MASK option 2020-03-16
The *SiFive FU540 SoC* platform does not have any platform-specificoptions.
Atish Patra   docs: Add a fu540 document. 2019-01-26
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
Building SiFive Fu540 Platform
Bin Meng   doc: sifive_fu540: Fix doc styles 2020-02-16
------------------------------
Atish Patra   docs: Add a fu540 document. 2019-01-26
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
In order to boot SMP Linux in U-Boot, Linux v5.1 (or higher) and latest
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
U-Boot v2020.01 (or higher) should be used.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
**Linux Kernel Payload**
Atish Patra   docs: Add a fu540 document. 2019-01-26
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
The HiFive Unleashed device tree(DT) is merged in Linux v5.2 release. ThisDT (device tree) is not backward compatible with the DT passed from FSBL.To use Linux v5.2 (or higher, the pre-built DTB (DT binary) from Linux v5.2(or higher) should be used to build SiFive FU540 OpenSBI binaries by using
Anup Patel   firmware: Remove FW_PAYLOAD_FDT_PATH compile-time option 2020-10-14
the compile time option *FW_FDT_PATH*.
Atish Patra   docs: Add a fu540 document. 2019-01-26
```
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
or(For Linux v5.2 or higher)
Anup Patel   firmware: Remove FW_PAYLOAD_FDT_PATH compile-time option 2020-10-14
make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image FW_FDT_PATH=<hifive-unleashed-a00.dtb path from Linux kernel>
Atish Patra   docs: Add a fu540 document. 2019-01-26
```**U-Boot Payload**
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
The command-line example here assumes that U-Boot was compiled using the
Bin Meng   docs/platform: sifive_fu540: Update U-Boot instructions 2020-06-25
sifive_fu540_defconfig configuration and with U-Boot v2020.01, and up tov2020.07-rc3.
Atish Patra   docs: Add a fu540 document. 2019-01-26
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<u-boot_build_dir>/u-boot-dtb.bin
Atish Patra   doc: Update docs as per latest kernel/u-boot status. 2019-04-11
```
Bin Meng   docs/platform: sifive_fu540: Update U-Boot instructions 2020-06-25
For U-Boot v2020.07-rc4 or later releases, SPL support was added in U-Boot.Please refer to the detailed U-Boot booting guide available at [U-Boot].
Atish Patra   doc: Update docs as per latest kernel/u-boot status. 2019-04-11
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
Flashing the OpenSBI firmware binary to storage media:
Bin Meng   doc: sifive_fu540: Fix doc styles 2020-02-16
------------------------------------------------------The first stage boot loader ([FSBL]) expects the storage media to have a GPTpartition table. It tries to look for a partition with following GUID to loadthe next stage boot loader (OpenSBI in this case).
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```2E54B353-1271-4842-806F-E436D6AF6985
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
```
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
That's why the generated firmware binary in above steps should be copied tothe partition of the sdcard with above GUID.
Atish Patra   docs: Add a fu540 document. 2019-01-26
```dd if=build/platform/sifive/fu540/firmware/fw_payload.bin of=/dev/disk2s1 bs=1024```
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
In my case, it is the first partition is **disk2s1** that has been formattedwith the above specified GUID.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
In case of a brand new sdcard, it should be formatted with below partitiontables as described here.```sgdisk --clear                                                               \       --new=1:2048:67583  --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985   \       --new=2:264192:     --change-name=2:root       --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
Loys Ollivier   Update sifive_fu540.md 2019-05-03
       ${DISK}
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```Booting SiFive Fu540 Platform-----------------------------**Linux Kernel Payload**
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
As Linux kernel image is embedded in the OpenSBI firmware binary, HiFiveUnleashed will directly boot into Linux directly after powered on.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
**U-Boot Payload**
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
As U-Boot image is used as payload, HiFive Unleashed will boot into a U-Bootprompt. U-Boot tftp boot method can be used to load kernel image in U-Bootprompt. Here are the steps do a tftpboot.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
1. Set the ip address of the board.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```setenv ipaddr <ipaddr of the board>```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
2. Set the tftpboot server IP.
Atish Patra   docs: Add a fu540 document. 2019-01-26
```
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
setenv serverip <ipaddr of the tftp server>
Atish Patra   docs: Add a fu540 document. 2019-01-26
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
3. Set the network gateway address.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```setenv gatewayip <ipaddress of the network gateway>```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
4. Load the Linux kernel image from the tftp server.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
tftpboot ${kernel_addr_r} <Image path in tftpboot directory>
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
5. Load the ramdisk image from the tftp server. This is only required if
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
ramdisk is loaded from tftp server. This step is optional, if rootfs isalready part of the kernel or loaded from an external storage by kernel.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Atish Patra   doc: Update docs as per latest kernel/u-boot status. 2019-04-11
tftpboot ${ramdisk_addr_r} <ramdisk path in tftpboot directory>
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
6. Load the pre-compiled device tree via tftpboot.
Atish Patra   docs: Update the fu540 platform guide as per U-Boot documents. 2019-08-29
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
tftpboot ${fdt_addr_r} <hifive-unleashed-a00.dtb path in tftpboot directory>
Atish Patra   docs: Update the fu540 platform guide as per U-Boot documents. 2019-08-29
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
7. Set the boot command-line arguments.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Atish Patra   doc: Fix root partition details for fu540. 2019-02-21
setenv bootargs "root=<root partition> rw console=ttySIF0 earlycon=sbi"
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
(Note: root partition should point to** /dev/ram ** - If a ramdisk is used** root=/dev/mmcblk0pX ** - If a rootfs is already on some other partitionof sdcard)
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
8. Now boot into Linux.
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
Atish Patra   docs: Update the fu540 platform guide for new DT. 2019-06-28
or(If ramdisk is not loaded from network)
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
booti ${kernel_addr_r} - ${fdt_addr_r}
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```**U-Boot & Linux Kernel as a single payload**At U-Boot prompt execute the following boot command to boot Linux.```
Anup Patel   docs: platform: Update SiFive FU540 doc as-per U-Boot v2020.01 2020-01-08
booti ${kernel_addr_r} - ${fdt_addr_r}
Atish Patra   docs: Update unleashed platform guide. 2019-02-18
```
Bin Meng   docs: platform: Update descriptions for qemu/sifive_u support 2019-09-23
QEMU Specific Instructions--------------------------If you want to test OpenSBI with QEMU 'sifive_u' machine, please follow the
Anup Patel   firmware: Remove FW_PAYLOAD_FDT_PATH compile-time option 2020-10-14
same instructions above, with the exception of not passing FW_FDT_PATH.
Bin Meng   docs: platform: Update descriptions for qemu/sifive_u support 2019-09-23
This is because QEMU generates a device tree blob on the fly based on thecommand line parameters and it's compatible with the one used in the upstreamLinux kernel.
Bin Meng   doc: sifive: fu540: Update QEMU instruction when using U-Boot as the payload 2020-02-10
When U-Boot v2020.01 (or higher) is used as the payload, as the SiFive FU540DTB for the real hardware is embedded in U-Boot binary itself, due to the samereason above, we need to switch the U-Boot sifive_fu540_defconfig configuration
Bin Meng   docs/platform: sifive_fu540: Update U-Boot instructions 2020-06-25
from **CONFIG_OF_SEPARATE** to **CONFIG_OF_PRIOR_STAGE** so that U-Boot uses theDTB generated by QEMU, and u-boot.bin should be used as the payload image, like:
Bin Meng   doc: sifive: fu540: Update QEMU instruction when using U-Boot as the payload 2020-02-10
```make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<u-boot_build_dir>/u-boot.bin```
Bin Meng   doc: sifive_fu540: Fix doc styles 2020-02-16
Bin Meng   docs/platform: sifive_fu540: Update U-Boot instructions 2020-06-25
U-Boot v2020.07 release added SPL support to SiFive HiFive Unleashed board,hence a build error will be seen after you switch to **CONFIG_OF_PRIOR_STAGE**.```./tools/mkimage: Can't open arch/riscv/dts/hifive-unleashed-a00.dtb: No such file or directory./tools/mkimage: failed to build FITMakefile:1402: recipe for target 'u-boot.img' failedmake: *** [u-boot.img] Error 1```The above errors can be safely ignored as we don't run U-Boot SPL under QEMU.Run:```qemu-system-riscv64 -M sifive_u -m 256M -nographic \	-bios build/platform/sifive/fu540/firmware/fw_payload.bin```or```qemu-system-riscv64 -M sifive_u -m 256M -nographic \	-bios build/platform/sifive/fu540/firmware/fw_jump.bin \	-kernel <uboot_build_dir>/u-boot.bin```
Bin Meng   platform: sifive: fu540: Add 32-bit specific fdt/payload addresses 2020-02-18
While the real hardware operates at the 64-bit mode, it's possible for QEMU totest the 32-bit OpenSBI firmware. This can be helpful for testing 32-bit SiFivespecific drivers.
Bin Meng   doc: sifive_fu540: Fix doc styles 2020-02-16
[U-Boot]: https://gitlab.denx.de/u-boot/u-boot/blob/master/doc/board/sifive/fu540.rst[FSBL]: https://github.com/sifive/freedom-u540-c000-bootloader
C
1
https://gitee.com/mirrors/OpenSBI.git
git@gitee.com:mirrors/OpenSBI.git
mirrors
OpenSBI
OpenSBI
master

Search