configs/beaglev_defconfig: new defconfig
This commit introduces support for the RISC-V based BeagleV platform, which uses a Starfive JH7100. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> [yann.morin.1998@free.fr: use: eval $(make printvars)] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
24010550be
commit
839f00a811
@ -2602,10 +2602,12 @@ F: package/xorcurses/
|
||||
|
||||
N: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
F: arch/Config.in.arm
|
||||
F: board/beaglev/
|
||||
F: board/stmicroelectronics/stm32mp157c-dk2/
|
||||
F: boot/boot-wrapper-aarch64/
|
||||
F: boot/grub2/
|
||||
F: boot/gummiboot/
|
||||
F: configs/beaglev_defconfig
|
||||
F: configs/stm32mp157c_dk2_defconfig
|
||||
F: package/android-tools/
|
||||
F: package/b43-firmware/
|
||||
|
4
board/beaglev/extlinux.conf
Normal file
4
board/beaglev/extlinux.conf
Normal file
@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /boot/Image
|
||||
devicetree /boot/starfive_vic7100_beagle_v.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=PARTUUID=0fef845a-c6e1-45bc-82f7-002fa720f958 rootwait
|
12
board/beaglev/genimage.cfg
Normal file
12
board/beaglev/genimage.cfg
Normal file
@ -0,0 +1,12 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224
|
||||
partition-uuid = 0fef845a-c6e1-45bc-82f7-002fa720f958
|
||||
bootable = "true"
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
From 2c4c813940c577590f3352cef0c49a8def17905d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Wed, 28 Apr 2021 22:58:45 +0200
|
||||
Subject: [PATCH] include/configs/starfive-vic7100: adjust fdt_addr_r
|
||||
|
||||
The default fdt_addr_r of 0x88000000 doesn't work, the kernel never
|
||||
boots. Using 0x90000000 works fine.
|
||||
|
||||
Since it would overlap with the kernel_comp_addr_r area, this one is
|
||||
moved 16 MB further, at 0x91000000.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
include/configs/starfive-vic7100.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/configs/starfive-vic7100.h b/include/configs/starfive-vic7100.h
|
||||
index 8c5915a73c..7150a23873 100644
|
||||
--- a/include/configs/starfive-vic7100.h
|
||||
+++ b/include/configs/starfive-vic7100.h
|
||||
@@ -111,13 +111,13 @@
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_addr_r=0x84000000\0" \
|
||||
- "fdt_addr_r=0x88000000\0" \
|
||||
+ "fdt_addr_r=0x90000000\0" \
|
||||
"scriptaddr=0x88100000\0" \
|
||||
"script_offset_f=0x1fff000\0" \
|
||||
"script_size_f=0x1000\0" \
|
||||
"pxefile_addr_r=0x88200000\0" \
|
||||
"ramdisk_addr_r=0x88300000\0" \
|
||||
- "kernel_comp_addr_r=0x90000000\0" \
|
||||
+ "kernel_comp_addr_r=0x91000000\0" \
|
||||
"kernel_comp_size=0x10000000\0" \
|
||||
"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
|
||||
"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
|
||||
--
|
||||
2.30.2
|
||||
|
17
board/beaglev/post-build.sh
Executable file
17
board/beaglev/post-build.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR=$(dirname $0)
|
||||
|
||||
# The DTB to use is provided within the U-Boot source tree, so we grab
|
||||
# it from there, and install it to TARGET_DIR/boot/.
|
||||
eval $(make -C ${CONFIG_DIR} --no-print-directory QUOTED_VARS=YES VARS=UBOOT_DIR printvars)
|
||||
install -D -m0644 ${UBOOT_DIR}/arch/riscv/dts/starfive_vic7100_beagle_v.dtb \
|
||||
${TARGET_DIR}/boot/starfive_vic7100_beagle_v.dtb
|
||||
|
||||
# Bring the extlinux.conf file in.
|
||||
install -D -m 0644 ${BOARD_DIR}/extlinux.conf \
|
||||
${TARGET_DIR}/boot/extlinux/extlinux.conf
|
||||
|
||||
# To be reflashed through Xmodem, the bootloader needs to be prepended
|
||||
# with a 4-byte header that contains the total size of the file.
|
||||
perl -e 'print pack("l", (stat @ARGV[0])[7])' ${BINARIES_DIR}/fw_payload.bin > ${BINARIES_DIR}/fw_payload.bin.out
|
||||
cat ${BINARIES_DIR}/fw_payload.bin >> ${BINARIES_DIR}/fw_payload.bin.out
|
88
board/beaglev/readme.txt
Normal file
88
board/beaglev/readme.txt
Normal file
@ -0,0 +1,88 @@
|
||||
BeagleV
|
||||
=======
|
||||
|
||||
BeagleV is a low-cost RISC-V 64-bit based platform, powered by a
|
||||
Starfive JH7100 processor. The current defconfig in Buildroot has been
|
||||
tested with the JH7100 chip used on the beta version of the BeagleV
|
||||
board.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make beaglev_defconfig
|
||||
$ make
|
||||
|
||||
Build results
|
||||
=============
|
||||
|
||||
After building, output/images contains:
|
||||
|
||||
+ Image
|
||||
+ fw_payload.bin
|
||||
+ fw_payload.bin.out
|
||||
+ fw_payload.elf
|
||||
+ rootfs.ext2
|
||||
+ rootfs.ext4
|
||||
+ sdcard.img
|
||||
+ u-boot.bin
|
||||
|
||||
The two important files are:
|
||||
|
||||
- fw_payload.bin.out, which is the bootloader image, containing
|
||||
both OpenSBI and U-Boot.
|
||||
|
||||
- sdcard.img, the SD card image, which contains the root filesystem,
|
||||
kernel image and Device Tree.
|
||||
|
||||
Flashing the SD card image
|
||||
==========================
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Preparing the board
|
||||
===================
|
||||
|
||||
Connect the Beagle-V fan to the 5V supply (pin 2 or 4 of the GPIO
|
||||
connector) and GND (pin 6 of the GPIO connector).
|
||||
|
||||
Connect a TTL UART cable to pin 8 (TX), 10 (RX) and 14 (GND).
|
||||
|
||||
Insert your SD card.
|
||||
|
||||
Power-up the board using an USB-C cable.
|
||||
|
||||
Flashing the bootloader
|
||||
=======================
|
||||
|
||||
The bootloader pre-flashed on the Beagle-V has a non-working
|
||||
fdt_addr_r environment variable value, so it won't work
|
||||
as-is. Reflashing the bootloader with the bootloader image produced by
|
||||
Buildroot is necessary.
|
||||
|
||||
When the board starts up, a pre-loader shows a count down of 2
|
||||
seconds, interrupt by pressing any key. You should reach a menu like
|
||||
this:
|
||||
|
||||
--------8<----------
|
||||
|
||||
bootloader version:210209-4547a8d
|
||||
ddr 0x00000000, 1M test
|
||||
ddr 0x00100000, 2M test
|
||||
DDR clk 2133M,Version: 210302-5aea32f
|
||||
0
|
||||
***************************************************
|
||||
*************** FLASH PROGRAMMING *****************
|
||||
***************************************************
|
||||
|
||||
0:update uboot
|
||||
1:quit
|
||||
select the function:
|
||||
|
||||
--------8<----------
|
||||
|
||||
Press 0 and Enter. You will now see "C" characters being
|
||||
displayed. Ask your serial port communication program to send
|
||||
fw_payload.bin.out using the Xmodem protocol.
|
||||
|
||||
After reflashing is complete, restart the board, it will automatically
|
||||
start the system from the SD card, and reach the login prompt.
|
35
configs/beaglev_defconfig
Normal file
35
configs/beaglev_defconfig
Normal file
@ -0,0 +1,35 @@
|
||||
BR2_riscv=y
|
||||
BR2_riscv_custom=y
|
||||
BR2_RISCV_ISA_CUSTOM_RVM=y
|
||||
BR2_RISCV_ISA_CUSTOM_RVF=y
|
||||
BR2_RISCV_ISA_CUSTOM_RVD=y
|
||||
BR2_RISCV_ISA_CUSTOM_RVC=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/beaglev/patches/"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglev/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglev/genimage.cfg"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
# HEAD of the Fedora branch
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,linux,710cf052d6abda73584481d920b4b6befc7240ea)/linux-710cf052d6abda73584481d920b4b6befc7240ea.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="starfive_vic7100_evb_sd_net"
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_TARGET_OPENSBI=y
|
||||
BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y
|
||||
# HEAD of the Fedora branch
|
||||
BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,opensbi,2524b0ecd8684b42bc7a4c69794f40f11cbbe2a5)/opensbi-2524b0ecd8684b42bc7a4c69794f40f11cbbe2a5.tar.gz"
|
||||
BR2_TARGET_OPENSBI_PLAT="starfive/vic7100"
|
||||
# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set
|
||||
# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set
|
||||
BR2_TARGET_OPENSBI_UBOOT_PAYLOAD=y
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
|
||||
# HEAD of the Fedora branch
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,u-boot,3f3ac01a29ad1cd5fa519d86f81daead2447f1d4)/uboot-3f3ac01a29ad1cd5fa519d86f81daead2447f1d4.tar.gz"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_vic7100_beagle_v_smode"
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
Loading…
Reference in New Issue
Block a user