├── Version ├── conf ├── initramfs.txt ├── evb-uboot-fit-image.its ├── visionfive2-uboot-fit-image.its ├── buildroot_initramfs_config ├── version ├── genimage.cfg ├── genimage-vf2.cfg ├── sifive_logo.txt ├── rvboot-fit.txt ├── evb-fit-image.its ├── starfive_logo.txt ├── rvboot.txt ├── vf2_uEnv.txt ├── jh7110_uEnv.txt ├── vf2_nvme_uEnv.txt ├── visionfive2-fit-image.its ├── fpga-fit-image.its ├── u74_nvdla-uboot-fit-image.its ├── nvdla-uboot-fit-image.its ├── u74_uEnv.txt ├── linux_distro_defconfig ├── uboot-fit-image.its ├── uEnv.txt ├── linux_microsemi_defconfig ├── linux_framebuffer_distro_defconfig ├── linux_microsemi_distro_defconfig ├── linux_defconfig ├── linux_415_nvdla_defconfig ├── linux_framebuffer_smp ├── linux_59_defconfig ├── linux_419_defconfig ├── buildroot_initramfs_config_debug └── buildroot_rootfs_config ├── .gitignore ├── .gitmodules ├── bsp └── env │ └── freedom-u500-unleashed │ └── openocd.cfg ├── fsz.sh ├── post-build.sh ├── pre-build.sh ├── genimage.sh ├── README.md └── Makefile /Version: -------------------------------------------------------------------------------- 1 | JH7110_VF2_515_v6.0.0 2 | -------------------------------------------------------------------------------- /conf/initramfs.txt: -------------------------------------------------------------------------------- 1 | dir /dev 755 0 0 2 | nod /dev/console 644 0 0 c 5 1 3 | nod /dev/null 644 0 0 c 1 3 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Top-level project build directories 2 | /work* 3 | 4 | # Top-level generic files 5 | /*.log 6 | 7 | # Merge conflict files 8 | *.orig 9 | *.swp 10 | 11 | *.code-workspace 12 | 13 | # ctags files 14 | tags 15 | TAGS 16 | ctags 17 | etags 18 | 19 | # cscope files 20 | cscope.* 21 | ncscope.* 22 | -------------------------------------------------------------------------------- /conf/evb-uboot-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot-spl FIT image for JH7110 EVB"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | firmware { 9 | description = "u-boot"; 10 | data = /incbin/("../work/opensbi/platform/generic/firmware/fw_payload.bin"); 11 | type = "firmware"; 12 | arch = "riscv"; 13 | os = "u-boot"; 14 | load = <0x0 0x40000000>; 15 | entry = <0x0 0x40000000>; 16 | compression = "none"; 17 | }; 18 | }; 19 | 20 | configurations { 21 | default = "config-1"; 22 | 23 | config-1 { 24 | description = "U-boot-spl FIT config for JH7110 EVB"; 25 | firmware = "firmware"; 26 | }; 27 | }; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /conf/visionfive2-uboot-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot-spl FIT image for JH7110 VisionFive2"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | firmware { 9 | description = "u-boot"; 10 | data = /incbin/("../work/opensbi/platform/generic/firmware/fw_payload.bin"); 11 | type = "firmware"; 12 | arch = "riscv"; 13 | os = "u-boot"; 14 | load = <0x0 0x40000000>; 15 | entry = <0x0 0x40000000>; 16 | compression = "none"; 17 | }; 18 | }; 19 | 20 | configurations { 21 | default = "config-1"; 22 | 23 | config-1 { 24 | description = "U-boot-spl FIT config for JH7110 VisionFive2"; 25 | firmware = "firmware"; 26 | }; 27 | }; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "buildroot"] 2 | path = buildroot 3 | url = https://github.com/starfive-tech/buildroot.git 4 | branch = JH7110_VisionFive2_devel 5 | [submodule "u-boot"] 6 | path = u-boot 7 | url = https://github.com/starfive-tech/u-boot.git 8 | branch = JH7110_VisionFive2_devel 9 | [submodule "linux"] 10 | path = linux 11 | url = https://github.com/starfive-tech/linux.git 12 | branch = JH7110_VisionFive2_devel 13 | [submodule "opensbi"] 14 | path = opensbi 15 | url = https://github.com/starfive-tech/opensbi.git 16 | branch = JH7110_VisionFive2_devel 17 | [submodule "soft_3rdpart"] 18 | path = soft_3rdpart 19 | url = https://github.com/starfive-tech/soft_3rdpart.git 20 | branch = JH7110_VisionFive2_devel 21 | -------------------------------------------------------------------------------- /conf/buildroot_initramfs_config: -------------------------------------------------------------------------------- 1 | BR2_riscv=y 2 | BR2_riscv_custom=y 3 | BR2_RISCV_ISA_CUSTOM_RVM=y 4 | BR2_RISCV_ISA_CUSTOM_RVF=y 5 | BR2_RISCV_ISA_CUSTOM_RVD=y 6 | BR2_RISCV_ISA_CUSTOM_RVC=y 7 | BR2_KERNEL_HEADERS_CUSTOM_GIT=y 8 | BR2_KERNEL_HEADERS_CUSTOM_REPO_URL="file://$(TOPDIR)/../linux/.git" 9 | BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION="JH7110_VisionFive2_devel" 10 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y 11 | BR2_BINUTILS_VERSION_2_39_X=y 12 | BR2_GCC_VERSION_12_X=y 13 | BR2_GCC_ENABLE_LTO=y 14 | BR2_GCC_ENABLE_OPENMP=y 15 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 16 | BR2_TARGET_GENERIC_ROOT_PASSWD="starfive" 17 | BR2_SYSTEM_DHCP="eth0" 18 | BR2_SYSTEM_DHCP_DUAL="eth1" 19 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 20 | # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set 21 | BR2_PACKAGE_KMOD_TOOLS=y 22 | -------------------------------------------------------------------------------- /bsp/env/freedom-u500-unleashed/openocd.cfg: -------------------------------------------------------------------------------- 1 | adapter_khz 10000 2 | 3 | interface ftdi 4 | ftdi_device_desc "Dual RS232-HS" 5 | ftdi_vid_pid 0x0403 0x6010 6 | 7 | ftdi_layout_init 0x0008 0x001b 8 | ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 9 | 10 | set _CHIPNAME riscv 11 | jtag newtap $_CHIPNAME cpu -irlen 5 12 | 13 | set _TARGETNAME $_CHIPNAME.cpu 14 | target create $_TARGETNAME riscv -chain-position $_TARGETNAME -rtos riscv 15 | $_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 16 | 17 | flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME 0x10040000 18 | init 19 | halt 20 | 21 | # Uncomment this if you want to be able to clobber your SPI Flash, which 22 | # probably you don't since you can do it through Linux 23 | 24 | # flash protect 0 0 last off 25 | -------------------------------------------------------------------------------- /fsz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function handle_file { 4 | inFile=$1 5 | echo inFile: $inFile 6 | outFile=$inFile.out 7 | 8 | inSize=`stat -c "%s" $inFile` 9 | inSize32HexBe=`printf "%08x\n" $inSize` 10 | inSize32HexLe=${inSize32HexBe:6:2}${inSize32HexBe:4:2}${inSize32HexBe:2:2}${inSize32HexBe:0:2} 11 | echo "inSize: $inSize (0x$inSize32HexBe, LE:0x$inSize32HexLe)" 12 | 13 | echo $inSize32HexLe | xxd -r -ps > $outFile 14 | cat $inFile >> $outFile 15 | echo outFile: $outFile 16 | 17 | outSize=`stat -c "%s" $outFile` 18 | outSize32HexBe=`printf "%08x\n" $outSize` 19 | echo "outSize: $outSize (0x$outSize32HexBe)" 20 | } 21 | 22 | if [ "$1" = "" -o "$1" = "--help" ]; then 23 | echo "Add file size(32bits, Little Endian) before the content." 24 | echo "Usage: ./fsz.sh " 25 | exit 1 26 | fi 27 | 28 | handle_file "$@" 29 | -------------------------------------------------------------------------------- /conf/version: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | usage() { 4 | echo "Usage: $0 [srctree]" >&2 5 | exit 1 6 | } 7 | 8 | cd "${1:-.}" || usage 9 | echo "#! /bin/sh" 10 | echo "" 11 | echo "cat /proc/version" 12 | 13 | if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then 14 | 15 | atag="`git describe 2>/dev/null`" 16 | 17 | # Show -g if we have no tag, or just the tag 18 | # otherwise. 19 | if [ -z "${atag}" ] ; then 20 | atag=$atag"-g"${head} 21 | fi 22 | 23 | # Check for uncommitted changes 24 | if git diff-index --name-only HEAD | grep -v "^scripts/package" \ 25 | | read dummy; then 26 | atag=$atag"-dirty" 27 | fi 28 | echo "echo \"$atag\"" 29 | 30 | fi 31 | 32 | jh7110_flag=JH7110 33 | 34 | for atag in $(git tag --merge HEAD --sort=-taggerdate | grep "${jh7110_flag}") 35 | do 36 | echo "echo \"$atag\"" 37 | exit 38 | done 39 | 40 | -------------------------------------------------------------------------------- /conf/genimage.cfg: -------------------------------------------------------------------------------- 1 | image sdcard.img { 2 | hdimage { 3 | gpt = true 4 | } 5 | 6 | partition spl { 7 | image = "work/u-boot-spl.bin.normal.out" 8 | partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 9 | offset = 2M 10 | size = 2M 11 | } 12 | 13 | partition uboot { 14 | image = "work/evb_fw_payload.img" 15 | partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47 16 | offset = 4M 17 | size = 4M 18 | } 19 | 20 | partition image { 21 | # partition-type = 0xC 22 | partition-type-uuid = EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 23 | image = "work/starfive-evb-vfat.part" 24 | offset = 8M 25 | size = 292M 26 | } 27 | 28 | partition root { 29 | # partition-type = 0x83 30 | partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 31 | image = "work/buildroot_rootfs/images/rootfs.ext4" 32 | offset = 300M 33 | bootable = true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /conf/genimage-vf2.cfg: -------------------------------------------------------------------------------- 1 | image sdcard.img { 2 | hdimage { 3 | gpt = true 4 | } 5 | 6 | partition spl { 7 | image = "work/u-boot-spl.bin.normal.out" 8 | partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 9 | offset = 2M 10 | size = 2M 11 | } 12 | 13 | partition uboot { 14 | image = "work/visionfive2_fw_payload.img" 15 | partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47 16 | offset = 4M 17 | size = 4M 18 | } 19 | 20 | partition image { 21 | # partition-type = 0xC 22 | partition-type-uuid = EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 23 | image = "work/starfive-visionfive2-vfat.part" 24 | offset = 8M 25 | size = 22M 26 | } 27 | 28 | partition root { 29 | # partition-type = 0x83 30 | partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 31 | image = "work/buildroot_rootfs/images/rootfs.ext4" 32 | offset = 30M 33 | bootable = true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /conf/sifive_logo.txt: -------------------------------------------------------------------------------- 1 | 2 | SIFIVE, INC. 3 | 4 | 5555555555555555555555555 5 | 5555 5555 6 | 5555 5555 7 | 5555 5555 8 | 5555 5555555555555555555555 9 | 5555 555555555555555555555555 10 | 5555 5555 11 | 5555 5555 12 | 5555 5555 13 | 5555555555555555555555555555 55555 14 | 55555 555555555 55555 15 | 55555 55555 55555 16 | 55555 5 55555 17 | 55555 55555 18 | 55555 55555 19 | 55555 55555 20 | 55555 55555 21 | 55555 55555 22 | 555555555 23 | 55555 24 | 5 25 | 26 | SiFive RISC-V Core IP 27 | -------------------------------------------------------------------------------- /conf/rvboot-fit.txt: -------------------------------------------------------------------------------- 1 | fitfile=image.fit 2 | # below much match what's in FIT (ugha) 3 | bbladdr=80000000 4 | fdtaddr=81f00000 5 | vmladdr=80200000 6 | irdaddr=82000000 7 | # oh the hack.. use a large size.. ugh 8 | irdsize=01000000 9 | vmlsize=00800000 10 | newfdt=f0000000 11 | setup1=fdt addr ${fdtaddr}; fdt resize; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen riscv,kernel-start <0x0 0x${vmladdr}>; fdt move ${fdtaddr} ${newfdt} 12 | setup2=setexpr vmlend ${vmladdr} + ${vmlsize}; setexpr irdend ${irdaddr} + ${irdsize} 13 | setup3=fdt set /chosen linux,initrd-end <0x0 0x${irdend}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> 14 | #setup4=fdt set /chosen bootargs ${bootargs}; fdt print /chosen 15 | setup4=fdt print /chosen; fdt set /firmware uboot,ver ${ver} 16 | boot2=dhcp ${fitfile}; bootm start; run setup1; run setup2; run setup3; run setup4; bootm loados; echo sleep 2; sleep 2; go 80000000 17 | #boot2=run loadbbl; run loadfdt; run setup1; run setup3; run setup4; go 80000000 18 | 19 | -------------------------------------------------------------------------------- /conf/evb-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for jh7110-evb"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | vmlinux { 9 | description = "vmlinux"; 10 | data = /incbin/("../work/linux/arch/riscv/boot/Image"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x0 0x40200000>; 15 | entry = <0x0 0x40200000>; 16 | compression = "none"; 17 | }; 18 | 19 | ramdisk { 20 | description = "buildroot initramfs"; 21 | data = /incbin/("../work/initramfs.cpio.gz"); 22 | type = "ramdisk"; 23 | arch = "riscv"; 24 | os = "linux"; 25 | load = <0x0 0x46100000>; 26 | compression = "none"; 27 | hash-1 { 28 | algo = "sha256"; 29 | }; 30 | }; 31 | 32 | fdt { 33 | data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-evb.dtb"); 34 | type = "flat_dt"; 35 | arch = "riscv"; 36 | load = <0x0 0x46000000>; 37 | compression = "none"; 38 | hash-1 { 39 | algo = "sha256"; 40 | }; 41 | }; 42 | }; 43 | 44 | configurations { 45 | default = "config-1"; 46 | 47 | config-1 { 48 | description = "jh7110-evb with opensbi"; 49 | kernel = "vmlinux"; 50 | fdt = "fdt"; 51 | loadables = "ramdisk"; 52 | }; 53 | }; 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /conf/starfive_logo.txt: -------------------------------------------------------------------------------- 1 | 2 | SSS 3 | SSSSSSSSSS 4 | SSSSSSSSSSSSSSSS 5 | SSSSSSSSS SSSSSSSSSSS 6 | SSSSSSSSS SSSSSSSS 7 | SSSSSSSSS SS SSSS 8 | SSSSSSSSS SSSSS SS 9 | SSSSSSSS SSSSSSSSS 10 | SSSSSS SS SSSSSSSSSS 11 | SSSSSS SSSSS SSSSSSSSS 12 | SSSSSSS SSSSSSSS SSSSSS 13 | SSSSSSSS SSSSSSSSSS SSS 14 | SSSSSSSSES SSSSSSSSSS 15 | SSSSSSSSSSS SSSSSSSSSS 16 | SSSSSSSSSS SSSSSSSSSS 17 | SSSS SSSSSSSSSSS SSSSSSS 18 | SSSSSSS SSSSSSS SSSSSS 19 | SSSSSSSSSS SSS SSSSSS 20 | SSSSSSSSSSS SSSSSSS 21 | SSSSSSS SSSSSSSS 22 | SSS SSSS SSSSSSSSS 23 | SSSSSS SS SSSSSSSSSS 24 | SSSSSSSSES SSSSSSSSS 25 | SSSSSSSSSSS SSSSSSSSS 26 | SSSSSSSSSSSSSSS 27 | SSSSSSSS 28 | SS 29 | 30 | StarFive RISC-V Core IP 31 | -------------------------------------------------------------------------------- /conf/rvboot.txt: -------------------------------------------------------------------------------- 1 | bblfile=bbl.bin 2 | vmlfile=vmlinux.bin 3 | irdfile=initramfs.cpio.gz 4 | #fdtfile=hifive-unleashed-a00-fu540.dtb 5 | #fdtfile=ux00_fsbl.dtb 6 | fdtfile=hifive_u540.dtb 7 | bbladdr=80000000 8 | fdtaddr=81f00000 9 | vmladdr=80200000 10 | irdaddr=82000000 11 | loadbbl=dhcp ${bbladdr} ${bblfile}; setenv bblsize ${filesize} 12 | loadvml=dhcp ${vmladdr} ${vmlfile}; setenv vmlsize ${filesize} 13 | loadird=dhcp ${irdaddr} ${irdfile}; setenv irdsize ${filesize} 14 | loadfdt=dhcp ${fdtaddr} ${fdtfile}; setenv fdtsize ${filesize} 15 | newfdt=f0000000 16 | bootargs=console=ttySIF0,921600 debug 17 | setup1=fdt addr ${fdtaddr}; fdt resize; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen riscv,kernel-start <0x0 0x${vmladdr}>; fdt move ${fdtaddr} ${newfdt} 18 | setup2=setexpr vmlend ${vmladdr} + ${vmlsize}; setexpr irdend ${irdaddr} + ${irdsize} 19 | setup3=fdt set /chosen linux,initrd-end <0x0 0x${irdend}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> 20 | #setup4=fdt set /chosen bootargs ${bootargs}; fdt print /chosen 21 | setup4=fdt print /chosen 22 | boot2=run loadbbl; run loadvml; run loadird; run loadfdt; run setup1; run setup2; run setup3; run setup4; go 80000000 23 | #boot2=run loadbbl; run loadfdt; run setup1; run setup3; run setup4; go 80000000 24 | 25 | -------------------------------------------------------------------------------- /post-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ################################################################## 4 | ## ## 5 | ## SPDX-License-Identifier: GPL-2.0-or-later ## 6 | ## ## 7 | ## Copyright (C) 2018-2022 Starfive Technology ## 8 | ## ## 9 | ## Author: jason zhou ## 10 | ## ## 11 | ################################################################## 12 | 13 | COLOR_NORMAL="\033[0m" 14 | COLOR_GREEN="\033[1;32m" 15 | COLOR_YELLOW="\033[1;33m" 16 | COLOR_RED="\033[1;31m" 17 | COLOR_GREY="\033[1;30m" 18 | 19 | printf ${COLOR_GREEN} 20 | echo "" 21 | echo "post build copy images to release folder!" 22 | folder=~/release/`git describe`-`date -I` 23 | echo "create folder:$folder" 24 | printf ${COLOR_NORMAL} 25 | 26 | mkdir -p $folder 27 | cp work/image.fit $folder/ 28 | cp work/evb_fw_payload.img $folder/ 29 | cp work/u-boot-spl.bin.normal.out $folder/ 30 | cp work/initramfs.cpio.gz $folder/ 31 | cp work/linux/arch/riscv/boot/Image.gz $folder/ 32 | cp -rf work/linux/arch/riscv/boot/dts/starfive $folder/ 33 | tree $folder 34 | echo "" 35 | -------------------------------------------------------------------------------- /pre-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ################################################################## 3 | ## ## 4 | ## SPDX-License-Identifier: GPL-2.0-or-later ## 5 | ## ## 6 | ## Copyright (C) 2018-2022 Starfive Technology ## 7 | ## ## 8 | ## Author: jason zhou ## 9 | ## ## 10 | ################################################################## 11 | 12 | COLOR_NORMAL="\033[0m" 13 | COLOR_GREEN="\033[1;32m" 14 | COLOR_YELLOW="\033[1;33m" 15 | COLOR_RED="\033[1;31m" 16 | COLOR_GREY="\033[1;30m" 17 | 18 | printf ${COLOR_GREEN} 19 | echo "" 20 | echo "prepare for release build, make sure repo synced, working tree was clean" 21 | echo "please checking if proper tagged for release!" 22 | echo "" 23 | printf ${COLOR_NORMAL} 24 | 25 | git submodule sync --recursive 26 | git pull 27 | git submodule foreach "git pull" 28 | git branch && git status 29 | git submodule foreach "git branch && git status" 30 | 31 | printf $COLOR_GREEN 32 | git tag | grep JH7110_51 33 | git submodule foreach "git tag | grep JH7110_51" 34 | printf $COLOR_NORMAL 35 | -------------------------------------------------------------------------------- /conf/vf2_uEnv.txt: -------------------------------------------------------------------------------- 1 | # This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot 2 | # The current convention (SUBJECT TO CHANGE) is that this file 3 | # will be loaded from the third partition on the 4 | # MMC card. 5 | 6 | # The FIT file to boot from 7 | fitfile=starfiveu.fit 8 | 9 | # for debugging boot 10 | bootargs_ext=setenv bootargs "console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/${sdev_blk}"; 11 | 12 | # for addr info 13 | # boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' 14 | irdsize=5f00000 15 | 16 | # Use the FDT in the FIT image.. 17 | setupfdt1=fdt addr ${fdtaddr}; fdt resize; 18 | 19 | setupird=setexpr irdend ${ramdisk_addr_r} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 ${ramdisk_addr_r}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> 20 | 21 | setupfdt2=fdt set /chosen bootargs "${bootargs}"; 22 | 23 | bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done 24 | 25 | boot2=run bootargs_ext; fatload ${bootdev} ${devnum}:${bootpart} ${loadaddr} ${fitfile}; bootm start ${loadaddr}; run setupfdt1;run setupird;run setupfdt2; bootm loados ${loadaddr}; run chipa_set_linux; run cpu_vol_set; echo "Booting kernel in"; booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdtaddr} 26 | -------------------------------------------------------------------------------- /conf/jh7110_uEnv.txt: -------------------------------------------------------------------------------- 1 | # This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot 2 | # The current convention (SUBJECT TO CHANGE) is that this file 3 | # will be loaded from the third partition on the 4 | # MMC card. 5 | devnum=0 6 | partnum=3 7 | 8 | # The FIT file to boot from 9 | fitfile=starfiveu.fit 10 | 11 | # for debugging boot 12 | bootargs=earlyprintk console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/mmcblk0p4 13 | 14 | # for addr info 15 | fileaddr=0xa0000000 16 | fdtaddr=0x46000000 17 | # boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' 18 | kernel_addr_r=0x40200000 19 | irdaddr=0x46100000 20 | irdsize=0x5f00000 21 | 22 | # Use the FDT in the FIT image.. 23 | setupfdt1=fdt addr ${fdtaddr} 24 | 25 | setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> 26 | 27 | setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt print /chosen 28 | 29 | bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done 30 | 31 | boot2=fatload mmc ${devnum}:${partnum} ${fileaddr} ${fitfile}; bootm start ${fileaddr}; run setupfdt1;run setupird;run setupfdt2; bootm loados ${fileaddr}; run chipa_set_linux; run cpu_vol_set; echo "Booting kernel in"; booti ${kernel_addr_r} ${irdaddr}:${filesize} ${fdtaddr} 32 | 33 | -------------------------------------------------------------------------------- /conf/vf2_nvme_uEnv.txt: -------------------------------------------------------------------------------- 1 | # This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot 2 | # The current convention (SUBJECT TO CHANGE) is that this file 3 | # will be loaded from the third partition on the 4 | # NVME ssd. 5 | #devnvm=0 6 | partnum=3 7 | 8 | # The FIT file to boot from 9 | fitfile=starfiveu.fit 10 | 11 | # for debugging boot 12 | bootargs_ext=if test ${devnvme} = 0; then setenv bootargs "earlyprintk console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/nvme0n1p4"; else setenv bootargs "earlyprintk console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/nvme1n1p4"; fi; 13 | #bootargs=earlyprintk console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/nvme0n1p4 14 | 15 | # for addr info 16 | # boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' 17 | irdsize=5f00000 18 | 19 | # Use the FDT in the FIT image.. 20 | setupfdt1=fdt addr ${fdtaddr}; fdt resize; 21 | 22 | setupird=setexpr irdend ${ramdisk_addr_r} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 ${ramdisk_addr_r}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> 23 | 24 | setupfdt2=fdt set /chosen bootargs "${bootargs}"; 25 | 26 | bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done 27 | 28 | boot2=run bootargs_ext; nvme dev ${devnvme}; fatload nvme ${devnvme}:${partnum} ${loadaddr} ${fitfile}; bootm start ${loadaddr}; run setupfdt1;run setupird;run setupfdt2; bootm loados ${loadaddr}; run chipa_set_linux; run cpu_vol_set; echo "Booting kernel in"; booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdtaddr} 29 | -------------------------------------------------------------------------------- /conf/visionfive2-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for visionfive2"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | vmlinux { 9 | description = "vmlinux"; 10 | data = /incbin/("../work/linux/arch/riscv/boot/Image.gz"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x0 0x40200000>; 15 | entry = <0x0 0x40200000>; 16 | compression = "gzip"; 17 | }; 18 | 19 | ramdisk { 20 | description = "buildroot initramfs"; 21 | data = /incbin/("../work/initramfs.cpio.gz"); 22 | type = "ramdisk"; 23 | arch = "riscv"; 24 | os = "linux"; 25 | load = <0x0 0x46100000>; 26 | compression = "none"; 27 | }; 28 | 29 | fdt { 30 | data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-v1.3b.dtb"); 31 | type = "flat_dt"; 32 | arch = "riscv"; 33 | load = <0x0 0x46000000>; 34 | compression = "none"; 35 | hash-1 { 36 | algo = "sha256"; 37 | }; 38 | }; 39 | }; 40 | 41 | configurations { 42 | default = "config-1"; 43 | 44 | config-1 { 45 | description = "visionfive2 with opensbi"; 46 | kernel = "vmlinux"; 47 | fdt = "fdt"; 48 | loadables = "ramdisk"; 49 | }; 50 | }; 51 | }; 52 | 53 | -------------------------------------------------------------------------------- /conf/fpga-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for jh7110-fpga"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | vmlinux { 9 | description = "vmlinux"; 10 | data = /incbin/("../work/linux/arch/riscv/boot/Image"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x0 0x40200000>; 15 | entry = <0x0 0x40200000>; 16 | compression = "none"; 17 | }; 18 | 19 | ramdisk { 20 | description = "buildroot initramfs"; 21 | data = /incbin/("../work/initramfs.cpio.gz"); 22 | type = "ramdisk"; 23 | arch = "riscv"; 24 | os = "linux"; 25 | load = <0x0 0x46100000>; 26 | compression = "none"; 27 | hash-1 { 28 | algo = "sha256"; 29 | }; 30 | }; 31 | 32 | fdt { 33 | data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-fpga.dtb"); 34 | type = "flat_dt"; 35 | arch = "riscv"; 36 | load = <0x0 0x46000000>; 37 | compression = "none"; 38 | hash-1 { 39 | algo = "sha256"; 40 | }; 41 | }; 42 | }; 43 | 44 | configurations { 45 | default = "config-1"; 46 | 47 | config-1 { 48 | description = "jh7110-fpga with opensbi"; 49 | kernel = "vmlinux"; 50 | fdt = "fdt"; 51 | loadables = "ramdisk"; 52 | }; 53 | }; 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /conf/u74_nvdla-uboot-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for HiFive Nvdla"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | vmlinux { 9 | description = "vmlinux"; 10 | data = /incbin/("../work/linux/arch/riscv/boot/Image"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x0 0x80200000>; 15 | entry = <0x0 0x80200000>; 16 | compression = "none"; 17 | }; 18 | 19 | ramdisk { 20 | description = "buildroot initramfs"; 21 | data = /incbin/("../work/initramfs.cpio.gz"); 22 | type = "ramdisk"; 23 | arch = "riscv"; 24 | os = "linux"; 25 | load = <0x0 0x86100000>; 26 | compression = "none"; 27 | hash-1 { 28 | algo = "sha256"; 29 | }; 30 | }; 31 | 32 | fdt { 33 | data = /incbin/("../work/u-boot/arch/riscv/dts/starfive_vic7100_evb.dtb"); 34 | type = "flat_dt"; 35 | arch = "riscv"; 36 | load = <0x0 0x86000000>; 37 | compression = "none"; 38 | hash-1 { 39 | algo = "sha256"; 40 | }; 41 | }; 42 | }; 43 | 44 | configurations { 45 | default = "config-1"; 46 | 47 | config-1 { 48 | description = "HiFive Nvdla with opensbi"; 49 | kernel = "vmlinux"; 50 | fdt = "fdt"; 51 | loadables = "ramdisk"; 52 | }; 53 | }; 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /conf/nvdla-uboot-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for HiFive Unleashed"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | bbl { 9 | description = "BBL/SBI/riscv-pk"; 10 | data = /incbin/("../work/bbl.bin"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x80000000>; 15 | entry = <0x80000000>; 16 | compression = "none"; 17 | hash-1 { 18 | algo = "sha256"; 19 | }; 20 | }; 21 | 22 | ramdisk { 23 | description = "buildroot initramfs"; 24 | data = /incbin/("../work/initramfs.cpio.gz"); 25 | type = "ramdisk"; 26 | arch = "riscv"; 27 | os = "linux"; 28 | load = <0x82000000>; 29 | compression = "gzip"; 30 | hash-1 { 31 | algo = "sha256"; 32 | }; 33 | }; 34 | 35 | fdt { 36 | data = /incbin/("../work/u-boot/arch/riscv/dts/hifive_u540_nvdla_iofpga.dtb"); 37 | type = "flat_dt"; 38 | arch = "riscv"; 39 | load = <0x81f00000>; 40 | compression = "none"; 41 | hash-1 { 42 | algo = "sha256"; 43 | }; 44 | }; 45 | }; 46 | 47 | configurations { 48 | default = "config-1"; 49 | 50 | config-1 { 51 | description = "HiFive Unleashed with BBL"; 52 | kernel = "bbl"; 53 | fdt = "fdt"; 54 | loadables = "ramdisk"; 55 | }; 56 | }; 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /conf/u74_uEnv.txt: -------------------------------------------------------------------------------- 1 | # This is the sample uEnv.txt file for HiFive Unleashed U-boot 2 | # The current convention (SUBJECT TO CHANGE) is that this file 3 | # will be loaded from the first MSDOS(fat) GPT partition on the 4 | # MMC card. 5 | 6 | # for debugging boot 7 | #bootargs=video=640x480 console=ttySI0 root=/dev/mmcblk0p2 rootwait 8 | bootargs=earlyprintk console=ttyS0,115200 debug rootwait stmmaceth=chain_mode:1 root=/dev/mmcblk0p3 9 | 10 | 11 | # The FIT file to boot from 12 | fitfile=hifiveu.fit 13 | 14 | # The rest of this is mostly of interest to u-boot developers 15 | # below much match what's in FIT (ugha) 16 | bbladdr=80700000 17 | fdtaddr=86000000 18 | irdaddr=86100000 19 | irdsize=06400000 20 | 21 | # Use the FDT in the FIT image.. 22 | #setupfdt1=fdt addr ${fdtaddr}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} 23 | 24 | #use FDT that came with uboot 25 | #setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} 26 | 27 | #Use fit image, but don't call fdt move (TODO: understand later) 28 | #setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen 29 | setupfdt1=fdt addr ${fdtaddr} 30 | 31 | setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> 32 | 33 | #setupfdt2=fdt set /chosen bootargs ${bootargs}; fdt print /chosen 34 | #setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt set /firmware uboot,ver ${ver}; fdt print /chosen 35 | setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt print /chosen 36 | 37 | bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done 38 | 39 | # this assumes ${fileaddr} is already set!! 40 | #boot2=fatload mmc 0:1 ${fileaddr} ${fitfile}; bootm start ${fileaddr}; run setupfdt1; run setupchosen; run setupfdt2; bootm loados ${fileaddr}; echo "Booting kernel in"; run bootwait; go 80000000 41 | boot2=fatload mmc 0:1 ${fileaddr} ${fitfile}; bootm start ${fileaddr}; run setupfdt1;run setupird;run setupfdt2; bootm loados ${fileaddr}; echo "Booting kernel in"; go ${bbladdr} ${fdtaddr} 42 | 43 | # if you want to network boot, for testing, uncomment the following: 44 | #boot2=dhcp; env import -t ${fileaddr} ${filesize}; run boot2 45 | -------------------------------------------------------------------------------- /genimage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ################################################################## 3 | ## ## 4 | ## SPDX-License-Identifier: GPL-2.0-or-later ## 5 | ## ## 6 | ## Copyright (C) 2018-2022 Starfive Technology ## 7 | ## ## 8 | ## Author: Andy Hu ## 9 | ## Date: 2022-07-27 ## 10 | ## Description: This script used to generate img file ## 11 | ## which could be burned to tf card through dd or ## 12 | ## rpi-imager or balenaEtcher tool. ## 13 | ## Run it after the usdk initramfs and rootfs had been built ## 14 | ## ## 15 | ################################################################## 16 | COLOR_NORMAL="\033[0m" 17 | COLOR_GREEN="\033[1;32m" 18 | COLOR_YELLOW="\033[1;33m" 19 | COLOR_RED="\033[1;31m" 20 | COLOR_GREY="\033[1;30m" 21 | HWBOARD=visionfive2 22 | 23 | TOPDIR=`dirname $0` 24 | BUILD_DIR=$TOPDIR/work 25 | INPUT_DIR=$TOPDIR 26 | OUTPUT_DIR=$TOPDIR/work 27 | if [ $HWBOARD == "visionfive2" ]; then 28 | GENIMAGE_CFG=$TOPDIR/conf/genimage-vf2.cfg 29 | else 30 | GENIMAGE_CFG=$TOPDIR/conf/genimage.cfg 31 | fi 32 | GENIMAGE=$TOPDIR/work/buildroot_rootfs/host/bin/genimage 33 | 34 | if [ ! -f $GENIMAGE ]; then 35 | printf $COLOR_RED 36 | echo "Error: $GENIMAGE not found. need building the usdk first" 37 | printf $COLOR_NORMAL 38 | exit 1 39 | fi 40 | 41 | GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" 42 | 43 | # Pass an empty rootpath. genimage makes a full copy of the given rootpath to 44 | # ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk 45 | # space. We don't rely on genimage to build the rootfs image, just to insert a 46 | # pre-built one in the disk image. 47 | 48 | trap 'rm -rf "${ROOTPATH_TMP}"' EXIT 49 | ROOTPATH_TMP="$(mktemp -d)" 50 | 51 | rm -rf "${GENIMAGE_TMP}" 52 | 53 | $GENIMAGE \ 54 | --rootpath "${ROOTPATH_TMP}" \ 55 | --tmppath "${GENIMAGE_TMP}" \ 56 | --inputpath "${INPUT_DIR}" \ 57 | --outputpath "${OUTPUT_DIR}" \ 58 | --config "${GENIMAGE_CFG}" 59 | -------------------------------------------------------------------------------- /conf/linux_distro_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 5 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 6 | CONFIG_SYSVIPC=y 7 | # CONFIG_CROSS_MEMORY_ATTACH is not set 8 | CONFIG_CGROUPS=y 9 | CONFIG_CGROUP_SCHED=y 10 | CONFIG_CFS_BANDWIDTH=y 11 | CONFIG_NAMESPACES=y 12 | CONFIG_CHECKPOINT_RESTORE=y 13 | CONFIG_EMBEDDED=y 14 | CONFIG_PARTITION_ADVANCED=y 15 | # CONFIG_IOSCHED_DEADLINE is not set 16 | CONFIG_NET=y 17 | CONFIG_PACKET=y 18 | CONFIG_UNIX=y 19 | CONFIG_INET=y 20 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 21 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 22 | # CONFIG_INET_XFRM_MODE_BEET is not set 23 | # CONFIG_INET_DIAG is not set 24 | CONFIG_BRIDGE=y 25 | CONFIG_NET_SCHED=y 26 | CONFIG_DEVTMPFS=y 27 | CONFIG_DEVTMPFS_MOUNT=y 28 | # CONFIG_FIRMWARE_IN_KERNEL is not set 29 | CONFIG_MTD=y 30 | CONFIG_MTD_BLOCK_RO=y 31 | CONFIG_MTD_M25P80=y 32 | CONFIG_MTD_SPI_NOR=y 33 | CONFIG_VIRTIO_BLK=y 34 | CONFIG_EEPROM_AT24=y 35 | CONFIG_BLK_DEV_SD=y 36 | CONFIG_ATA=y 37 | CONFIG_NETDEVICES=y 38 | CONFIG_VIRTIO_NET=y 39 | CONFIG_MACB=y 40 | CONFIG_MICROSEMI_PHY=y 41 | # CONFIG_VT is not set 42 | CONFIG_SERIAL_SIFIVE=y 43 | CONFIG_SERIAL_SIFIVE_CONSOLE=y 44 | # CONFIG_HVC_RISCV_SBI is not set 45 | CONFIG_VIRTIO_CONSOLE=y 46 | # CONFIG_HW_RANDOM is not set 47 | CONFIG_I2C=y 48 | CONFIG_I2C_OCORES=y 49 | CONFIG_SPI=y 50 | CONFIG_SPI_SIFIVE=y 51 | CONFIG_GPIOLIB=y 52 | CONFIG_GPIO_SYSFS=y 53 | CONFIG_GPIO_SIFIVE=y 54 | CONFIG_POWER_RESET=y 55 | CONFIG_POWER_RESET_GPIO_RESTART=y 56 | CONFIG_MMC=y 57 | CONFIG_MMC_SPI=y 58 | CONFIG_NEW_LEDS=y 59 | CONFIG_LEDS_CLASS=y 60 | CONFIG_LEDS_PWM=y 61 | CONFIG_LEDS_TRIGGERS=y 62 | CONFIG_LEDS_TRIGGER_MTD=y 63 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 64 | CONFIG_LEDS_TRIGGER_PANIC=y 65 | CONFIG_VIRTIO_MMIO=y 66 | CONFIG_CLK_U54_PRCI=y 67 | CONFIG_CLK_GEMGXL_MGMT=y 68 | # CONFIG_IOMMU_SUPPORT is not set 69 | CONFIG_PWM=y 70 | CONFIG_PWM_SIFIVE=y 71 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 72 | CONFIG_EXT3_FS=y 73 | CONFIG_EXT4_FS_SECURITY=y 74 | CONFIG_XFS_FS=y 75 | CONFIG_XFS_QUOTA=y 76 | CONFIG_XFS_POSIX_ACL=y 77 | # CONFIG_DNOTIFY is not set 78 | CONFIG_AUTOFS4_FS=y 79 | # CONFIG_PROC_PAGE_MONITOR is not set 80 | CONFIG_TMPFS=y 81 | CONFIG_TMPFS_POSIX_ACL=y 82 | # CONFIG_MISC_FILESYSTEMS is not set 83 | # CONFIG_NETWORK_FILESYSTEMS is not set 84 | CONFIG_CMDLINE_BOOL=y 85 | CONFIG_CMDLINE="earlyprintk root=/dev/mmcblk0p2 rootwait" 86 | CONFIG_PRINTK_TIME=y 87 | CONFIG_STRIP_ASM_SYMS=y 88 | CONFIG_DEBUG_SECTION_MISMATCH=y 89 | CONFIG_STACKTRACE=y 90 | # CONFIG_CRYPTO_HW is not set 91 | -------------------------------------------------------------------------------- /conf/uboot-fit-image.its: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | description = "U-boot FIT image for HiFive Unleashed"; 5 | #address-cells = <2>; 6 | 7 | images { 8 | bbl { 9 | description = "BBL/SBI/riscv-pk"; 10 | data = /incbin/("../work/bbl.bin"); 11 | type = "kernel"; 12 | arch = "riscv"; 13 | os = "linux"; 14 | load = <0x80000000>; 15 | entry = <0x80000000>; 16 | compression = "none"; 17 | hash-1 { 18 | algo = "sha256"; 19 | }; 20 | }; 21 | 22 | kernel { 23 | description = "Linux kernel"; 24 | data = /incbin/("../work/vmlinux.bin"); 25 | type = "kernel"; 26 | arch = "riscv"; 27 | os = "linux"; 28 | load = <0x80200000>; 29 | compression = "none"; 30 | hash-1 { 31 | algo = "sha256"; 32 | }; 33 | }; 34 | 35 | ramdisk { 36 | description = "buildroot initramfs"; 37 | data = /incbin/("../work/initramfs.cpio.gz"); 38 | type = "ramdisk"; 39 | arch = "riscv"; 40 | os = "linux"; 41 | load = <0x82000000>; 42 | compression = "gzip"; 43 | hash-1 { 44 | algo = "sha256"; 45 | }; 46 | }; 47 | 48 | fdt { 49 | data = /incbin/("../work/u-boot/arch/riscv/dts/hifive_u540.dtb"); 50 | type = "flat_dt"; 51 | arch = "riscv"; 52 | load = <0x81f00000>; 53 | compression = "none"; 54 | hash-1 { 55 | algo = "sha256"; 56 | }; 57 | }; 58 | }; 59 | 60 | configurations { 61 | default = "config-1"; 62 | 63 | config-1 { 64 | description = "HiFive Unleashed with BBL"; 65 | kernel = "bbl"; 66 | fdt = "fdt"; 67 | loadables = "kernel", "ramdisk"; 68 | }; 69 | }; 70 | }; 71 | 72 | -------------------------------------------------------------------------------- /conf/uEnv.txt: -------------------------------------------------------------------------------- 1 | # This is the sample uEnv.txt file for HiFive Unleashed U-boot 2 | # The current convention (SUBJECT TO CHANGE) is that this file 3 | # will be loaded from the first MSDOS(fat) GPT partition on the 4 | # MMC card. 5 | 6 | # for debugging boot 7 | bootargs=video=640x480 console=ttySI0 root=/dev/mmcblk0p2 rootwait 8 | # for normal boot 9 | #bootargs=video=640x480 root=/dev/mmcblk0p2 rootwait 10 | 11 | # To boot from partition 2 of an NVME drive (with a PCI iofpga, 12 | # such as the MicroSemi expansion board, uncomment below: 13 | 14 | #bootargs=debug console=tty0 console=ttySIF0 root=/dev/nvme0n1p2 15 | 16 | # to boot an initramfs (buildroot or debian/etc) use this 17 | #setupchosen=run setupvml; run setupird 18 | 19 | # to boot with straight to the root= parition, uncomment below 20 | # so we do not set the ramdisk pointers 21 | #setupchosen=run setupvml 22 | setupchosen=run setupird 23 | 24 | # The FIT file to boot from 25 | fitfile=hifiveu.fit 26 | 27 | # The rest of this is mostly of interest to u-boot developers 28 | # below much match what's in FIT (ugha) 29 | bbladdr=80000000 30 | fdtaddr=81f00000 31 | vmladdr=80200000 32 | irdaddr=82000000 33 | # oh the hack.. use a large size.. ugh 34 | irdsize=01000000 35 | vmlsize=00800000 36 | newfdt=f0000000 37 | # Use the FDT in the FIT image.. 38 | #setupfdt1=fdt addr ${fdtaddr}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} 39 | 40 | #use FDT that came with uboot 41 | #setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} 42 | 43 | #Use fit image, but don't call fdt move (TODO: understand later) 44 | setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen 45 | 46 | setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> 47 | setupvml=setexpr vmlend ${vmladdr} + ${vmlsize}; fdt set /chosen riscv,kernel-start <0x0 0x${vmladdr}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> 48 | 49 | #setupfdt2=fdt set /chosen bootargs ${bootargs}; fdt print /chosen 50 | setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt set /firmware uboot,ver ${ver}; fdt print /chosen 51 | 52 | bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done 53 | 54 | # this assumes ${fileaddr} is already set!! 55 | boot2=fatload mmc 0:1 ${fileaddr} ${fitfile}; bootm start ${fileaddr}; run setupfdt1; run setupchosen; run setupfdt2; bootm loados ${fileaddr}; echo "Booting kernel in"; run bootwait; go 80000000 56 | 57 | # if you want to network boot, for testing, uncomment the following: 58 | #boot2=dhcp; env import -t ${fileaddr} ${filesize}; run boot2 59 | -------------------------------------------------------------------------------- /conf/linux_microsemi_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_PCI=y 5 | CONFIG_PCI_DMA_32=y 6 | CONFIG_PCI_DEBUG=y 7 | CONFIG_PCIE_MICROSEMI=y 8 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 9 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 10 | # CONFIG_CROSS_MEMORY_ATTACH is not set 11 | CONFIG_NAMESPACES=y 12 | CONFIG_BLK_DEV_INITRD=y 13 | # CONFIG_RD_BZIP2 is not set 14 | # CONFIG_RD_LZMA is not set 15 | # CONFIG_RD_XZ is not set 16 | # CONFIG_RD_LZO is not set 17 | # CONFIG_RD_LZ4 is not set 18 | CONFIG_EMBEDDED=y 19 | # CONFIG_BLK_DEV_BSG is not set 20 | CONFIG_PARTITION_ADVANCED=y 21 | # CONFIG_IOSCHED_DEADLINE is not set 22 | CONFIG_NET=y 23 | CONFIG_PACKET=y 24 | CONFIG_UNIX=y 25 | CONFIG_INET=y 26 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 27 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 28 | # CONFIG_INET_XFRM_MODE_BEET is not set 29 | # CONFIG_INET_DIAG is not set 30 | # CONFIG_IPV6 is not set 31 | CONFIG_DEVTMPFS=y 32 | CONFIG_DEVTMPFS_MOUNT=y 33 | # CONFIG_FIRMWARE_IN_KERNEL is not set 34 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 35 | CONFIG_MTD=y 36 | CONFIG_MTD_BLOCK_RO=y 37 | CONFIG_MTD_M25P80=y 38 | CONFIG_MTD_SPI_NOR=y 39 | CONFIG_EEPROM_AT24=y 40 | CONFIG_BLK_DEV_SD=y 41 | CONFIG_ATA=y 42 | CONFIG_SATA_AHCI=y 43 | CONFIG_SATA_SIL24=y 44 | CONFIG_SATA_MV=y 45 | CONFIG_NETDEVICES=y 46 | CONFIG_MACB=y 47 | CONFIG_E1000E=y 48 | CONFIG_R8169=y 49 | CONFIG_MICROSEMI_PHY=y 50 | CONFIG_INPUT_MOUSEDEV=y 51 | # CONFIG_INPUT_KEYBOARD is not set 52 | # CONFIG_INPUT_MOUSE is not set 53 | # CONFIG_HW_RANDOM is not set 54 | CONFIG_I2C_OCORES=y 55 | CONFIG_SPI=y 56 | CONFIG_SPI_SIFIVE=y 57 | CONFIG_GPIOLIB=y 58 | CONFIG_GPIO_SYSFS=y 59 | CONFIG_GPIO_SIFIVE=y 60 | CONFIG_POWER_RESET=y 61 | CONFIG_POWER_RESET_GPIO_RESTART=y 62 | CONFIG_PMBUS=y 63 | CONFIG_DRM=y 64 | CONFIG_DRM_RADEON=y 65 | # CONFIG_VGA_CONSOLE is not set 66 | CONFIG_FRAMEBUFFER_CONSOLE=y 67 | CONFIG_LOGO=y 68 | CONFIG_USB=y 69 | CONFIG_USB_XHCI_HCD=y 70 | CONFIG_USB_EHCI_HCD=y 71 | CONFIG_USB_STORAGE=y 72 | CONFIG_MMC=y 73 | CONFIG_MMC_SPI=y 74 | CONFIG_NEW_LEDS=y 75 | CONFIG_LEDS_CLASS=y 76 | CONFIG_LEDS_PWM=y 77 | CONFIG_LEDS_TRIGGERS=y 78 | CONFIG_LEDS_TRIGGER_MTD=y 79 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 80 | CONFIG_LEDS_TRIGGER_PANIC=y 81 | CONFIG_CLK_U54_PRCI=y 82 | CONFIG_CLK_GEMGXL_MGMT=y 83 | # CONFIG_IOMMU_SUPPORT is not set 84 | CONFIG_PWM=y 85 | CONFIG_PWM_SIFIVE=y 86 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 87 | CONFIG_EXT3_FS=y 88 | # CONFIG_FILE_LOCKING is not set 89 | # CONFIG_DNOTIFY is not set 90 | # CONFIG_INOTIFY_USER is not set 91 | # CONFIG_PROC_PAGE_MONITOR is not set 92 | CONFIG_TMPFS=y 93 | # CONFIG_MISC_FILESYSTEMS is not set 94 | # CONFIG_NETWORK_FILESYSTEMS is not set 95 | CONFIG_CMDLINE_BOOL=y 96 | CONFIG_CMDLINE="earlyprintk video=640x480" 97 | CONFIG_PRINTK_TIME=y 98 | CONFIG_STRIP_ASM_SYMS=y 99 | CONFIG_DEBUG_SECTION_MISMATCH=y 100 | CONFIG_STACKTRACE=y 101 | # CONFIG_CRYPTO_HW is not set 102 | -------------------------------------------------------------------------------- /conf/linux_framebuffer_distro_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_PCI=y 5 | CONFIG_PCI_DEBUG=y 6 | CONFIG_PCIE_XILINX=y 7 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 8 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 9 | CONFIG_SYSVIPC=y 10 | # CONFIG_CROSS_MEMORY_ATTACH is not set 11 | CONFIG_CGROUPS=y 12 | CONFIG_CGROUP_SCHED=y 13 | CONFIG_CFS_BANDWIDTH=y 14 | CONFIG_NAMESPACES=y 15 | CONFIG_CHECKPOINT_RESTORE=y 16 | CONFIG_EMBEDDED=y 17 | CONFIG_PARTITION_ADVANCED=y 18 | # CONFIG_IOSCHED_DEADLINE is not set 19 | CONFIG_NET=y 20 | CONFIG_PACKET=y 21 | CONFIG_UNIX=y 22 | CONFIG_INET=y 23 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 24 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 25 | # CONFIG_INET_XFRM_MODE_BEET is not set 26 | # CONFIG_INET_DIAG is not set 27 | CONFIG_BRIDGE=y 28 | CONFIG_NET_SCHED=y 29 | CONFIG_DEVTMPFS=y 30 | CONFIG_DEVTMPFS_MOUNT=y 31 | # CONFIG_FIRMWARE_IN_KERNEL is not set 32 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 33 | CONFIG_MTD=y 34 | CONFIG_MTD_BLOCK_RO=y 35 | CONFIG_MTD_M25P80=y 36 | CONFIG_MTD_SPI_NOR=y 37 | CONFIG_BLK_DEV_LOOP=y 38 | CONFIG_VIRTIO_BLK=y 39 | CONFIG_EEPROM_AT24=y 40 | CONFIG_BLK_DEV_SD=y 41 | CONFIG_SCSI_VIRTIO=y 42 | CONFIG_ATA=y 43 | CONFIG_SATA_AHCI=y 44 | CONFIG_SATA_SIL24=y 45 | CONFIG_NETDEVICES=y 46 | CONFIG_VIRTIO_NET=y 47 | CONFIG_MACB=y 48 | CONFIG_E1000E=y 49 | CONFIG_R8169=y 50 | CONFIG_MICROSEMI_PHY=y 51 | CONFIG_INPUT_MOUSEDEV=y 52 | # CONFIG_INPUT_KEYBOARD is not set 53 | # CONFIG_INPUT_MOUSE is not set 54 | CONFIG_SERIAL_8250=y 55 | CONFIG_SERIAL_8250_CONSOLE=y 56 | CONFIG_SERIAL_OF_PLATFORM=y 57 | CONFIG_VIRTIO_CONSOLE=y 58 | # CONFIG_HW_RANDOM is not set 59 | CONFIG_I2C_OCORES=y 60 | CONFIG_SPI=y 61 | CONFIG_SPI_SIFIVE=y 62 | CONFIG_GPIOLIB=y 63 | CONFIG_GPIO_SYSFS=y 64 | CONFIG_GPIO_SIFIVE=y 65 | CONFIG_POWER_RESET=y 66 | CONFIG_POWER_RESET_GPIO_RESTART=y 67 | CONFIG_PMBUS=y 68 | CONFIG_DRM=y 69 | CONFIG_DRM_RADEON=y 70 | # CONFIG_VGA_CONSOLE is not set 71 | CONFIG_FRAMEBUFFER_CONSOLE=y 72 | CONFIG_LOGO=y 73 | CONFIG_USB=y 74 | CONFIG_USB_XHCI_HCD=y 75 | CONFIG_USB_EHCI_HCD=y 76 | CONFIG_USB_STORAGE=y 77 | CONFIG_MMC=y 78 | CONFIG_MMC_SPI=y 79 | CONFIG_NEW_LEDS=y 80 | CONFIG_LEDS_CLASS=y 81 | CONFIG_LEDS_PWM=y 82 | CONFIG_LEDS_TRIGGERS=y 83 | CONFIG_LEDS_TRIGGER_MTD=y 84 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 85 | CONFIG_LEDS_TRIGGER_PANIC=y 86 | CONFIG_VIRTIO_MMIO=y 87 | CONFIG_CLK_U54_PRCI=y 88 | CONFIG_CLK_GEMGXL_MGMT=y 89 | # CONFIG_IOMMU_SUPPORT is not set 90 | CONFIG_PWM=y 91 | CONFIG_PWM_SIFIVE=y 92 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 93 | CONFIG_EXT3_FS=y 94 | CONFIG_EXT4_FS_SECURITY=y 95 | CONFIG_XFS_FS=y 96 | CONFIG_XFS_QUOTA=y 97 | CONFIG_XFS_POSIX_ACL=y 98 | # CONFIG_DNOTIFY is not set 99 | CONFIG_AUTOFS4_FS=y 100 | # CONFIG_PROC_PAGE_MONITOR is not set 101 | CONFIG_TMPFS=y 102 | CONFIG_TMPFS_POSIX_ACL=y 103 | # CONFIG_MISC_FILESYSTEMS is not set 104 | # CONFIG_NETWORK_FILESYSTEMS is not set 105 | CONFIG_CMDLINE_BOOL=y 106 | CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/mmcblk0p2 rootwait" 107 | CONFIG_PRINTK_TIME=y 108 | CONFIG_STRIP_ASM_SYMS=y 109 | CONFIG_DEBUG_SECTION_MISMATCH=y 110 | CONFIG_STACKTRACE=y 111 | # CONFIG_CRYPTO_HW is not set 112 | -------------------------------------------------------------------------------- /conf/linux_microsemi_distro_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_PCI=y 5 | CONFIG_PCI_DMA_32=y 6 | CONFIG_PCI_DEBUG=y 7 | CONFIG_PCIE_MICROSEMI=y 8 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 9 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 10 | CONFIG_SYSVIPC=y 11 | # CONFIG_CROSS_MEMORY_ATTACH is not set 12 | CONFIG_CGROUPS=y 13 | CONFIG_CGROUP_SCHED=y 14 | CONFIG_CFS_BANDWIDTH=y 15 | CONFIG_NAMESPACES=y 16 | CONFIG_CHECKPOINT_RESTORE=y 17 | CONFIG_EMBEDDED=y 18 | CONFIG_PARTITION_ADVANCED=y 19 | # CONFIG_IOSCHED_DEADLINE is not set 20 | CONFIG_NET=y 21 | CONFIG_PACKET=y 22 | CONFIG_UNIX=y 23 | CONFIG_INET=y 24 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 25 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 26 | # CONFIG_INET_XFRM_MODE_BEET is not set 27 | # CONFIG_INET_DIAG is not set 28 | CONFIG_BRIDGE=y 29 | CONFIG_NET_SCHED=y 30 | CONFIG_DEVTMPFS=y 31 | CONFIG_DEVTMPFS_MOUNT=y 32 | # CONFIG_FIRMWARE_IN_KERNEL is not set 33 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 34 | CONFIG_MTD=y 35 | CONFIG_MTD_BLOCK_RO=y 36 | CONFIG_MTD_M25P80=y 37 | CONFIG_MTD_SPI_NOR=y 38 | CONFIG_BLK_DEV_LOOP=y 39 | CONFIG_VIRTIO_BLK=y 40 | CONFIG_EEPROM_AT24=y 41 | CONFIG_BLK_DEV_SD=y 42 | CONFIG_SCSI_VIRTIO=y 43 | CONFIG_ATA=y 44 | CONFIG_SATA_AHCI=y 45 | CONFIG_SATA_SIL24=y 46 | CONFIG_SATA_MV=y 47 | CONFIG_NETDEVICES=y 48 | CONFIG_VIRTIO_NET=y 49 | CONFIG_MACB=y 50 | CONFIG_E1000E=y 51 | CONFIG_R8169=y 52 | CONFIG_MICROSEMI_PHY=y 53 | CONFIG_INPUT_MOUSEDEV=y 54 | # CONFIG_INPUT_KEYBOARD is not set 55 | # CONFIG_INPUT_MOUSE is not set 56 | # CONFIG_HW_RANDOM is not set 57 | CONFIG_I2C_OCORES=y 58 | CONFIG_SPI=y 59 | CONFIG_SPI_SIFIVE=y 60 | CONFIG_GPIOLIB=y 61 | CONFIG_GPIO_SYSFS=y 62 | CONFIG_GPIO_SIFIVE=y 63 | CONFIG_POWER_RESET=y 64 | CONFIG_POWER_RESET_GPIO_RESTART=y 65 | CONFIG_PMBUS=y 66 | CONFIG_MEDIA_SUPPORT=y 67 | CONFIG_MEDIA_CAMERA_SUPPORT=y 68 | CONFIG_MEDIA_USB_SUPPORT=y 69 | CONFIG_USB_VIDEO_CLASS=y 70 | # CONFIG_USB_GSPCA is not set 71 | CONFIG_DRM=y 72 | CONFIG_DRM_RADEON=y 73 | # CONFIG_VGA_CONSOLE is not set 74 | CONFIG_FRAMEBUFFER_CONSOLE=y 75 | CONFIG_LOGO=y 76 | CONFIG_USB=y 77 | CONFIG_USB_XHCI_HCD=y 78 | CONFIG_USB_EHCI_HCD=y 79 | CONFIG_USB_STORAGE=y 80 | CONFIG_MMC=y 81 | CONFIG_MMC_SPI=y 82 | CONFIG_NEW_LEDS=y 83 | CONFIG_LEDS_CLASS=y 84 | CONFIG_LEDS_PWM=y 85 | CONFIG_LEDS_TRIGGERS=y 86 | CONFIG_LEDS_TRIGGER_MTD=y 87 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 88 | CONFIG_LEDS_TRIGGER_PANIC=y 89 | CONFIG_VIRTIO_MMIO=y 90 | CONFIG_CLK_U54_PRCI=y 91 | CONFIG_CLK_GEMGXL_MGMT=y 92 | # CONFIG_IOMMU_SUPPORT is not set 93 | CONFIG_PWM=y 94 | CONFIG_PWM_SIFIVE=y 95 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 96 | CONFIG_EXT3_FS=y 97 | CONFIG_EXT4_FS_SECURITY=y 98 | CONFIG_XFS_FS=y 99 | CONFIG_XFS_QUOTA=y 100 | CONFIG_XFS_POSIX_ACL=y 101 | # CONFIG_DNOTIFY is not set 102 | CONFIG_AUTOFS4_FS=y 103 | # CONFIG_PROC_PAGE_MONITOR is not set 104 | CONFIG_TMPFS=y 105 | CONFIG_TMPFS_POSIX_ACL=y 106 | # CONFIG_MISC_FILESYSTEMS is not set 107 | # CONFIG_NETWORK_FILESYSTEMS is not set 108 | CONFIG_CMDLINE_BOOL=y 109 | CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/mmcblk0p2 rootwait" 110 | CONFIG_SECCOMP=y 111 | CONFIG_PRINTK_TIME=y 112 | CONFIG_STRIP_ASM_SYMS=y 113 | CONFIG_DEBUG_SECTION_MISMATCH=y 114 | CONFIG_STACKTRACE=y 115 | # CONFIG_CRYPTO_HW is not set 116 | -------------------------------------------------------------------------------- /conf/linux_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_PCI=y 5 | CONFIG_PCI_DEBUG=y 6 | CONFIG_PCIE_XILINX=y 7 | CONFIG_PCIE_XDMA_PL=y 8 | CONFIG_PCIE_MICROSEMI=y 9 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 10 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 11 | CONFIG_SYSVIPC=y 12 | # CONFIG_CROSS_MEMORY_ATTACH is not set 13 | CONFIG_CGROUPS=y 14 | CONFIG_CGROUP_SCHED=y 15 | CONFIG_CFS_BANDWIDTH=y 16 | CONFIG_NAMESPACES=y 17 | CONFIG_BLK_DEV_INITRD=y 18 | CONFIG_CHECKPOINT_RESTORE=y 19 | CONFIG_EMBEDDED=y 20 | CONFIG_PARTITION_ADVANCED=y 21 | # CONFIG_IOSCHED_DEADLINE is not set 22 | CONFIG_NET=y 23 | CONFIG_PACKET=y 24 | CONFIG_UNIX=y 25 | CONFIG_INET=y 26 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 27 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 28 | # CONFIG_INET_XFRM_MODE_BEET is not set 29 | # CONFIG_INET_DIAG is not set 30 | CONFIG_BRIDGE=y 31 | CONFIG_NET_SCHED=y 32 | CONFIG_DEVTMPFS=y 33 | CONFIG_DEVTMPFS_MOUNT=y 34 | # CONFIG_FIRMWARE_IN_KERNEL is not set 35 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 36 | CONFIG_MTD=y 37 | CONFIG_MTD_BLOCK_RO=y 38 | CONFIG_MTD_M25P80=y 39 | CONFIG_MTD_SPI_NOR=y 40 | CONFIG_BLK_DEV_LOOP=y 41 | CONFIG_VIRTIO_BLK=y 42 | CONFIG_EEPROM_AT24=y 43 | CONFIG_BLK_DEV_SD=y 44 | CONFIG_ATA=y 45 | CONFIG_SATA_AHCI=y 46 | CONFIG_SATA_SIL24=y 47 | CONFIG_SATA_MV=y 48 | CONFIG_NETDEVICES=y 49 | CONFIG_VIRTIO_NET=y 50 | CONFIG_MACB=y 51 | CONFIG_MICROSEMI_PHY=y 52 | CONFIG_INPUT_MOUSEDEV=y 53 | # CONFIG_INPUT_MOUSE is not set 54 | CONFIG_SERIAL_SIFIVE=y 55 | CONFIG_SERIAL_SIFIVE_CONSOLE=y 56 | CONFIG_VIRTIO_CONSOLE=y 57 | # CONFIG_HW_RANDOM is not set 58 | CONFIG_I2C_OCORES=y 59 | CONFIG_SPI=y 60 | CONFIG_SPI_SIFIVE=y 61 | CONFIG_GPIOLIB=y 62 | CONFIG_GPIO_SYSFS=y 63 | CONFIG_GPIO_SIFIVE=y 64 | CONFIG_POWER_RESET=y 65 | CONFIG_POWER_RESET_GPIO_RESTART=y 66 | CONFIG_MEDIA_SUPPORT=y 67 | CONFIG_MEDIA_CAMERA_SUPPORT=y 68 | CONFIG_MEDIA_USB_SUPPORT=y 69 | CONFIG_USB_VIDEO_CLASS=y 70 | # CONFIG_VGA_ARB is not set 71 | CONFIG_DRM=y 72 | CONFIG_DRM_RADEON=y 73 | # CONFIG_VGA_CONSOLE is not set 74 | CONFIG_FRAMEBUFFER_CONSOLE=y 75 | CONFIG_LOGO=y 76 | CONFIG_USB=y 77 | CONFIG_USB_XHCI_HCD=y 78 | CONFIG_USB_EHCI_HCD=y 79 | CONFIG_USB_STORAGE=y 80 | CONFIG_MMC=y 81 | CONFIG_MMC_SPI=y 82 | CONFIG_NEW_LEDS=y 83 | CONFIG_LEDS_CLASS=y 84 | CONFIG_LEDS_PWM=y 85 | CONFIG_LEDS_TRIGGERS=y 86 | CONFIG_LEDS_TRIGGER_MTD=y 87 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 88 | CONFIG_LEDS_TRIGGER_PANIC=y 89 | CONFIG_VIRTIO_MMIO=y 90 | CONFIG_CLK_U54_PRCI=y 91 | CONFIG_CLK_GEMGXL_MGMT=y 92 | # CONFIG_IOMMU_SUPPORT is not set 93 | CONFIG_PWM=y 94 | CONFIG_PWM_SIFIVE=y 95 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 96 | CONFIG_EXT2_FS=y 97 | CONFIG_EXT4_FS=y 98 | CONFIG_XFS_FS=y 99 | CONFIG_XFS_QUOTA=y 100 | CONFIG_XFS_POSIX_ACL=y 101 | # CONFIG_DNOTIFY is not set 102 | CONFIG_AUTOFS4_FS=y 103 | CONFIG_VFAT_FS=y 104 | CONFIG_FAT_DEFAULT_UTF8=y 105 | CONFIG_TMPFS=y 106 | CONFIG_TMPFS_POSIX_ACL=y 107 | # CONFIG_MISC_FILESYSTEMS is not set 108 | # CONFIG_NETWORK_FILESYSTEMS is not set 109 | CONFIG_NLS_CODEPAGE_437=y 110 | CONFIG_NLS_ISO8859_1=y 111 | CONFIG_NLS_UTF8=y 112 | CONFIG_CMDLINE_BOOL=y 113 | CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/sda1" 114 | CONFIG_PRINTK_TIME=y 115 | CONFIG_STRIP_ASM_SYMS=y 116 | CONFIG_DEBUG_SECTION_MISMATCH=y 117 | CONFIG_STACKTRACE=y 118 | # CONFIG_CRYPTO_HW is not set 119 | -------------------------------------------------------------------------------- /conf/linux_415_nvdla_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_PCI=y 5 | CONFIG_PCI_DEBUG=y 6 | CONFIG_PCIE_XILINX=y 7 | CONFIG_PCIE_XDMA_PL=y 8 | CONFIG_PCIE_MICROSEMI=y 9 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 10 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 11 | CONFIG_SYSVIPC=y 12 | # CONFIG_CROSS_MEMORY_ATTACH is not set 13 | CONFIG_CGROUPS=y 14 | CONFIG_CGROUP_SCHED=y 15 | CONFIG_CFS_BANDWIDTH=y 16 | CONFIG_NAMESPACES=y 17 | CONFIG_CHECKPOINT_RESTORE=y 18 | CONFIG_EMBEDDED=y 19 | CONFIG_PARTITION_ADVANCED=y 20 | # CONFIG_IOSCHED_DEADLINE is not set 21 | CONFIG_NET=y 22 | CONFIG_PACKET=y 23 | CONFIG_UNIX=y 24 | CONFIG_INET=y 25 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 26 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 27 | # CONFIG_INET_XFRM_MODE_BEET is not set 28 | # CONFIG_INET_DIAG is not set 29 | CONFIG_BRIDGE=y 30 | CONFIG_NET_SCHED=y 31 | CONFIG_DEVTMPFS=y 32 | CONFIG_DEVTMPFS_MOUNT=y 33 | # CONFIG_FIRMWARE_IN_KERNEL is not set 34 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 35 | CONFIG_MTD=y 36 | CONFIG_MTD_BLOCK_RO=y 37 | CONFIG_MTD_M25P80=y 38 | CONFIG_MTD_SPI_NOR=y 39 | CONFIG_BLK_DEV_LOOP=y 40 | CONFIG_VIRTIO_BLK=y 41 | CONFIG_EEPROM_AT24=y 42 | CONFIG_BLK_DEV_SD=y 43 | CONFIG_ATA=y 44 | CONFIG_SATA_AHCI=y 45 | CONFIG_SATA_SIL24=y 46 | CONFIG_SATA_MV=y 47 | CONFIG_NETDEVICES=y 48 | CONFIG_VIRTIO_NET=y 49 | CONFIG_MACB=y 50 | CONFIG_MICROSEMI_PHY=y 51 | CONFIG_INPUT_MOUSEDEV=y 52 | # CONFIG_INPUT_MOUSE is not set 53 | CONFIG_SERIAL_SIFIVE=y 54 | CONFIG_SERIAL_SIFIVE_CONSOLE=y 55 | # CONFIG_HVC_RISCV_SBI is not set 56 | CONFIG_VIRTIO_CONSOLE=y 57 | # CONFIG_HW_RANDOM is not set 58 | CONFIG_I2C_OCORES=y 59 | CONFIG_SPI=y 60 | CONFIG_SPI_SIFIVE=y 61 | CONFIG_GPIOLIB=y 62 | CONFIG_GPIO_SYSFS=y 63 | CONFIG_GPIO_SIFIVE=y 64 | CONFIG_POWER_RESET=y 65 | CONFIG_POWER_RESET_GPIO_RESTART=y 66 | # CONFIG_VGA_ARB is not set 67 | CONFIG_DRM=y 68 | CONFIG_DRM_RADEON=y 69 | # CONFIG_VGA_CONSOLE is not set 70 | CONFIG_FRAMEBUFFER_CONSOLE=y 71 | CONFIG_LOGO=y 72 | CONFIG_USB=y 73 | CONFIG_USB_XHCI_HCD=y 74 | CONFIG_USB_EHCI_HCD=y 75 | CONFIG_USB_STORAGE=y 76 | CONFIG_MMC=y 77 | CONFIG_MMC_SPI=y 78 | CONFIG_NEW_LEDS=y 79 | CONFIG_LEDS_CLASS=y 80 | CONFIG_LEDS_PWM=y 81 | CONFIG_LEDS_TRIGGERS=y 82 | CONFIG_LEDS_TRIGGER_MTD=y 83 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 84 | CONFIG_LEDS_TRIGGER_PANIC=y 85 | CONFIG_VIRTIO_MMIO=y 86 | CONFIG_CLK_U54_PRCI=y 87 | CONFIG_CLK_GEMGXL_MGMT=y 88 | # CONFIG_IOMMU_SUPPORT is not set 89 | CONFIG_PWM=y 90 | CONFIG_PWM_SIFIVE=y 91 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 92 | CONFIG_EXT2_FS=y 93 | CONFIG_EXT4_FS=y 94 | CONFIG_XFS_FS=y 95 | CONFIG_XFS_QUOTA=y 96 | CONFIG_XFS_POSIX_ACL=y 97 | # CONFIG_DNOTIFY is not set 98 | CONFIG_AUTOFS4_FS=y 99 | CONFIG_VFAT_FS=y 100 | CONFIG_FAT_DEFAULT_UTF8=y 101 | # CONFIG_PROC_PAGE_MONITOR is not set 102 | CONFIG_PROC_PAGE_MONITOR=y 103 | CONFIG_TMPFS=y 104 | CONFIG_TMPFS_POSIX_ACL=y 105 | # CONFIG_MISC_FILESYSTEMS is not set 106 | # CONFIG_NETWORK_FILESYSTEMS is not set 107 | CONFIG_NLS_CODEPAGE_437=y 108 | CONFIG_NLS_ISO8859_1=y 109 | CONFIG_NLS_UTF8=y 110 | CONFIG_CMDLINE_BOOL=y 111 | CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/sda1" 112 | CONFIG_PRINTK_TIME=y 113 | CONFIG_STRIP_ASM_SYMS=y 114 | CONFIG_DEBUG_SECTION_MISMATCH=y 115 | CONFIG_STACKTRACE=y 116 | # CONFIG_CRYPTO_HW is not set 117 | # CONFIG_BLK_DEV_INITRD is not set 118 | CONFIG_BLK_DEV_INITRD=y 119 | CONFIG_INITRAMFS_SOURCE="" 120 | CONFIG_MEDIA_SUPPORT=y 121 | CONFIG_MEDIA_CAMERA_SUPPORT=y 122 | CONFIG_MEDIA_USB_SUPPORT=y 123 | CONFIG_USB_VIDEO_CLASS=y 124 | CONFIG_HVC_DRIVER=y 125 | CONFIG_HVC_IRQ=y 126 | CONFIG_HVC_CONSOLE=y 127 | CONFIG_HVC_RISCV_SBI=y 128 | -------------------------------------------------------------------------------- /conf/linux_framebuffer_smp: -------------------------------------------------------------------------------- 1 | CONFIG_SMP=y 2 | # CONFIG_COMPACTION is not set 3 | CONFIG_HZ_100=y 4 | CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" 5 | CONFIG_DEFAULT_HOSTNAME="ucbvax" 6 | # CONFIG_CROSS_MEMORY_ATTACH is not set 7 | CONFIG_NAMESPACES=y 8 | CONFIG_BLK_DEV_INITRD=y 9 | # CONFIG_RD_BZIP2 is not set 10 | # CONFIG_RD_LZMA is not set 11 | # CONFIG_RD_XZ is not set 12 | # CONFIG_RD_LZO is not set 13 | # CONFIG_RD_LZ4 is not set 14 | CONFIG_EMBEDDED=y 15 | # CONFIG_BLK_DEV_BSG is not set 16 | CONFIG_PARTITION_ADVANCED=y 17 | # CONFIG_EFI_PARTITION is not set 18 | # CONFIG_IOSCHED_DEADLINE is not set 19 | CONFIG_NET=y 20 | CONFIG_UNIX=y 21 | CONFIG_INET=y 22 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 23 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 24 | # CONFIG_INET_XFRM_MODE_BEET is not set 25 | # CONFIG_INET_LRO is not set 26 | # CONFIG_INET_DIAG is not set 27 | # CONFIG_IPV6 is not set 28 | # CONFIG_WIRELESS is not set 29 | CONFIG_DEVTMPFS=y 30 | CONFIG_DEVTMPFS_MOUNT=y 31 | # CONFIG_FIRMWARE_IN_KERNEL is not set 32 | # CONFIG_BLK_DEV is not set 33 | # CONFIG_INPUT_MOUSEDEV is not set 34 | # CONFIG_INPUT_KEYBOARD is not set 35 | # CONFIG_INPUT_MOUSE is not set 36 | # CONFIG_VT is not set 37 | # CONFIG_HW_RANDOM is not set 38 | # CONFIG_HWMON is not set 39 | # CONFIG_USB_SUPPORT is not set 40 | # CONFIG_IOMMU_SUPPORT is not set 41 | CONFIG_EXT3_FS=y 42 | # CONFIG_FILE_LOCKING is not set 43 | # CONFIG_DNOTIFY is not set 44 | # CONFIG_INOTIFY_USER is not set 45 | # CONFIG_PROC_PAGE_MONITOR is not set 46 | CONFIG_TMPFS=y 47 | # CONFIG_MISC_FILESYSTEMS is not set 48 | # CONFIG_NETWORK_FILESYSTEMS is not set 49 | CONFIG_EARLY_PRINTK=y 50 | CONFIG_PRINTK_TIME=y 51 | CONFIG_STRIP_ASM_SYMS=y 52 | CONFIG_DEBUG_SECTION_MISMATCH=y 53 | CONFIG_CMDLINE_BOOL=y 54 | CONFIG_CMDLINE="earlyprintk video=640x480" 55 | CONFIG_FRAME_POINTER=y 56 | CONFIG_STACKTRACE=y 57 | # CONFIG_CRYPTO_ANSI_CPRNG is not set 58 | # CONFIG_CRYPTO_HW is not set 59 | CONFIG_PCI=y 60 | CONFIG_PCI_DEBUG=y 61 | CONFIG_USB_HID=y 62 | CONFIG_USB_SUPPORT=y 63 | CONFIG_USB_COMMON=y 64 | CONFIG_USB=y 65 | CONFIG_USB_XHCI_HCD=y 66 | CONFIG_USB_XHCI_PCI=y 67 | CONFIG_USB_EHCI_HCD=y 68 | CONFIG_INPUT_MOUSEDEV=y 69 | CONFIG_PACKET=y 70 | CONFIG_NETDEVICES=y 71 | CONFIG_NET_CORE=y 72 | CONFIG_ETHERNET=y 73 | CONFIG_NET_VENDOR_INTEL=y 74 | CONFIG_E1000E=y 75 | CONFIG_PCIE_XILINX=y 76 | CONFIG_PCI_DMA_32=y 77 | CONFIG_R8169=y 78 | CONFIG_SCSI=y 79 | CONFIG_SCSI_DMA=y 80 | CONFIG_SCSI_PROC_FS=y 81 | CONFIG_USB_STORAGE=y 82 | CONFIG_BLK_DEV=y 83 | CONFIG_BLK_DEV_SD=y 84 | CONFIG_EFI_PARTITION=y 85 | CONFIG_ATA=y 86 | CONFIG_SATA_AHCI=y 87 | CONFIG_SATA_SIL24=y 88 | 89 | # Freedom-Unleash devices: 90 | CONFIG_NET_CADENCE=y 91 | CONFIG_MACB=y 92 | CONFIG_CLK_GEMGXL_MGMT=y 93 | CONFIG_CLK_U54_PRCI=y 94 | CONFIG_MICROSEMI_PHY=y 95 | CONFIG_I2C=y 96 | CONFIG_I2C_OCORES=y 97 | CONFIG_HWMON=y 98 | CONFIG_PMBUS=y 99 | CONFIG_EEPROM_AT24=y 100 | CONFIG_SPI=y 101 | CONFIG_SPI_SIFIVE=y 102 | CONFIG_GPIO_SYSFS=y 103 | CONFIG_MMC=y 104 | CONFIG_MMC_SPI=y 105 | CONFIG_MTD=y 106 | CONFIG_MTD_SPI_NOR=y 107 | CONFIG_MTD_M25P80=y 108 | CONFIG_MTD_BLOCK_RO=y 109 | CONFIG_GPIOLIB=y 110 | CONFIG_GPIO_SIFIVE=y 111 | CONFIG_POWER_RESET=y 112 | CONFIG_POWER_RESET_GPIO_RESTART=y 113 | CONFIG_PWM=y 114 | CONFIG_PWM_SIFIVE=y 115 | CONFIG_NEW_LEDS=y 116 | CONFIG_LEDS_CLASS=y 117 | CONFIG_LEDS_PWM=y 118 | CONFIG_LEDS_TRIGGERS=y 119 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 120 | CONFIG_LEDS_TRIGGER_MTD=y 121 | CONFIG_LEDS_TRIGGER_NETDEV=y 122 | CONFIG_LEDS_TRIGGER_PANIC=y 123 | CONFIG_NVMEM=y 124 | CONFIG_NVMEM_SIFIVE_U500_OTP=y 125 | 126 | CONFIG_VT=y 127 | CONFIG_DRM=y 128 | CONFIG_DRM_RADEON=y 129 | CONFIG_VGA_CONSOLE=n 130 | CONFIG_LOGO=y 131 | CONFIG_LOGO_LINUX_CLUT224=y 132 | CONFIG_FB=y 133 | CONFIG_FRAMEBUFFER_CONSOLE=y 134 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y 135 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 136 | -------------------------------------------------------------------------------- /conf/linux_59_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_LOCALVERSION="-sifive-1" 2 | # CONFIG_LOCALVERSION_AUTO is not set 3 | CONFIG_DEFAULT_HOSTNAME="riscv" 4 | CONFIG_SYSVIPC=y 5 | CONFIG_POSIX_MQUEUE=y 6 | CONFIG_USELIB=y 7 | CONFIG_PREEMPT_VOLUNTARY=y 8 | CONFIG_IKCONFIG=y 9 | CONFIG_IKCONFIG_PROC=y 10 | CONFIG_CFS_BANDWIDTH=y 11 | CONFIG_NAMESPACES=y 12 | CONFIG_USER_NS=y 13 | CONFIG_CHECKPOINT_RESTORE=y 14 | CONFIG_SCHED_AUTOGROUP=y 15 | CONFIG_BLK_DEV_INITRD=y 16 | CONFIG_EMBEDDED=y 17 | CONFIG_SOC_STARFIVE_VIC7100=y 18 | CONFIG_SMP=y 19 | CONFIG_CMDLINE="earlyprintk earlycon=sbi console=ttyS0,115200 debug rootwait init=/sbin/init" 20 | CONFIG_CMDLINE_FORCE=y 21 | CONFIG_MODULES=y 22 | CONFIG_MODULE_UNLOAD=y 23 | CONFIG_BLK_DEV_ZONED=y 24 | CONFIG_PARTITION_ADVANCED=y 25 | CONFIG_CMA=y 26 | CONFIG_CMA_DEBUGFS=y 27 | CONFIG_NET=y 28 | CONFIG_PACKET=y 29 | CONFIG_UNIX=y 30 | CONFIG_INET=y 31 | CONFIG_IP_MULTICAST=y 32 | CONFIG_IP_ADVANCED_ROUTER=y 33 | CONFIG_IP_PNP=y 34 | CONFIG_IP_PNP_DHCP=y 35 | CONFIG_IP_PNP_BOOTP=y 36 | CONFIG_IP_PNP_RARP=y 37 | CONFIG_DNS_RESOLVER=y 38 | CONFIG_NETLINK_DIAG=y 39 | CONFIG_BT=y 40 | CONFIG_BT_RFCOMM=y 41 | CONFIG_BT_RFCOMM_TTY=y 42 | CONFIG_BT_BNEP=y 43 | CONFIG_BT_BNEP_MC_FILTER=y 44 | CONFIG_BT_BNEP_PROTO_FILTER=y 45 | CONFIG_BT_HCIUART=y 46 | CONFIG_BT_HCIUART_H4=y 47 | CONFIG_CFG80211=y 48 | CONFIG_CFG80211_WEXT=y 49 | CONFIG_MAC80211=y 50 | CONFIG_FAILOVER=y 51 | CONFIG_DEVTMPFS=y 52 | CONFIG_DEVTMPFS_MOUNT=y 53 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 54 | CONFIG_MTD=y 55 | CONFIG_MTD_BLOCK_RO=y 56 | CONFIG_MTD_SPI_NOR=y 57 | CONFIG_BLK_DEV_LOOP=y 58 | CONFIG_VIRTIO_BLK=y 59 | CONFIG_NVME_FC=y 60 | CONFIG_NVME_TARGET=m 61 | CONFIG_EEPROM_AT24=y 62 | CONFIG_BLK_DEV_SD=y 63 | CONFIG_SCSI_VIRTIO=y 64 | CONFIG_ATA=y 65 | CONFIG_SATA_AHCI_PLATFORM=y 66 | CONFIG_NETDEVICES=y 67 | CONFIG_STMMAC_ETH=y 68 | CONFIG_DWMAC_DWC_QOS_ETH=y 69 | CONFIG_DWC_XLGMAC=y 70 | CONFIG_B43=y 71 | CONFIG_B43_BUSES_BCMA=y 72 | CONFIG_BRCMFMAC=y 73 | CONFIG_BRCM_TRACING=y 74 | CONFIG_BRCMDBG=y 75 | CONFIG_INPUT_MOUSEDEV=y 76 | CONFIG_INPUT_JOYDEV=m 77 | CONFIG_INPUT_EVDEV=y 78 | CONFIG_INPUT_EVBUG=m 79 | CONFIG_MOUSE_PS2=m 80 | CONFIG_MOUSE_APPLETOUCH=m 81 | CONFIG_MOUSE_BCM5974=m 82 | CONFIG_SERIAL_8250=y 83 | CONFIG_SERIAL_8250_CONSOLE=y 84 | CONFIG_SERIAL_8250_DW=y 85 | CONFIG_SERIAL_OF_PLATFORM=y 86 | CONFIG_SERIAL_EARLYCON_RISCV_SBI=y 87 | CONFIG_HVC_RISCV_SBI=y 88 | CONFIG_VIRTIO_CONSOLE=y 89 | CONFIG_HW_RANDOM=y 90 | CONFIG_I2C_CHARDEV=y 91 | CONFIG_I2C_DESIGNWARE_SLAVE=y 92 | CONFIG_I2C_DESIGNWARE_PLATFORM=y 93 | CONFIG_I2C_STUB=m 94 | CONFIG_SPI=y 95 | CONFIG_SPI_DESIGNWARE=y 96 | CONFIG_SPI_DW_MMIO=y 97 | CONFIG_SPI_SIFIVE=y 98 | CONFIG_SPI_SPIDEV=y 99 | CONFIG_SPI_LOOPBACK_TEST=m 100 | CONFIG_GPIOLIB=y 101 | CONFIG_GPIO_SYSFS=y 102 | CONFIG_POWER_RESET=y 103 | CONFIG_POWER_RESET_GPIO_RESTART=y 104 | CONFIG_POWER_SUPPLY=y 105 | CONFIG_PMBUS=y 106 | CONFIG_MEDIA_SUPPORT=y 107 | CONFIG_V4L_PLATFORM_DRIVERS=y 108 | CONFIG_DRM=y 109 | CONFIG_FB_MODE_HELPERS=y 110 | CONFIG_LCD_CLASS_DEVICE=y 111 | CONFIG_BACKLIGHT_CLASS_DEVICE=y 112 | CONFIG_FRAMEBUFFER_CONSOLE=y 113 | CONFIG_LOGO=y 114 | CONFIG_SOUND=y 115 | CONFIG_SND=y 116 | CONFIG_SND_USB_AUDIO=y 117 | CONFIG_HID_PID=y 118 | CONFIG_USB_HIDDEV=y 119 | CONFIG_USB_ULPI_BUS=y 120 | CONFIG_USB=y 121 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 122 | CONFIG_USB_XHCI_HCD=y 123 | CONFIG_USB_XHCI_DBGCAP=y 124 | CONFIG_USB_HCD_TEST_MODE=y 125 | CONFIG_USB_ACM=y 126 | CONFIG_USB_STORAGE=y 127 | CONFIG_USB_CDNS3=y 128 | CONFIG_USB_CDNS3_GADGET=y 129 | CONFIG_USB_CDNS3_HOST=y 130 | CONFIG_USB_SERIAL=m 131 | CONFIG_USB_SERIAL_SIMPLE=m 132 | CONFIG_USB_SERIAL_FTDI_SIO=m 133 | CONFIG_USB_GADGET=y 134 | CONFIG_USB_GADGET_DEBUG_FILES=y 135 | CONFIG_USB_GADGET_DEBUG_FS=y 136 | CONFIG_USB_GADGET_XILINX=m 137 | CONFIG_USB_CONFIGFS=m 138 | CONFIG_USB_CONFIGFS_SERIAL=y 139 | CONFIG_USB_CONFIGFS_ACM=y 140 | CONFIG_USB_CONFIGFS_NCM=y 141 | CONFIG_USB_CONFIGFS_ECM=y 142 | CONFIG_USB_CONFIGFS_ECM_SUBSET=y 143 | CONFIG_USB_CONFIGFS_RNDIS=y 144 | CONFIG_USB_CONFIGFS_EEM=y 145 | CONFIG_USB_CONFIGFS_MASS_STORAGE=y 146 | CONFIG_USB_CONFIGFS_F_FS=y 147 | CONFIG_USB_CONFIGFS_F_UAC1=y 148 | CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y 149 | CONFIG_USB_CONFIGFS_F_UAC2=y 150 | CONFIG_USB_CONFIGFS_F_MIDI=y 151 | CONFIG_USB_CONFIGFS_F_HID=y 152 | CONFIG_USB_CONFIGFS_F_PRINTER=y 153 | CONFIG_USB_GADGETFS=m 154 | CONFIG_USB_MASS_STORAGE=m 155 | CONFIG_MMC=y 156 | CONFIG_MMC_SPI=y 157 | CONFIG_MMC_DW=y 158 | CONFIG_NEW_LEDS=y 159 | CONFIG_LEDS_CLASS=y 160 | CONFIG_LEDS_PWM=y 161 | CONFIG_LEDS_TRIGGERS=y 162 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 163 | CONFIG_LEDS_TRIGGER_PANIC=y 164 | CONFIG_RTC_CLASS=y 165 | CONFIG_DMADEVICES=y 166 | CONFIG_DW_AXI_DMAC=y 167 | CONFIG_VIRTIO_MMIO=y 168 | CONFIG_PWM=y 169 | CONFIG_PWM_SIFIVE=y 170 | CONFIG_PWM_SIFIVE_PTC=y 171 | CONFIG_GENERIC_PHY=y 172 | CONFIG_EXT3_FS=y 173 | CONFIG_EXT4_FS_POSIX_ACL=y 174 | CONFIG_XFS_FS=m 175 | CONFIG_AUTOFS4_FS=m 176 | CONFIG_FUSE_FS=m 177 | CONFIG_MSDOS_FS=y 178 | CONFIG_VFAT_FS=y 179 | CONFIG_NTFS_FS=m 180 | CONFIG_TMPFS=y 181 | CONFIG_TMPFS_POSIX_ACL=y 182 | CONFIG_NFS_FS=y 183 | CONFIG_NFS_V3_ACL=y 184 | CONFIG_ROOT_NFS=y 185 | CONFIG_NFSD=y 186 | CONFIG_NFSD_V3_ACL=y 187 | CONFIG_NFSD_V4=y 188 | CONFIG_NFSD_BLOCKLAYOUT=y 189 | CONFIG_NFSD_SCSILAYOUT=y 190 | CONFIG_NFSD_FLEXFILELAYOUT=y 191 | CONFIG_AFS_FS=m 192 | CONFIG_NLS_CODEPAGE_437=y 193 | CONFIG_NLS_ISO8859_1=y 194 | CONFIG_NLS_UTF8=y 195 | CONFIG_CRYPTO_ECHAINIV=y 196 | CONFIG_CRYPTO_CBC=m 197 | CONFIG_CRYPTO_CFB=m 198 | CONFIG_CRYPTO_CTS=m 199 | CONFIG_CRYPTO_PCBC=m 200 | CONFIG_CRYPTO_CRC32=y 201 | CONFIG_CRYPTO_SHA1=y 202 | CONFIG_CRYPTO_SHA512=y 203 | CONFIG_CRYPTO_DES=y 204 | CONFIG_CRYPTO_FCRYPT=m 205 | CONFIG_CRYPTO_LZO=y 206 | CONFIG_CRYPTO_LZ4=y 207 | CONFIG_CRYPTO_USER_API_HASH=y 208 | CONFIG_CRYPTO_USER_API_SKCIPHER=y 209 | CONFIG_CRYPTO_USER_API_RNG=y 210 | CONFIG_CRYPTO_USER_API_AEAD=y 211 | CONFIG_DMA_CMA=y 212 | CONFIG_PRINTK_TIME=y 213 | CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 214 | CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 215 | CONFIG_DYNAMIC_DEBUG=y 216 | CONFIG_DEBUG_INFO=y 217 | CONFIG_DEBUG_INFO_SPLIT=y 218 | CONFIG_DEBUG_INFO_DWARF4=y 219 | CONFIG_STRIP_ASM_SYMS=y 220 | CONFIG_DEBUG_SECTION_MISMATCH=y 221 | CONFIG_DEBUG_FS=y 222 | CONFIG_STACKTRACE=y 223 | -------------------------------------------------------------------------------- /conf/linux_419_defconfig: -------------------------------------------------------------------------------- 1 | CONFIG_LOCALVERSION="-sifive-1" 2 | # CONFIG_LOCALVERSION_AUTO is not set 3 | CONFIG_DEFAULT_HOSTNAME="riscv" 4 | CONFIG_SYSVIPC=y 5 | CONFIG_POSIX_MQUEUE=y 6 | CONFIG_IKCONFIG=y 7 | CONFIG_IKCONFIG_PROC=y 8 | CONFIG_CGROUPS=y 9 | CONFIG_CGROUP_SCHED=y 10 | CONFIG_CFS_BANDWIDTH=y 11 | CONFIG_CGROUP_BPF=y 12 | CONFIG_NAMESPACES=y 13 | CONFIG_USER_NS=y 14 | CONFIG_CHECKPOINT_RESTORE=y 15 | CONFIG_BLK_DEV_INITRD=y 16 | CONFIG_BPF_SYSCALL=y 17 | CONFIG_EMBEDDED=y 18 | CONFIG_STARFIVE_VIC_SOC=y 19 | CONFIG_FPGA_GMAC_SPEED_AUTO=y 20 | CONFIG_SMP=y 21 | CONFIG_HZ_100=y 22 | CONFIG_CMDLINE_BOOL=y 23 | CONFIG_CMDLINE="earlyprintk console=tty1 console=ttyS0,115200 debug rootwait stmmaceth=chain_mode:1" 24 | CONFIG_CMDLINE_FORCE=y 25 | CONFIG_PCI=y 26 | CONFIG_PCIEPORTBUS=y 27 | CONFIG_HOTPLUG_PCI_PCIE=y 28 | CONFIG_PCIE_ECRC=y 29 | CONFIG_PCIE_DPC=y 30 | CONFIG_PCIE_PTM=y 31 | CONFIG_PCI_DEBUG=y 32 | CONFIG_PCI_REALLOC_ENABLE_AUTO=y 33 | CONFIG_PCI_IOV=y 34 | CONFIG_PCI_PRI=y 35 | CONFIG_PCI_PASID=y 36 | CONFIG_HOTPLUG_PCI=y 37 | CONFIG_HOTPLUG_PCI_CPCI=y 38 | CONFIG_HOTPLUG_PCI_SHPC=y 39 | CONFIG_PCIE_XILINX=y 40 | CONFIG_PCIE_MICROSEMI=y 41 | CONFIG_MODULES=y 42 | CONFIG_MODULE_UNLOAD=y 43 | CONFIG_BLK_DEV_ZONED=y 44 | CONFIG_PARTITION_ADVANCED=y 45 | CONFIG_CMA=y 46 | CONFIG_CMA_DEBUGFS=y 47 | CONFIG_NET=y 48 | CONFIG_PACKET=y 49 | CONFIG_UNIX=y 50 | CONFIG_INET=y 51 | CONFIG_IP_MULTICAST=y 52 | CONFIG_IP_ADVANCED_ROUTER=y 53 | CONFIG_IP_PNP=y 54 | CONFIG_IP_PNP_DHCP=y 55 | CONFIG_IP_PNP_BOOTP=y 56 | CONFIG_IP_PNP_RARP=y 57 | CONFIG_DNS_RESOLVER=y 58 | CONFIG_NETLINK_DIAG=y 59 | CONFIG_RXKAD=y 60 | CONFIG_DEVTMPFS=y 61 | CONFIG_DEVTMPFS_MOUNT=y 62 | CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/SUMO_uvd.bin" 63 | CONFIG_DMA_CMA=y 64 | CONFIG_MTD=y 65 | CONFIG_MTD_BLOCK_RO=y 66 | CONFIG_MTD_M25P80=y 67 | CONFIG_MTD_SPI_NOR=y 68 | CONFIG_BLK_DEV_LOOP=y 69 | CONFIG_VIRTIO_BLK=y 70 | CONFIG_BLK_DEV_NVME=y 71 | CONFIG_NVME_FC=y 72 | CONFIG_NVME_TARGET=m 73 | CONFIG_EEPROM_AT24=y 74 | CONFIG_BLK_DEV_SD=y 75 | CONFIG_SCSI_VIRTIO=y 76 | CONFIG_ATA=y 77 | CONFIG_SATA_AHCI=y 78 | CONFIG_SATA_AHCI_PLATFORM=y 79 | CONFIG_SATA_SIL24=y 80 | CONFIG_NETDEVICES=y 81 | CONFIG_VIRTIO_NET=y 82 | CONFIG_MACB=y 83 | CONFIG_E1000E=y 84 | CONFIG_R8169=y 85 | CONFIG_STMMAC_ETH=y 86 | CONFIG_MARVELL_PHY=y 87 | CONFIG_MICROSEMI_PHY=y 88 | CONFIG_USB_RTL8150=y 89 | CONFIG_USB_RTL8152=y 90 | CONFIG_USB_USBNET=y 91 | CONFIG_INPUT_MOUSEDEV=y 92 | CONFIG_INPUT_JOYDEV=m 93 | CONFIG_INPUT_EVDEV=y 94 | CONFIG_INPUT_EVBUG=m 95 | CONFIG_MOUSE_PS2=m 96 | CONFIG_MOUSE_APPLETOUCH=m 97 | CONFIG_MOUSE_BCM5974=m 98 | CONFIG_SERIAL_8250=y 99 | CONFIG_SERIAL_8250_CONSOLE=y 100 | CONFIG_SERIAL_8250_DW=y 101 | CONFIG_SERIAL_OF_PLATFORM=y 102 | CONFIG_VIRTIO_CONSOLE=y 103 | CONFIG_HW_RANDOM=y 104 | CONFIG_I2C_DESIGNWARE_PLATFORM=y 105 | CONFIG_I2C_DESIGNWARE_SLAVE=y 106 | CONFIG_I2C_STUB=m 107 | CONFIG_SPI=y 108 | CONFIG_SPI_DESIGNWARE=y 109 | CONFIG_SPI_DW_MMIO=y 110 | CONFIG_SPI_SIFIVE=y 111 | CONFIG_SPI_SPIDEV=y 112 | CONFIG_SPI_LOOPBACK_TEST=m 113 | CONFIG_GPIOLIB=y 114 | CONFIG_GPIO_SYSFS=y 115 | CONFIG_GPIO_VIC=y 116 | CONFIG_POWER_RESET=y 117 | CONFIG_POWER_RESET_GPIO_RESTART=y 118 | CONFIG_PMBUS=y 119 | CONFIG_SENSORS_SFCTMP=y 120 | CONFIG_DRM=y 121 | CONFIG_DRM_RADEON=y 122 | CONFIG_DRM_AMDGPU=y 123 | CONFIG_DRM_AMD_ACP=y 124 | CONFIG_FB_RADEON=y 125 | CONFIG_LCD_CLASS_DEVICE=y 126 | CONFIG_FRAMEBUFFER_CONSOLE=y 127 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y 128 | CONFIG_FB_STARFIVE=y 129 | CONFIG_FB_STARFIVE_HDMI_ADV7513=y 130 | CONFIG_LOGO=y 131 | CONFIG_SOUND=y 132 | CONFIG_SND=y 133 | CONFIG_SND_USB_AUDIO=y 134 | CONFIG_HID_PID=y 135 | CONFIG_USB_HIDDEV=y 136 | CONFIG_USB=y 137 | # CONFIG_USB_PCI is not set 138 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 139 | CONFIG_USB_XHCI_HCD=y 140 | CONFIG_USB_XHCI_DBGCAP=y 141 | CONFIG_USB_HCD_TEST_MODE=y 142 | CONFIG_USB_ACM=y 143 | CONFIG_USB_STORAGE=y 144 | CONFIG_USB_UAS=y 145 | CONFIG_USB_CDNS3=y 146 | CONFIG_USB_CDNS3_GADGET=y 147 | CONFIG_USB_CDNS3_HOST=y 148 | CONFIG_USB_CDNS3_HOST_FLUSH_DMA=y 149 | CONFIG_USB_SERIAL=m 150 | CONFIG_USB_SERIAL_SIMPLE=m 151 | CONFIG_USB_SERIAL_FTDI_SIO=m 152 | CONFIG_USB_GADGET=y 153 | CONFIG_USB_GADGET_DEBUG_FILES=y 154 | CONFIG_USB_GADGET_DEBUG_FS=y 155 | CONFIG_USB_GADGET_XILINX=m 156 | CONFIG_USB_CONFIGFS=m 157 | CONFIG_USB_CONFIGFS_SERIAL=y 158 | CONFIG_USB_CONFIGFS_ACM=y 159 | CONFIG_USB_CONFIGFS_NCM=y 160 | CONFIG_USB_CONFIGFS_ECM=y 161 | CONFIG_USB_CONFIGFS_ECM_SUBSET=y 162 | CONFIG_USB_CONFIGFS_RNDIS=y 163 | CONFIG_USB_CONFIGFS_EEM=y 164 | CONFIG_USB_CONFIGFS_MASS_STORAGE=y 165 | CONFIG_USB_CONFIGFS_F_FS=y 166 | CONFIG_USB_CONFIGFS_F_UAC1=y 167 | CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y 168 | CONFIG_USB_CONFIGFS_F_UAC2=y 169 | CONFIG_USB_CONFIGFS_F_MIDI=y 170 | CONFIG_USB_CONFIGFS_F_HID=y 171 | CONFIG_USB_CONFIGFS_F_PRINTER=y 172 | CONFIG_USB_GADGETFS=m 173 | CONFIG_USB_MASS_STORAGE=m 174 | CONFIG_USB_ULPI_BUS=y 175 | CONFIG_MMC=y 176 | CONFIG_MMC_SPI=y 177 | CONFIG_MMC_DW=y 178 | CONFIG_NEW_LEDS=y 179 | CONFIG_LEDS_CLASS=y 180 | CONFIG_LEDS_PWM=y 181 | CONFIG_LEDS_TRIGGERS=y 182 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 183 | CONFIG_LEDS_TRIGGER_PANIC=y 184 | CONFIG_DMADEVICES=y 185 | CONFIG_DW_AXI_DMAC=y 186 | CONFIG_VIRTIO_MMIO=y 187 | CONFIG_CLK_U54_PRCI=y 188 | CONFIG_CLK_GEMGXL_MGMT=y 189 | CONFIG_PWM=y 190 | CONFIG_PWM_SIFIVE=y 191 | CONFIG_PWM_SIFIVE_PTC=y 192 | CONFIG_SIFIVE_PLIC=y 193 | CONFIG_GENERIC_PHY=y 194 | CONFIG_EXT3_FS=y 195 | CONFIG_EXT4_FS_POSIX_ACL=y 196 | CONFIG_XFS_FS=m 197 | CONFIG_AUTOFS4_FS=m 198 | CONFIG_FUSE_FS=m 199 | CONFIG_MSDOS_FS=y 200 | CONFIG_VFAT_FS=y 201 | CONFIG_NTFS_FS=m 202 | CONFIG_TMPFS=y 203 | CONFIG_TMPFS_POSIX_ACL=y 204 | CONFIG_NFS_FS=y 205 | CONFIG_NFS_V3_ACL=y 206 | CONFIG_ROOT_NFS=y 207 | CONFIG_NFSD=y 208 | CONFIG_NFSD_V3_ACL=y 209 | CONFIG_NFSD_V4=y 210 | CONFIG_NFSD_BLOCKLAYOUT=y 211 | CONFIG_NFSD_SCSILAYOUT=y 212 | CONFIG_NFSD_FLEXFILELAYOUT=y 213 | CONFIG_AFS_FS=m 214 | CONFIG_NLS_CODEPAGE_437=y 215 | CONFIG_NLS_ISO8859_1=y 216 | CONFIG_NLS_UTF8=y 217 | CONFIG_CRYPTO_ECHAINIV=y 218 | CONFIG_CRYPTO_CRC32=y 219 | CONFIG_CRYPTO_MD5=y 220 | CONFIG_CRYPTO_SHA1=y 221 | CONFIG_CRYPTO_SHA512=y 222 | CONFIG_CRYPTO_DES=y 223 | CONFIG_CRYPTO_LZO=y 224 | CONFIG_CRYPTO_LZ4=y 225 | CONFIG_CRYPTO_USER_API_HASH=y 226 | CONFIG_CRYPTO_USER_API_SKCIPHER=y 227 | CONFIG_CRYPTO_USER_API_RNG=y 228 | CONFIG_CRYPTO_USER_API_AEAD=y 229 | CONFIG_CRYPTO_USER_API_AKCIPHER=y 230 | CONFIG_CRYPTO_USER_API_KPP=y 231 | CONFIG_CRYPTO_DEV_SIFIVE_VIC_ENCRYPT=y 232 | CONFIG_PRINTK_TIME=y 233 | CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 234 | CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 235 | CONFIG_DEBUG_INFO=y 236 | CONFIG_DEBUG_INFO_SPLIT=y 237 | CONFIG_DEBUG_INFO_DWARF4=y 238 | CONFIG_STRIP_ASM_SYMS=y 239 | CONFIG_DEBUG_FS=y 240 | CONFIG_DEBUG_SECTION_MISMATCH=y 241 | CONFIG_STACKTRACE=y 242 | CONFIG_MEDIA_SUPPORT=y 243 | CONFIG_MEDIA_CAMERA_SUPPORT=y 244 | CONFIG_V4L_PLATFORM_DRIVERS=y 245 | CONFIG_VIN_SENSOR_OV5640=y 246 | CONFIG_VIDEO_STF_VIN=y 247 | -------------------------------------------------------------------------------- /conf/buildroot_initramfs_config_debug: -------------------------------------------------------------------------------- 1 | BR2_riscv=y 2 | BR2_riscv_custom=y 3 | BR2_RISCV_ISA_CUSTOM_RVM=y 4 | BR2_RISCV_ISA_CUSTOM_RVF=y 5 | BR2_RISCV_ISA_CUSTOM_RVD=y 6 | BR2_RISCV_ISA_CUSTOM_RVC=y 7 | BR2_STRIP_EXCLUDE_FILES="ipa_starfive.so* libcamera-base.so* libcamera.so* libgstlibcamera.so v4l2-compat.so starfive_ipa_proxy" 8 | BR2_KERNEL_HEADERS_CUSTOM_GIT=y 9 | BR2_KERNEL_HEADERS_CUSTOM_REPO_URL="file://$(TOPDIR)/../linux/.git" 10 | BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION="JH7110_VisionFive2_devel" 11 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y 12 | BR2_PACKAGE_GLIBC_UTILS=y 13 | BR2_BINUTILS_VERSION_2_39_X=y 14 | BR2_GCC_VERSION_12_X=y 15 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 16 | BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y 17 | BR2_GCC_ENABLE_LTO=y 18 | BR2_GCC_ENABLE_OPENMP=y 19 | BR2_PACKAGE_HOST_GDB=y 20 | BR2_PACKAGE_HOST_GDB_TUI=y 21 | BR2_PACKAGE_HOST_GDB_PYTHON3=y 22 | BR2_PACKAGE_HOST_GDB_SIM=y 23 | BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y 24 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 25 | BR2_TARGET_GENERIC_ROOT_PASSWD="starfive" 26 | BR2_SYSTEM_DHCP="eth0" 27 | BR2_SYSTEM_DHCP_DUAL="eth1" 28 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 29 | BR2_PACKAGE_ALSA_UTILS=y 30 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 31 | BR2_PACKAGE_ALSA_UTILS_ALSALOOP=y 32 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 33 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 34 | BR2_PACKAGE_ALSA_UTILS_ASEQDUMP=y 35 | BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y 36 | BR2_PACKAGE_BLUEZ_ALSA=y 37 | BR2_PACKAGE_BLUEZ_ALSA_HCITOP=y 38 | BR2_PACKAGE_BLUEZ_ALSA_RFCOMM=y 39 | BR2_PACKAGE_FFMPEG_GPL=y 40 | BR2_PACKAGE_FFMPEG_FFPROBE=y 41 | BR2_PACKAGE_FFMPEG_AVRESAMPLE=y 42 | BR2_PACKAGE_FFMPEG_POSTPROC=y 43 | BR2_PACKAGE_GSTREAMER1=y 44 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 45 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 46 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 47 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 48 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 49 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 50 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 51 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 52 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y 53 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 54 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 55 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 56 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 57 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 58 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 59 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 60 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 61 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 62 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 63 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 64 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 65 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 66 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 67 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 68 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 69 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 70 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 71 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 72 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 73 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 74 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 75 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 76 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y 77 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y 78 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y 79 | BR2_PACKAGE_GST1_PLUGINS_BAD=y 80 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 81 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 82 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 83 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 84 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 85 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 86 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 87 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 88 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 89 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 90 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 91 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 92 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 93 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y 94 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 95 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y 96 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE=y 97 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 98 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 99 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y 100 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y 101 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y 102 | BR2_PACKAGE_GST1_DEVTOOLS=y 103 | BR2_PACKAGE_GST1_INTERPIPE=y 104 | BR2_PACKAGE_GST1_LIBAV=y 105 | BR2_PACKAGE_GST1_RTSP_SERVER=y 106 | BR2_PACKAGE_GST1_SHARK=y 107 | BR2_PACKAGE_GSTD=y 108 | BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES=y 109 | BR2_PACKAGE_CACHE_CALIBRATOR=y 110 | BR2_PACKAGE_DHRYSTONE=y 111 | BR2_PACKAGE_FIO=y 112 | BR2_PACKAGE_GDB=y 113 | BR2_PACKAGE_IOZONE=y 114 | BR2_PACKAGE_LMBENCH=y 115 | BR2_PACKAGE_RAMSMP=y 116 | BR2_PACKAGE_RAMSPEED=y 117 | BR2_PACKAGE_RT_TESTS=y 118 | BR2_PACKAGE_STRACE=y 119 | BR2_PACKAGE_STRESS_NG=y 120 | BR2_PACKAGE_WHETSTONE=y 121 | BR2_PACKAGE_FLEX=y 122 | BR2_PACKAGE_TREE=y 123 | BR2_PACKAGE_DOSFSTOOLS=y 124 | BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y 125 | BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y 126 | BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y 127 | BR2_PACKAGE_E2FSPROGS=y 128 | BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y 129 | BR2_PACKAGE_EXFAT=y 130 | BR2_PACKAGE_EXFAT_UTILS=y 131 | BR2_PACKAGE_EXFATPROGS=y 132 | BR2_PACKAGE_MTD=y 133 | # BR2_PACKAGE_MTD_NANDDUMP is not set 134 | # BR2_PACKAGE_MTD_NANDTEST is not set 135 | # BR2_PACKAGE_MTD_NANDWRITE is not set 136 | # BR2_PACKAGE_MTD_UBIATTACH is not set 137 | # BR2_PACKAGE_MTD_UBICRC32 is not set 138 | # BR2_PACKAGE_MTD_UBIDETACH is not set 139 | # BR2_PACKAGE_MTD_UBIFORMAT is not set 140 | # BR2_PACKAGE_MTD_UBIMKVOL is not set 141 | # BR2_PACKAGE_MTD_UBINFO is not set 142 | # BR2_PACKAGE_MTD_UBINIZE is not set 143 | # BR2_PACKAGE_MTD_UBIRENAME is not set 144 | # BR2_PACKAGE_MTD_UBIRMVOL is not set 145 | # BR2_PACKAGE_MTD_UBIRSVOL is not set 146 | # BR2_PACKAGE_MTD_UBIUPDATEVOL is not set 147 | # BR2_PACKAGE_MTD_UBIBLOCK is not set 148 | BR2_PACKAGE_NFS_UTILS=y 149 | BR2_PACKAGE_NTFS_3G=y 150 | BR2_PACKAGE_DEJAVU=y 151 | BR2_PACKAGE_GLMARK2=y 152 | BR2_PACKAGE_WESTON=y 153 | BR2_PACKAGE_WESTON_DEMO_CLIENTS=y 154 | BR2_PACKAGE_LINUX_FIRMWARE=y 155 | BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_AX210=y 156 | BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y 157 | # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set 158 | BR2_PACKAGE_EVTEST=y 159 | BR2_PACKAGE_GPTFDISK=y 160 | BR2_PACKAGE_GPTFDISK_GDISK=y 161 | BR2_PACKAGE_GPTFDISK_SGDISK=y 162 | BR2_PACKAGE_I2C_TOOLS=y 163 | BR2_PACKAGE_LM_SENSORS=y 164 | BR2_PACKAGE_MEMTESTER=y 165 | BR2_PACKAGE_OFONO=y 166 | BR2_PACKAGE_PARTED=y 167 | BR2_PACKAGE_PCIUTILS=y 168 | BR2_PACKAGE_RNG_TOOLS=y 169 | BR2_PACKAGE_SYSSTAT=y 170 | BR2_PACKAGE_PYTHON3=y 171 | BR2_PACKAGE_CA_CERTIFICATES=y 172 | BR2_PACKAGE_GNUTLS_OPENSSL=y 173 | BR2_PACKAGE_LIBKCAPI=y 174 | BR2_PACKAGE_LIBKCAPI_ENCAPP=y 175 | BR2_PACKAGE_LIBKCAPI_RNGAPP=y 176 | BR2_PACKAGE_LIBKCAPI_SPEED=y 177 | BR2_PACKAGE_LIBKCAPI_TEST=y 178 | BR2_PACKAGE_LIBOPENSSL_BIN=y 179 | BR2_PACKAGE_LIBOPENSSL_ENGINES=y 180 | BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y 181 | BR2_PACKAGE_WAYLAND_UTILS=y 182 | BR2_PACKAGE_DTC=y 183 | BR2_PACKAGE_DTC_PROGRAMS=y 184 | BR2_PACKAGE_LIBGPIOD=y 185 | BR2_PACKAGE_LIBGPIOD_TOOLS=y 186 | BR2_PACKAGE_LIBV4L_UTILS=y 187 | BR2_PACKAGE_LIBCAMERA=y 188 | BR2_PACKAGE_LIBCAMERA_V4L2=y 189 | BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y 190 | BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE=y 191 | BR2_PACKAGE_LIBCURL=y 192 | BR2_PACKAGE_LIBCURL_CURL=y 193 | BR2_PACKAGE_LIBCURL_VERBOSE=y 194 | BR2_PACKAGE_LIBCAP=y 195 | BR2_PACKAGE_LIBCAP_TOOLS=y 196 | BR2_PACKAGE_BLUEZ_TOOLS=y 197 | BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y 198 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 199 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 200 | BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y 201 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y 202 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH=y 203 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI=y 204 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y 205 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y 206 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS=y 207 | BR2_PACKAGE_BLUEZ5_UTILS_TEST=y 208 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y 209 | BR2_PACKAGE_BRCM_PATCHRAM_PLUS=y 210 | BR2_PACKAGE_CAN_UTILS=y 211 | BR2_PACKAGE_DHCP=y 212 | BR2_PACKAGE_DHCP_SERVER=y 213 | BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y 214 | BR2_PACKAGE_DROPBEAR=y 215 | BR2_PACKAGE_ETHTOOL=y 216 | BR2_PACKAGE_HOSTAPD=y 217 | BR2_PACKAGE_HOSTAPD_EAP=y 218 | BR2_PACKAGE_HOSTAPD_WPS=y 219 | BR2_PACKAGE_HOSTAPD_WPA3=y 220 | BR2_PACKAGE_IFPLUGD=y 221 | BR2_PACKAGE_IPERF=y 222 | BR2_PACKAGE_IPERF3=y 223 | BR2_PACKAGE_IPROUTE2=y 224 | BR2_PACKAGE_IPTABLES=y 225 | BR2_PACKAGE_IPTABLES_NFTABLES=y 226 | BR2_PACKAGE_IW=y 227 | BR2_PACKAGE_NTP=y 228 | BR2_PACKAGE_NTP_NTPDATE=y 229 | BR2_PACKAGE_NTP_NTPTIME=y 230 | BR2_PACKAGE_PHYTOOL=y 231 | BR2_PACKAGE_SSHPASS=y 232 | BR2_PACKAGE_TCPDUMP=y 233 | BR2_PACKAGE_WIRELESS_TOOLS=y 234 | BR2_PACKAGE_WPA_SUPPLICANT=y 235 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 236 | BR2_PACKAGE_WPA_SUPPLICANT_WPS=y 237 | BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y 238 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 239 | BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y 240 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 241 | BR2_PACKAGE_BASH=y 242 | BR2_PACKAGE_SCREEN=y 243 | BR2_PACKAGE_ANDROID_TOOLS=y 244 | BR2_PACKAGE_HTOP=y 245 | BR2_PACKAGE_KMOD_TOOLS=y 246 | BR2_PACKAGE_MULTIPATH_TOOLS=y 247 | BR2_PACKAGE_PROCPS_NG=y 248 | BR2_PACKAGE_UTIL_LINUX_MOUNT=y 249 | BR2_PACKAGE_WAVE511=y 250 | BR2_PACKAGE_WAVE420L=y 251 | BR2_PACKAGE_CODAJ12=y 252 | BR2_PACKAGE_SF_OMX_IL=y 253 | BR2_PACKAGE_SF_OMX_IL_TEST=y 254 | BR2_PACKAGE_V4L2_TEST=y 255 | BR2_PACKAGE_LIBCAMERA_APPS=y 256 | BR2_PACKAGE_SF_GST_OMX=y 257 | BR2_PACKAGE_ISPSDK=y 258 | BR2_PACKAGE_MAILBOX_TEST=y 259 | BR2_PACKAGE_E24_TEST=y 260 | BR2_PACKAGE_IMG_GPU_POWERVR=y 261 | BR2_PACKAGE_IMG_GPU_POWERVR_OUTPUT_WL=y 262 | BR2_PACKAGE_IMG_GPU_POWERVR_EXAMPLES=y 263 | BR2_PACKAGE_IMG_GPU_POWERVR_GMEM_INFO=y 264 | BR2_PACKAGE_DRM_TEST=y 265 | BR2_PACKAGE_PM=y 266 | BR2_PACKAGE_V4L2_DEC_TEST=y 267 | BR2_PACKAGE_STARFIVE_FIRMWARE=y 268 | BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI=y 269 | BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI=y 270 | BR2_PACKAGE_HOST_GENEXT2FS=y 271 | BR2_PACKAGE_HOST_GENIMAGE=y 272 | BR2_PACKAGE_HOST_GPTFDISK=y 273 | BR2_PACKAGE_HOST_MTOOLS=y 274 | BR2_PACKAGE_HOST_SQUASHFS=y 275 | BR2_PACKAGE_HOST_STFISP_SETFILE=y 276 | -------------------------------------------------------------------------------- /conf/buildroot_rootfs_config: -------------------------------------------------------------------------------- 1 | BR2_riscv=y 2 | BR2_riscv_custom=y 3 | BR2_RISCV_ISA_CUSTOM_RVM=y 4 | BR2_RISCV_ISA_CUSTOM_RVF=y 5 | BR2_RISCV_ISA_CUSTOM_RVD=y 6 | BR2_RISCV_ISA_CUSTOM_RVC=y 7 | BR2_STRIP_EXCLUDE_FILES="ipa_starfive.so* libcamera-base.so* libcamera.so* libgstlibcamera.so v4l2-compat.so starfive_ipa_proxy" 8 | BR2_KERNEL_HEADERS_CUSTOM_GIT=y 9 | BR2_KERNEL_HEADERS_CUSTOM_REPO_URL="file://$(TOPDIR)/../linux/.git" 10 | BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION="JH7110_VisionFive2_devel" 11 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y 12 | BR2_PACKAGE_GLIBC_UTILS=y 13 | BR2_BINUTILS_VERSION_2_39_X=y 14 | BR2_GCC_VERSION_12_X=y 15 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 16 | BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y 17 | BR2_GCC_ENABLE_LTO=y 18 | BR2_GCC_ENABLE_OPENMP=y 19 | BR2_PACKAGE_HOST_GDB=y 20 | BR2_PACKAGE_HOST_GDB_TUI=y 21 | BR2_PACKAGE_HOST_GDB_PYTHON3=y 22 | BR2_PACKAGE_HOST_GDB_SIM=y 23 | BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y 24 | BR2_INIT_SYSV=y 25 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 26 | BR2_TARGET_GENERIC_ROOT_PASSWD="starfive" 27 | BR2_SYSTEM_DHCP="eth0" 28 | BR2_SYSTEM_DHCP_DUAL="eth1" 29 | BR2_PACKAGE_ALSA_UTILS=y 30 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 31 | BR2_PACKAGE_ALSA_UTILS_ALSALOOP=y 32 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 33 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 34 | BR2_PACKAGE_ALSA_UTILS_ASEQDUMP=y 35 | BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y 36 | BR2_PACKAGE_BLUEZ_ALSA=y 37 | BR2_PACKAGE_BLUEZ_ALSA_HCITOP=y 38 | BR2_PACKAGE_BLUEZ_ALSA_RFCOMM=y 39 | BR2_PACKAGE_FFMPEG_GPL=y 40 | BR2_PACKAGE_FFMPEG_FFPROBE=y 41 | BR2_PACKAGE_FFMPEG_AVRESAMPLE=y 42 | BR2_PACKAGE_FFMPEG_POSTPROC=y 43 | BR2_PACKAGE_GSTREAMER1=y 44 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 45 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 46 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 47 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 48 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 49 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 50 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 51 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 52 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y 53 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 54 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 55 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 56 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 57 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 58 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 59 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 60 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 61 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 62 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 63 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 64 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 65 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 66 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 67 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 68 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 69 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 70 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 71 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 72 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 73 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 74 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 75 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 76 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y 77 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y 78 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y 79 | BR2_PACKAGE_GST1_PLUGINS_BAD=y 80 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 81 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 82 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 83 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 84 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 85 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 86 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 87 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 88 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 89 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 90 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 91 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 92 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 93 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y 94 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 95 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y 96 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE=y 97 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 98 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 99 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y 100 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y 101 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y 102 | BR2_PACKAGE_GST1_DEVTOOLS=y 103 | BR2_PACKAGE_GST1_INTERPIPE=y 104 | BR2_PACKAGE_GST1_LIBAV=y 105 | BR2_PACKAGE_GST1_RTSP_SERVER=y 106 | BR2_PACKAGE_GST1_SHARK=y 107 | BR2_PACKAGE_GSTD=y 108 | BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES=y 109 | BR2_PACKAGE_CACHE_CALIBRATOR=y 110 | BR2_PACKAGE_DHRYSTONE=y 111 | BR2_PACKAGE_FIO=y 112 | BR2_PACKAGE_GDB=y 113 | BR2_PACKAGE_IOZONE=y 114 | BR2_PACKAGE_LMBENCH=y 115 | BR2_PACKAGE_RAMSMP=y 116 | BR2_PACKAGE_RAMSPEED=y 117 | BR2_PACKAGE_RT_TESTS=y 118 | BR2_PACKAGE_STRACE=y 119 | BR2_PACKAGE_STRESS_NG=y 120 | BR2_PACKAGE_WHETSTONE=y 121 | BR2_PACKAGE_FLEX=y 122 | BR2_PACKAGE_TREE=y 123 | BR2_PACKAGE_DOSFSTOOLS=y 124 | BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y 125 | BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y 126 | BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y 127 | BR2_PACKAGE_E2FSPROGS=y 128 | BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y 129 | BR2_PACKAGE_EXFAT=y 130 | BR2_PACKAGE_EXFAT_UTILS=y 131 | BR2_PACKAGE_EXFATPROGS=y 132 | BR2_PACKAGE_MTD=y 133 | BR2_PACKAGE_NFS_UTILS=y 134 | BR2_PACKAGE_NTFS_3G=y 135 | BR2_PACKAGE_DEJAVU=y 136 | BR2_PACKAGE_GLMARK2=y 137 | BR2_PACKAGE_WESTON=y 138 | BR2_PACKAGE_WESTON_DEMO_CLIENTS=y 139 | BR2_PACKAGE_LINUX_FIRMWARE=y 140 | BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_AX210=y 141 | BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y 142 | # BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set 143 | BR2_PACKAGE_EVTEST=y 144 | BR2_PACKAGE_GPTFDISK=y 145 | BR2_PACKAGE_GPTFDISK_GDISK=y 146 | BR2_PACKAGE_GPTFDISK_SGDISK=y 147 | BR2_PACKAGE_I2C_TOOLS=y 148 | BR2_PACKAGE_LM_SENSORS=y 149 | BR2_PACKAGE_MEMTESTER=y 150 | BR2_PACKAGE_OFONO=y 151 | BR2_PACKAGE_PARTED=y 152 | BR2_PACKAGE_PCIUTILS=y 153 | BR2_PACKAGE_RNG_TOOLS=y 154 | BR2_PACKAGE_SYSSTAT=y 155 | BR2_PACKAGE_PERL=y 156 | BR2_PACKAGE_PYTHON3=y 157 | BR2_PACKAGE_CA_CERTIFICATES=y 158 | BR2_PACKAGE_GNUTLS_OPENSSL=y 159 | BR2_PACKAGE_LIBKCAPI=y 160 | BR2_PACKAGE_LIBKCAPI_ENCAPP=y 161 | BR2_PACKAGE_LIBKCAPI_RNGAPP=y 162 | BR2_PACKAGE_LIBKCAPI_SPEED=y 163 | BR2_PACKAGE_LIBKCAPI_TEST=y 164 | BR2_PACKAGE_LIBOPENSSL_BIN=y 165 | BR2_PACKAGE_LIBOPENSSL_ENGINES=y 166 | BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y 167 | BR2_PACKAGE_WAYLAND_UTILS=y 168 | BR2_PACKAGE_DTC=y 169 | BR2_PACKAGE_DTC_PROGRAMS=y 170 | BR2_PACKAGE_LIBGPIOD=y 171 | BR2_PACKAGE_LIBGPIOD_TOOLS=y 172 | BR2_PACKAGE_LIBV4L_UTILS=y 173 | BR2_PACKAGE_LIBCAMERA=y 174 | BR2_PACKAGE_LIBCAMERA_V4L2=y 175 | BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y 176 | BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE=y 177 | BR2_PACKAGE_LIBCURL=y 178 | BR2_PACKAGE_LIBCURL_CURL=y 179 | BR2_PACKAGE_LIBCURL_VERBOSE=y 180 | BR2_PACKAGE_LIBCAP=y 181 | BR2_PACKAGE_LIBCAP_TOOLS=y 182 | BR2_PACKAGE_MSMTP=y 183 | BR2_PACKAGE_BLUEZ_TOOLS=y 184 | BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y 185 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 186 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 187 | BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y 188 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y 189 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH=y 190 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI=y 191 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y 192 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y 193 | BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS=y 194 | BR2_PACKAGE_BLUEZ5_UTILS_TEST=y 195 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y 196 | BR2_PACKAGE_BRCM_PATCHRAM_PLUS=y 197 | BR2_PACKAGE_CAN_UTILS=y 198 | BR2_PACKAGE_DHCP=y 199 | BR2_PACKAGE_DHCP_SERVER=y 200 | BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y 201 | BR2_PACKAGE_DROPBEAR=y 202 | BR2_PACKAGE_ETHTOOL=y 203 | BR2_PACKAGE_HOSTAPD=y 204 | BR2_PACKAGE_HOSTAPD_EAP=y 205 | BR2_PACKAGE_HOSTAPD_WPS=y 206 | BR2_PACKAGE_HOSTAPD_WPA3=y 207 | BR2_PACKAGE_IFPLUGD=y 208 | BR2_PACKAGE_IPERF=y 209 | BR2_PACKAGE_IPERF3=y 210 | BR2_PACKAGE_IPROUTE2=y 211 | BR2_PACKAGE_IPTABLES=y 212 | BR2_PACKAGE_IPTABLES_NFTABLES=y 213 | BR2_PACKAGE_IPUTILS=y 214 | BR2_PACKAGE_IW=y 215 | BR2_PACKAGE_NTP=y 216 | BR2_PACKAGE_NTP_NTPDATE=y 217 | BR2_PACKAGE_NTP_NTPTIME=y 218 | BR2_PACKAGE_PHYTOOL=y 219 | BR2_PACKAGE_SSHPASS=y 220 | BR2_PACKAGE_TCPDUMP=y 221 | BR2_PACKAGE_WIRELESS_TOOLS=y 222 | BR2_PACKAGE_WPA_SUPPLICANT=y 223 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 224 | BR2_PACKAGE_WPA_SUPPLICANT_WPS=y 225 | BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y 226 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 227 | BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y 228 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 229 | BR2_PACKAGE_BASH=y 230 | BR2_PACKAGE_SCREEN=y 231 | BR2_PACKAGE_ANDROID_TOOLS=y 232 | BR2_PACKAGE_HTOP=y 233 | BR2_PACKAGE_KMOD_TOOLS=y 234 | BR2_PACKAGE_MULTIPATH_TOOLS=y 235 | BR2_PACKAGE_PROCPS_NG=y 236 | BR2_PACKAGE_UTIL_LINUX_BINARIES=y 237 | BR2_PACKAGE_UTIL_LINUX_AGETTY=y 238 | BR2_PACKAGE_UTIL_LINUX_BFS=y 239 | BR2_PACKAGE_UTIL_LINUX_CRAMFS=y 240 | BR2_PACKAGE_UTIL_LINUX_EJECT=y 241 | BR2_PACKAGE_UTIL_LINUX_FALLOCATE=y 242 | BR2_PACKAGE_UTIL_LINUX_FDFORMAT=y 243 | BR2_PACKAGE_UTIL_LINUX_FSCK=y 244 | BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y 245 | BR2_PACKAGE_UTIL_LINUX_KILL=y 246 | BR2_PACKAGE_UTIL_LINUX_LAST=y 247 | BR2_PACKAGE_UTIL_LINUX_LINE=y 248 | BR2_PACKAGE_UTIL_LINUX_LOSETUP=y 249 | BR2_PACKAGE_UTIL_LINUX_MESG=y 250 | BR2_PACKAGE_UTIL_LINUX_MINIX=y 251 | BR2_PACKAGE_UTIL_LINUX_MORE=y 252 | BR2_PACKAGE_UTIL_LINUX_MOUNT=y 253 | BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y 254 | BR2_PACKAGE_UTIL_LINUX_NEWGRP=y 255 | BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y 256 | BR2_PACKAGE_UTIL_LINUX_NSENTER=y 257 | BR2_PACKAGE_UTIL_LINUX_PARTX=y 258 | BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT=y 259 | BR2_PACKAGE_UTIL_LINUX_RENAME=y 260 | BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y 261 | BR2_PACKAGE_UTIL_LINUX_SETPRIV=y 262 | BR2_PACKAGE_UTIL_LINUX_SETTERM=y 263 | BR2_PACKAGE_UTIL_LINUX_SULOGIN=y 264 | BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT=y 265 | BR2_PACKAGE_UTIL_LINUX_TUNELP=y 266 | BR2_PACKAGE_UTIL_LINUX_UL=y 267 | BR2_PACKAGE_UTIL_LINUX_UNSHARE=y 268 | BR2_PACKAGE_UTIL_LINUX_UTMPDUMP=y 269 | BR2_PACKAGE_UTIL_LINUX_UUIDD=y 270 | BR2_PACKAGE_UTIL_LINUX_VIPW=y 271 | BR2_PACKAGE_UTIL_LINUX_WALL=y 272 | BR2_PACKAGE_UTIL_LINUX_WDCTL=y 273 | BR2_PACKAGE_UTIL_LINUX_WRITE=y 274 | BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y 275 | BR2_PACKAGE_WAVE511=y 276 | BR2_PACKAGE_WAVE420L=y 277 | BR2_PACKAGE_CODAJ12=y 278 | BR2_PACKAGE_SF_OMX_IL=y 279 | BR2_PACKAGE_SF_OMX_IL_TEST=y 280 | BR2_PACKAGE_V4L2_TEST=y 281 | BR2_PACKAGE_LIBCAMERA_APPS=y 282 | BR2_PACKAGE_SF_GST_OMX=y 283 | BR2_PACKAGE_ISPSDK=y 284 | BR2_PACKAGE_MAILBOX_TEST=y 285 | BR2_PACKAGE_E24_TEST=y 286 | BR2_PACKAGE_IMG_GPU_POWERVR=y 287 | BR2_PACKAGE_IMG_GPU_POWERVR_OUTPUT_WL=y 288 | BR2_PACKAGE_IMG_GPU_POWERVR_EXAMPLES=y 289 | BR2_PACKAGE_IMG_GPU_POWERVR_GMEM_INFO=y 290 | BR2_PACKAGE_DRM_TEST=y 291 | BR2_PACKAGE_PM=y 292 | BR2_PACKAGE_V4L2_DEC_TEST=y 293 | BR2_PACKAGE_STARFIVE_FIRMWARE=y 294 | BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI=y 295 | BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI=y 296 | BR2_PACKAGE_HIFI4_SOF=y 297 | BR2_TARGET_ROOTFS_EXT2=y 298 | BR2_TARGET_ROOTFS_EXT2_4=y 299 | BR2_TARGET_ROOTFS_EXT2_SIZE="500M" 300 | # BR2_TARGET_ROOTFS_TAR is not set 301 | BR2_PACKAGE_HOST_GENEXT2FS=y 302 | BR2_PACKAGE_HOST_GENIMAGE=y 303 | BR2_PACKAGE_HOST_GPTFDISK=y 304 | BR2_PACKAGE_HOST_MTOOLS=y 305 | BR2_PACKAGE_HOST_STFISP_SETFILE=y 306 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StarFiveTech VisionFive2 SDK 2 | 3 | This builds a complete RISC-V cross-compile toolchain for the `StarFiveTech` `JH7110` SoC. It also builds U-boot SPL, U-boot and a flattened image tree (FIT) image with a Opensbi binary, linux kernel, device tree, ramdisk image and rootfs image for the `JH7110 VisionFive2` board. Note this SDK is built with the linux kernel version `5.15`. 4 | 5 | ## Prerequisites 6 | 7 | Recommend OS: Ubuntu 16.04/18.04/20.04/22.04 x86_64 8 | 9 | Install required additional packages: 10 | 11 | ``` 12 | $ sudo apt update 13 | $ sudo apt-get install build-essential automake libtool texinfo bison flex gawk 14 | g++ git xxd curl wget gdisk gperf cpio bc screen texinfo unzip libgmp-dev 15 | libmpfr-dev libmpc-dev libssl-dev libncurses-dev libglib2.0-dev libpixman-1-dev 16 | libyaml-dev patchutils python3-pip zlib1g-dev device-tree-compiler dosfstools 17 | mtools kpartx rsync 18 | ``` 19 | 20 | Additional packages for Git LFS support: 21 | 22 | ``` 23 | $ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash 24 | $ sudo apt-get install git-lfs 25 | ``` 26 | 27 | ## Fetch Code Instructions ## 28 | 29 | Checkout this repository (e.g.: branch `JH7110_VisionFive2_devel`). Then checkout all of the linked submodules using: 30 | 31 | $ git clone https://github.com/starfive-tech/VisionFive2.git 32 | $ cd VisionFive2 33 | $ git checkout --track origin/JH7110_VisionFive2_devel 34 | $ git submodule update --init --recursive 35 | $ cd linux && git branch JH7110_VisionFive2_devel origin/JH7110_VisionFive2_devel && cd .. 36 | This will take some time and require around 9GB of disk space. Some modules may fail because certain dependencies don't have the best git hosting. The only solution is to wait and try again later (or ask someone for a copy of that source repository). 37 | 38 | For user who build the release tag version, the above command is enough. For developer, need to switch the 5 submodules `buildroot`, `u-boot`, `linux`, `opensbi`, `soft_3rdpart` to correct branch manually, also could refer to `.gitmodule` 39 | 40 | ``` 41 | $ cd buildroot && git checkout --track origin/JH7110_VisionFive2_devel && cd .. 42 | $ cd u-boot && git checkout --track origin/JH7110_VisionFive2_devel && cd .. 43 | $ cd linux && git checkout --track origin/JH7110_VisionFive2_devel && cd .. 44 | $ cd opensbi && git checkout --track origin/JH7110_VisionFive2_devel && cd .. 45 | $ cd soft_3rdpart && git checkout JH7110_VisionFive2_devel && cd .. 46 | ``` 47 | 48 | ## Quick Build Instructions 49 | 50 | Below are the quick building for the initramfs image `image.fit` which could be translated to board through tftp and run on board. The completed toolchain, `u-boot-spl.bin.normal.out`, `visionfive2_fw_payload.img`, `image.fit` will be generated under `work/` directory. The completed build tree will consume about 18G of disk space. 51 | 52 | $ make -j$(nproc) 53 | 54 | Then the below target files will be generated, copy files to tftp server workspace path: 55 | 56 | ``` 57 | work/ 58 | ├── visionfive2_fw_payload.img 59 | ├── image.fit 60 | ├── initramfs.cpio.gz 61 | ├── u-boot-spl.bin.normal.out 62 | ├── linux/arch/riscv/boot 63 | ├── dts 64 | │ └── starfive 65 | │ ├── jh7110-starfive-visionfive-2-A10.dtb 66 | │ ├── jh7110-starfive-visionfive-2-A11.dtb 67 | │ ├── jh7110-starfive-visionfive-2-ac108.dtb 68 | │ ├── jh7110-starfive-visionfive-2-v1.3b.dtb 69 | │ ├── jh7110-starfive-visionfive-2-wm8960.dtb 70 | │ ├── vf2-overlay 71 | │ │ └── vf2-overlay-uart3-i2c.dtbo 72 | └── Image.gz 73 | ``` 74 | 75 | Additional command to config buildroot, uboot, linux, busybox: 76 | 77 | ``` 78 | $ make buildroot_initramfs-menuconfig # buildroot initramfs menuconfig 79 | $ make buildroot_rootfs-menuconfig # buildroot rootfs menuconfig 80 | $ make uboot-menuconfig # uboot menuconfig 81 | $ make linux-menuconfig # Kernel menuconfig 82 | $ make -C ./work/buildroot_initramfs/ O=./work/buildroot_initramfs busybox-menuconfig # for initramfs busybox menuconfig 83 | $ make -C ./work/buildroot_rootfs/ O=./work/buildroot_rootfs busybox-menuconfig # for rootfs busybox menuconfig 84 | ``` 85 | 86 | Additional command to build single package or module: 87 | 88 | ``` 89 | $ make vmlinux # build linux kernel 90 | $ make uboot # build u-boot 91 | $ make -C ./work/buildroot_rootfs/ O=./work/buildroot_rootfs busybox-rebuild # build busybox package 92 | $ make -C ./work/buildroot_rootfs/ O=./work/buildroot_rootfs ffmpeg-rebuild # build ffmpeg package 93 | ``` 94 | 95 | ## Running on JH7110 VisionFive2 Board via Network 96 | 97 | After the JH7110 VisionFive2 Board is properly connected to the serial port cable, network cable and power cord, turn on the power from the wall power socket to power and you will see the startup information as follows: 98 | 99 | ``` 100 | U-Boot SPL 2021.10 (Oct 31 2022 - 12:11:37 +0800) 101 | DDR version: dc2e84f0. 102 | Trying to boot from SPI 103 | 104 | OpenSBI v1.0 105 | ____ _____ ____ _____ 106 | / __ \ / ____| _ \_ _| 107 | | | | |_ __ ___ _ __ | (___ | |_) || | 108 | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | 109 | | |__| | |_) | __/ | | |____) | |_) || |_ 110 | \____/| .__/ \___|_| |_|_____/|____/_____| 111 | | | 112 | |_| 113 | 114 | Platform Name : StarFive VisionFive V2 115 | Platform Features : medeleg 116 | Platform HART Count : 5 117 | Platform IPI Device : aclint-mswi 118 | Platform Timer Device : aclint-mtimer @ 4000000Hz 119 | Platform Console Device : uart8250 120 | Platform HSM Device : --- 121 | Platform Reboot Device : --- 122 | Platform Shutdown Device : --- 123 | Firmware Base : 0x40000000 124 | Firmware Size : 360 KB 125 | Runtime SBI Version : 0.3 126 | 127 | Domain0 Name : root 128 | Domain0 Boot HART : 3 129 | Domain0 HARTs : 0*,1*,2*,3*,4* 130 | Domain0 Region00 : 0x0000000002000000-0x000000000200ffff (I) 131 | Domain0 Region01 : 0x0000000040000000-0x000000004007ffff () 132 | Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X) 133 | Domain0 Next Address : 0x0000000040200000 134 | Domain0 Next Arg1 : 0x0000000042200000 135 | Domain0 Next Mode : S-mode 136 | Domain0 SysReset : yes 137 | 138 | Boot HART ID : 3 139 | Boot HART Domain : root 140 | Boot HART Priv Version : v1.11 141 | Boot HART Base ISA : rv64imafdcbx 142 | Boot HART ISA Extensions : none 143 | Boot HART PMP Count : 8 144 | Boot HART PMP Granularity : 4096 145 | Boot HART PMP Address Bits: 34 146 | Boot HART MHPM Count : 2 147 | Boot HART MIDELEG : 0x0000000000000222 148 | Boot HART MEDELEG : 0x000000000000b109 149 | 150 | 151 | U-Boot 2021.10 (Oct 31 2022 - 12:11:37 +0800), Build: jenkins-VF2_515_Branch_SDK_Release-10 152 | 153 | CPU: rv64imacu 154 | Model: StarFive VisionFive V2 155 | DRAM: 8 GiB 156 | MMC: sdio0@16010000: 0, sdio1@16020000: 1 157 | Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB 158 | *** Warning - bad CRC, using default environment 159 | 160 | StarFive EEPROM format v2 161 | 162 | --------EEPROM INFO-------- 163 | Vendor : StarFive Technology Co., Ltd. 164 | Product full SN: VF7110A1-2243-D008E000-00000001 165 | data version: 0x2 166 | PCB revision: 0xa1 167 | BOM revision: A 168 | Ethernet MAC0 address: 6c:cf:39:00:14:5b 169 | Ethernet MAC1 address: 6c:cf:39:00:14:5c 170 | --------EEPROM INFO-------- 171 | 172 | In: serial@10000000 173 | Out: serial@10000000 174 | Err: serial@10000000 175 | Model: StarFive VisionFive V2 176 | Net: eth0: ethernet@16030000, eth1: ethernet@16040000 177 | switch to partitions #0, OK 178 | mmc1 is current device 179 | found device 1 180 | bootmode flash device 1 181 | Failed to load 'uEnv.txt' 182 | Can't set block device 183 | Hit any key to stop autoboot: 0 184 | StarFive # 185 | ``` 186 | 187 | Then press any key to stop and enter uboot terminal, there are two way to boot the board 188 | 189 | #### 1. Running image.fit with the default dtb `jh7110-starfive-visionfive-2-v1.3b.dtb` 190 | 191 | transfer image.fit through TFTP: 192 | 193 | Step1: set environment parameters: 194 | 195 | ``` 196 | setenv ipaddr 192.168.xxx.xxx; setenv serverip 192.168.xxx.xxx; 197 | ``` 198 | 199 | Step2: upload image file to ddr: 200 | 201 | ``` 202 | tftpboot ${loadaddr} image.fit; 203 | ``` 204 | 205 | Step3: load and execute: 206 | 207 | ``` 208 | bootm start ${loadaddr};bootm loados ${loadaddr};run chipa_set_linux;run cpu_vol_set; booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}; 209 | ``` 210 | 211 | When you see the `buildroot login:` message, then congratulations, the launch was successful 212 | 213 | ``` 214 | buildroot login:root 215 | Password: starfive 216 | ``` 217 | 218 | #### 2. Running the other dtb with the Image.gz and initramfs.cpio.gz 219 | 220 | If we want to load the other dtb, e.g. `jh7110-starfive-visionfive-2-wm8960.dtb`, follow the below 221 | 222 | Step1: set environment parameters: 223 | 224 | ``` 225 | setenv ipaddr 192.168.xxx.xxx; setenv serverip 192.168.xxx.xxx; 226 | ``` 227 | 228 | Step2: upload files to ddr: 229 | 230 | ``` 231 | tftpboot ${fdt_addr_r} jh7110-starfive-visionfive-2-wm8960.dtb; 232 | tftpboot ${kernel_addr_r} Image.gz; 233 | tftpboot ${ramdisk_addr_r} initramfs.cpio.gz; 234 | run chipa_set_linux;run cpu_vol_set; 235 | ``` 236 | 237 | Step3: load and execute: 238 | 239 | ``` 240 | booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r} 241 | ``` 242 | 243 | When you see the `buildroot login:` message, then congratulations, the launch was successful 244 | 245 | ``` 246 | buildroot login:root 247 | Password: starfive 248 | ``` 249 | 250 | ## APPENDIX I: Generate Booting SD Card 251 | 252 | If you don't already use a local tftp server, then you probably want to make the TF card target; the default size is 16 GBs. **NOTE THIS WILL DESTROY ALL EXISTING DATA** on the target TF card; The `GPT` Partition Table for the TF card is recommended. 253 | 254 | #### Generate SD Card Image File 255 | 256 | We could generate a sdcard image file by the below command. The sdcard image file could be copied to sd card or tf card through `dd` command, or `rpi-imager` or `balenaEtcher` tool 257 | 258 | ``` 259 | $ make -j$(nproc) 260 | $ make buildroot_rootfs -j$(nproc) 261 | $ make img 262 | ``` 263 | 264 | The output file `work/sdcard.img` will be generated. 265 | 266 | #### Copy Image File to SD Card 267 | 268 | The `sdcard.img` can be copied to a tf card. e.g. through `dd` command as below 269 | 270 | ``` 271 | $ sudo dd if=work/sdcard.img of=/dev/sdX bs=4096 272 | $ sync 273 | ``` 274 | 275 | Then extend the tf card rootfs partition if needed. There are two ways to implement it. 276 | 277 | The first way could be done on Ubuntu host, need to install the below package: 278 | 279 | ``` 280 | $ sudo apt install cloud-guest-utils e2fsprogs 281 | ``` 282 | 283 | Then insert the tf card to Ubuntu host, run the below, note `/dev/sdX` is the tf card device. 284 | 285 | ``` 286 | $ sudo growpart /dev/sdX 4 # extend partition 4 287 | $ sudo e2fsck -f /dev/sdX4 288 | $ sudo resize2fs /dev/sdX4 # extend filesystem 289 | $ sudo fsck.ext4 /dev/sdX4 290 | ``` 291 | 292 | The second way could be done on VisionFive2 board, use fdisk and resize2fs command: 293 | 294 | ``` 295 | # fdisk /dev/mmcblk1 296 | Welcome to fdisk (util-linux 2.37.2). 297 | Changes will remain in memory only, until you decide to write them. 298 | Be careful before using the write command. 299 | This disk is currently in use - repartitioning is probably a bad idea. 300 | It's recommended to umount all file systems, and swapoff all swap 301 | partitions on this disk. 302 | Command (m for help): d 303 | Partition number (1-4, default 4): 4 304 | Partition 4 has been deleted. 305 | Command (m for help): n 306 | Partition number (4-128, default 4): 4 307 | First sector (614400-62333918, default 614400): 308 | ): t sector, +/-sectors or +/-size{K,M,G,T,P} (614400-62333918, default 62333918) 309 | Created a new partition 4 of type 'Linux filesystem' and of size 29.4 GiB. 310 | Partition #4 contains a ext4 signature. 311 | Do you want to remove the signature? [Y]es/[N]o: N 312 | Command (m for help): w 313 | The partition table has been altered. 314 | Syncing disks. 315 | 316 | # resize2fs /dev/mmcblk1p4 317 | resize2fs 1.46.4 (18-Aug-2021) 318 | Filesystem at /d[ 319 | 111.756178] EXT4-fs (mmcblk1p4): resizing filesystem from 512000 320 | to 30859756 blocks 321 | ev/mmcblk1p4 is [ 322 | 111.765203] EXT4-fs (mmcblk1p4): resizing filesystem from 512000 323 | to 30859265 blocks 324 | mounted on /; on-line resizing required 325 | old_desc_blocks = 2, new_desc_blocks = 118 326 | [ 112.141953] random: crng init done 327 | [ 112.145369] random: 7 urandom warning(s) missed due to ratelimiting 328 | [ 115.474184] EXT4-fs (mmcblk1p4): resized filesystem to 30859265 329 | The filesystem on /dev/mmcblk1p4 is now 30859756 (1k) blocks long. 330 | ``` 331 | 332 | If you need to add a new partition, such as a swap partition (here we do set the rest of disk space to swap partition, 333 | but normally swap partition size should be the same as DDR size or double of DDR size), 334 | you can use the following shell script afer the image running on board: 335 | 336 | ```bash 337 | #!bin/sh 338 | sgdisk -e /dev/mmcblk0 339 | disk=/dev/mmcblk0 340 | gdisk $disk << EOF 341 | p 342 | n 343 | 5 344 | 345 | 346 | 8200 347 | p 348 | c 349 | 5 350 | hibernation 351 | w 352 | y 353 | EOF 354 | 355 | mkswap /dev/mmcblk0p5 356 | swapoff -a 357 | swapon /dev/mmcblk0p5 358 | ``` 359 | 360 | ## APPENDIX II: Using DTB Overlay Dynamically 361 | The system support loading dtb overlay dynamically when the board is running. Run below on board: 362 | 363 | ``` 364 | # mount -t configfs none /sys/kernel/config 365 | # mkdir -p /sys/kernel/config/device-tree/overlays/dtoverlay 366 | # cd 367 | # cat vf2-overlay-uart3-i2c.dtbo > /sys/kernel/config/device-tree/overlays/dtoverlay/dtbo 368 | ``` 369 | 370 | Additional, you could remove the dtbo feature: 371 | 372 | ``` 373 | # rmdir /sys/kernel/config/device-tree/overlays/dtoverlay 374 | ``` 375 | 376 | ## APPENDIX III: Updating SPL and U-Boot binaries Under U-boot 377 | 378 | Prepare the tftp sever. e.g. `sudo apt install tftpd-hpa` for Ubuntu host. 379 | 380 | 1. Power on the VisionFive2 board and wait until enters the u-boot command line 381 | 382 | 2. Configure the environment variables by executing: 383 | 384 | ``` 385 | StarFive # setenv ipaddr 192.168.120.222;setenv serverip 192.168.120.99 386 | ``` 387 | 388 | 3. Check the connectivity by pinging the host PC from evaluation board; 389 | 390 | 4. Initialize SPI flash: 391 | 392 | ``` 393 | StarFive # sf probe 394 | ``` 395 | 396 | 5. Update SPL binary 397 | 398 | ``` 399 | StarFive # tftpboot ${loadaddr} u-boot-spl.bin.normal.out 400 | StarFive # sf update ${loadaddr} 0x0 $filesize 401 | ``` 402 | 403 | 6. Update U-Boot binary 404 | 405 | ``` 406 | StarFive # tftpboot ${loadaddr} visionfive2_fw_payload.img 407 | StarFive # sf update ${loadaddr} 0x100000 $filesize 408 | ``` 409 | 410 | ## APPENDIX IV: Recovering Bootloader 411 | 412 | The SPL and U-Boot are stored inside the SPI flash on board. There may be situations where you accidentally emptied the flash or if the flash is damaged on your board. In these situations, it's better to recover the bootloader. 413 | 414 | Please jump to https://github.com/starfive-tech/Tools for more details 415 | 416 | ## APPENDIX VI: Generating the Debug Initramfs Fit Image 417 | 418 | By default the initramfs fit image (image.fit) had limited features, the sdk provide a way to generate the debug initramfs fit image (image.fit). 419 | 420 | First clean up your build workspace, and run as below: 421 | 422 | ``` 423 | $ rm -rf work 424 | $ HWBOARD_CONFIG=debug make -j(nproc) 425 | ``` 426 | 427 | Then the work/image.fit which had many debug packages will be generated. Then it can be run with tftp download under u-boot console: 428 | 429 | ``` 430 | StarFive # setenv fileaddr a0000000;dhcp ${fileaddr} ${serverip}:image.fit 431 | StarFive # bootm start ${fileaddr};bootm loados ${fileaddr} 432 | StarFive # booti 0x40200000 0x46100000:${filesize} 0x46000000 433 | ``` 434 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ISA ?= rv64imafdc_zicsr_zifencei_zba_zbb 2 | ABI ?= lp64d 3 | 4 | #TARGET_BOARD is JH7110 or NULL 5 | SOC := JH7110 6 | BOARD_FLAGS := 7 | HWBOARD ?= visionfive2 8 | HWBOARD_FLAG ?= HWBOARD_VISIONFIVE2 9 | 10 | # HWBOARD_CONFIG=[default | debug], add more config for various scenario here 11 | HWBOARD_CONFIG ?= default 12 | 13 | srcdir := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) 14 | srcdir := $(srcdir:/=) 15 | confdir := $(srcdir)/conf 16 | wrkdir := $(CURDIR)/work 17 | 18 | buildroot_srcdir := $(srcdir)/buildroot 19 | buildroot_initramfs_wrkdir := $(wrkdir)/buildroot_initramfs 20 | 21 | # TODO: make RISCV be able to be set to alternate toolchain path 22 | RISCV ?= $(buildroot_initramfs_wrkdir)/host 23 | RVPATH := $(RISCV)/bin:$(PATH) 24 | target := riscv64-buildroot-linux-gnu 25 | 26 | CROSS_COMPILE := $(RISCV)/bin/$(target)- 27 | 28 | buildroot_initramfs_tar := $(buildroot_initramfs_wrkdir)/images/rootfs.tar 29 | buildroot_initramfs_config := $(confdir)/buildroot_initramfs_config 30 | buildroot_initramfs_sysroot_stamp := $(wrkdir)/.buildroot_initramfs_sysroot 31 | buildroot_initramfs_sysroot := $(wrkdir)/buildroot_initramfs_sysroot 32 | buildroot_rootfs_wrkdir := $(wrkdir)/buildroot_rootfs 33 | buildroot_rootfs_ext := $(buildroot_rootfs_wrkdir)/images/rootfs.ext4 34 | buildroot_rootfs_config := $(confdir)/buildroot_rootfs_config 35 | 36 | # override buildroot config if specify the HWBOARD_CONFIG 37 | ifeq ($(HWBOARD_CONFIG), debug) 38 | buildroot_initramfs_config := $(confdir)/buildroot_initramfs_config_debug 39 | buildroot_rootfs_config := $(confdir)/buildroot_rootfs_config 40 | endif 41 | 42 | linux_srcdir := $(srcdir)/linux 43 | linux_wrkdir := $(wrkdir)/linux 44 | ifeq ($(HWBOARD), evb) 45 | linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_jh7110_defconfig 46 | else 47 | linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_visionfive2_defconfig 48 | endif 49 | 50 | vmlinux := $(linux_wrkdir)/vmlinux 51 | vmlinux_stripped := $(linux_wrkdir)/vmlinux-stripped 52 | vmlinux_bin := $(wrkdir)/vmlinux.bin 53 | module_install_path:=$(wrkdir)/module_install_path 54 | perf_tool_srcdir := $(linux_srcdir)/tools/perf 55 | perf_tool_wrkdir := $(linux_wrkdir)/tools/perf 56 | 57 | its_file=$(confdir)/$(HWBOARD)-fit-image.its 58 | uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its 59 | 60 | vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part 61 | #ext_image := $(wrkdir) # TODO 62 | 63 | initramfs := $(wrkdir)/initramfs.cpio.gz 64 | 65 | sbi_srcdir := $(srcdir)/opensbi 66 | sbi_wrkdir := $(wrkdir)/opensbi 67 | 68 | sbi_bin := $(wrkdir)/opensbi/platform/generic/firmware/fw_payload.bin 69 | 70 | fit := $(wrkdir)/image.fit 71 | uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img 72 | 73 | fesvr_srcdir := $(srcdir)/riscv-fesvr 74 | fesvr_wrkdir := $(wrkdir)/riscv-fesvr 75 | libfesvr := $(fesvr_wrkdir)/prefix/lib/libfesvr.so 76 | 77 | spike_srcdir := $(srcdir)/riscv-isa-sim 78 | spike_wrkdir := $(wrkdir)/riscv-isa-sim 79 | spike := $(spike_wrkdir)/prefix/bin/spike 80 | 81 | qemu_srcdir := $(srcdir)/riscv-qemu 82 | qemu_wrkdir := $(wrkdir)/riscv-qemu 83 | qemu := $(qemu_wrkdir)/prefix/bin/qemu-system-riscv64 84 | 85 | uboot_srcdir := $(srcdir)/u-boot 86 | uboot_wrkdir := $(wrkdir)/u-boot 87 | 88 | uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb 89 | 90 | uboot := $(uboot_wrkdir)/u-boot.bin 91 | 92 | spl_tool_srcdir := $(srcdir)/soft_3rdpart/spl_tool 93 | spl_tool_wrkdir := $(wrkdir)/spl_tool 94 | 95 | spl_bin_normal_out := u-boot-spl.bin.normal.out 96 | 97 | uboot_config := starfive_$(HWBOARD)_defconfig 98 | 99 | uboot_defconfig := $(uboot_srcdir)/configs/$(uboot_config) 100 | rootfs := $(wrkdir)/rootfs.bin 101 | 102 | target_gcc := $(CROSS_COMPILE)gcc 103 | version := $(wrkdir)/version 104 | 105 | .PHONY: all check_arg 106 | 107 | all: check_arg $(fit) $(vfat_image) $(uboot_fit) $(spl_bin_normal_out) 108 | @echo 109 | @echo "This image has been generated for an ISA of $(ISA) and an ABI of $(ABI)" 110 | @echo "Find the image in work/image.fit, which should be copied to an MSDOS boot partition 1" 111 | @echo 112 | @echo "To completely erase, reformat, and program a disk sdX, run:" 113 | @echo " make DISK=/dev/sdX format-boot-loader" 114 | @echo " ... you will need gdisk and e2fsprogs installed" 115 | @echo " Please note this will not currently format the SDcard ext4 partition" 116 | @echo " This can be done manually if needed" 117 | @echo 118 | 119 | check_arg: 120 | ifeq ( , $(filter $(HWBOARD), visionfive2 evb fpga)) 121 | $(error board $(HWBOARD) is not supported, BOARD=[visionfive2 | evb | fpga(deflault)]) 122 | endif 123 | ifeq ( , $(filter $(HWBOARD_CONFIG), default debug)) 124 | $(error board config $(HWBOARD_CONFIG) is not supported, HWBOARD_CONFIG=[default | debug]) 125 | endif 126 | 127 | # TODO: depracated for now 128 | #ifneq ($(RISCV),$(buildroot_initramfs_wrkdir)/host) 129 | #$(target_gcc): 130 | # $(error The RISCV environment variable was set, but is not pointing at a toolchain install tree) 131 | #else 132 | #$(target_gcc): $(buildroot_initramfs_tar) 133 | #endif 134 | 135 | .PHONY: visionfive2 evb fpga 136 | 137 | visionfive2: HWBOARD := visionfive2 138 | visionfive2: HWBOARD_FLAG := HWBOARD_VISIONFIVE2 139 | visionfive2: uboot_config := starfive_$(HWBOARD)_defconfig 140 | visionfive2: uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb 141 | visionfive2: linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_visionfive2_defconfig 142 | visionfive2: uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img 143 | visionfive2: vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part 144 | visionfive2: its_file=$(confdir)/$(HWBOARD)-fit-image.its 145 | visionfive2: uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its 146 | visionfive2: all 147 | 148 | evb: HWBOARD := evb 149 | evb: HWBOARD_FLAG := HWBOARD_EVB 150 | evb: uboot_config := starfive_$(HWBOARD)_defconfig 151 | evb: uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb 152 | evb: linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_jh7110_defconfig 153 | evb: uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img 154 | evb: vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part 155 | evb: its_file=$(confdir)/$(HWBOARD)-fit-image.its 156 | evb: uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its 157 | evb: all 158 | 159 | fpga: HWBOARD := fpga 160 | fpga: all 161 | fpga: HWBOARD_FLAG := HWBOARD_FPGA 162 | 163 | $(version): 164 | cd $(linux_srcdir) && \ 165 | sh $(confdir)/version > $(version) 166 | chmod 777 $(version) 167 | 168 | $(buildroot_initramfs_wrkdir)/.config: $(buildroot_srcdir) 169 | # rm -rf $(dir $@) 170 | mkdir -p $(dir $@) 171 | cp $(buildroot_initramfs_config) $@ 172 | $(MAKE) -C $< RISCV=$(RISCV) O=$(buildroot_initramfs_wrkdir) olddefconfig 173 | 174 | # buildroot_initramfs provides gcc 175 | $(buildroot_initramfs_tar): $(buildroot_srcdir) $(buildroot_initramfs_wrkdir)/.config $(buildroot_initramfs_config) 176 | $(MAKE) -C $< RISCV=$(RISCV) O=$(buildroot_initramfs_wrkdir) 177 | 178 | .PHONY: buildroot_initramfs-menuconfig 179 | buildroot_initramfs-menuconfig: $(buildroot_initramfs_wrkdir)/.config $(buildroot_srcdir) 180 | $(MAKE) -C $(dir $<) O=$(buildroot_initramfs_wrkdir) menuconfig 181 | $(MAKE) -C $(dir $<) O=$(buildroot_initramfs_wrkdir) savedefconfig 182 | cp $(dir $<)defconfig $(buildroot_initramfs_config) 183 | 184 | # use buildroot_initramfs toolchain 185 | # TODO: fix path and conf/buildroot_rootfs_config 186 | $(buildroot_rootfs_wrkdir)/.config: $(buildroot_srcdir) $(buildroot_initramfs_tar) 187 | # rm -rf $(dir $@) 188 | mkdir -p $(dir $@) 189 | cp $(buildroot_rootfs_config) $@ 190 | $(MAKE) -C $< RISCV=$(RISCV) PATH=$(RVPATH) O=$(buildroot_rootfs_wrkdir) olddefconfig 191 | 192 | $(buildroot_rootfs_ext): $(buildroot_srcdir) $(buildroot_rootfs_wrkdir)/.config $(target_gcc) $(buildroot_rootfs_config) $(version) $(perf_tool_wrkdir)/perf 193 | mkdir -p $(buildroot_rootfs_wrkdir)/target/lib 194 | cp -r $(module_install_path)/lib/modules $(buildroot_rootfs_wrkdir)/target/lib/ 195 | mkdir -p $(buildroot_rootfs_wrkdir)/target/usr/bin 196 | cp $(perf_tool_wrkdir)/perf $(buildroot_rootfs_wrkdir)/target/usr/bin/ 197 | cp $(version) $(buildroot_rootfs_wrkdir)/target/usr/bin/version 198 | $(MAKE) -C $< RISCV=$(RISCV) PATH=$(RVPATH) O=$(buildroot_rootfs_wrkdir) 199 | 200 | .PHONY: buildroot_rootfs 201 | buildroot_rootfs: $(buildroot_rootfs_ext) 202 | 203 | .PHONY: buildroot_rootfs-menuconfig 204 | buildroot_rootfs-menuconfig: $(buildroot_rootfs_wrkdir)/.config $(buildroot_srcdir) 205 | $(MAKE) -C $(dir $<) O=$(buildroot_rootfs_wrkdir) menuconfig 206 | $(MAKE) -C $(dir $<) O=$(buildroot_rootfs_wrkdir) savedefconfig 207 | cp $(dir $<)defconfig $(buildroot_rootfs_config) 208 | 209 | $(buildroot_initramfs_sysroot_stamp): $(buildroot_initramfs_tar) 210 | mkdir -p $(buildroot_initramfs_sysroot) 211 | tar -xpf $< -C $(buildroot_initramfs_sysroot) --exclude ./dev --exclude ./usr/share/locale 212 | touch $@ 213 | 214 | $(linux_wrkdir)/.config: $(linux_defconfig) $(linux_srcdir) 215 | mkdir -p $(dir $@) 216 | cp -p $< $@ 217 | $(MAKE) -C $(linux_srcdir) O=$(linux_wrkdir) CROSS_COMPILE=$(CROSS_COMPILE) ARCH=riscv olddefconfig 218 | 219 | $(uboot_wrkdir)/.config: $(uboot_defconfig) 220 | mkdir -p $(dir $@) 221 | cp -p $< $@ 222 | $(MAKE) -C $(uboot_srcdir) O=$(uboot_wrkdir) CROSS_COMPILE=$(CROSS_COMPILE) ARCH=riscv olddefconfig 223 | 224 | $(vmlinux): $(linux_srcdir) $(linux_wrkdir)/.config $(target_gcc) 225 | $(MAKE) -C $< O=$(linux_wrkdir) \ 226 | ARCH=riscv \ 227 | CROSS_COMPILE=$(CROSS_COMPILE) \ 228 | PATH=$(RVPATH) \ 229 | vmlinux \ 230 | all \ 231 | modules 232 | $(MAKE) -C $< O=$(linux_wrkdir) \ 233 | ARCH=riscv \ 234 | CROSS_COMPILE=$(CROSS_COMPILE) \ 235 | PATH=$(RVPATH) \ 236 | INSTALL_MOD_PATH=$(module_install_path) \ 237 | modules_install 238 | 239 | vpudriver-build: $(vmlinux) 240 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 241 | INSTALL_MOD_PATH=$(module_install_path) wave511-extract 242 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 243 | INSTALL_MOD_PATH=$(module_install_path) wave511driver 244 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 245 | INSTALL_MOD_PATH=$(module_install_path) wave420l-extract 246 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 247 | INSTALL_MOD_PATH=$(module_install_path) wave420ldriver 248 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 249 | INSTALL_MOD_PATH=$(module_install_path) codaj12-extract 250 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ 251 | INSTALL_MOD_PATH=$(module_install_path) codaj12driver 252 | 253 | $(perf_tool_wrkdir)/perf: $(linux_srcdir) $(vmlinux) 254 | mkdir -p $(perf_tool_wrkdir) 255 | $(MAKE) -C $(perf_tool_srcdir) O=$(perf_tool_wrkdir)/ \ 256 | ARCH=riscv \ 257 | CROSS_COMPILE=$(CROSS_COMPILE) \ 258 | WERROR=0 NO_GTK2=1 NO_LIBPERL=1 \ 259 | NO_LIBBIONIC=1 260 | 261 | .PHONY: perf 262 | perf: $(perf_tool_wrkdir)/perf 263 | 264 | .PHONY: initrd 265 | initrd: $(initramfs) 266 | 267 | $(initramfs).d: $(buildroot_initramfs_sysroot) 268 | $(linux_srcdir)/usr/gen_initramfs_list.sh -l $(confdir)/initramfs.txt $(buildroot_initramfs_sysroot) > $@ 269 | 270 | $(initramfs): $(buildroot_initramfs_sysroot) $(vmlinux) vpudriver-build $(version) $(perf_tool_wrkdir)/perf 271 | cp -r $(module_install_path)/lib/modules $(buildroot_initramfs_sysroot)/lib/ 272 | ifeq ($(HWBOARD_CONFIG), debug) 273 | cp $(perf_tool_wrkdir)/perf $(buildroot_initramfs_sysroot)/usr/bin/ 274 | cp $(version) $(buildroot_initramfs_sysroot)/usr/bin/version 275 | else 276 | $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) img-gpu-powervr-extract 277 | cp -ar $(buildroot_initramfs_wrkdir)/build/img-gpu-powervr-*/target/lib/firmware/ $(buildroot_initramfs_sysroot)/lib/ 278 | endif 279 | cd $(linux_wrkdir) && \ 280 | $(linux_srcdir)/usr/gen_initramfs_list.sh \ 281 | -o $@ -u $(shell id -u) -g $(shell id -g) \ 282 | $(confdir)/initramfs.txt \ 283 | $(buildroot_initramfs_sysroot) 284 | 285 | $(vmlinux_stripped): $(vmlinux) 286 | PATH=$(RVPATH) $(target)-strip -o $@ $< 287 | 288 | $(vmlinux_bin): $(vmlinux) 289 | PATH=$(RVPATH) $(target)-objcopy -O binary $< $@ 290 | 291 | .PHONY: linux-menuconfig 292 | linux-menuconfig: $(linux_wrkdir)/.config 293 | $(MAKE) -C $(linux_srcdir) O=$(dir $<) ARCH=riscv CROSS_COMPILE=$(CROSS_COMPILE) menuconfig 294 | $(MAKE) -C $(linux_srcdir) O=$(dir $<) ARCH=riscv CROSS_COMPILE=$(CROSS_COMPILE) savedefconfig 295 | cp $(dir $<)defconfig $(linux_defconfig) 296 | 297 | # Note: opensbi generic platform default FW_TEXT_START is 0x80000000 298 | # For JH7110, need to specify the FW_TEXT_START to 0x40000000 299 | # Otherwise, the fw_payload.bin downloading via jtag will not run. 300 | # not affect the evb_fw_payload.img for its file has FW_TEXT_START 301 | $(sbi_bin): $(uboot) $(vmlinux) 302 | rm -rf $(sbi_wrkdir) 303 | mkdir -p $(sbi_wrkdir) 304 | cd $(sbi_wrkdir) && O=$(sbi_wrkdir) CFLAGS="-mabi=$(ABI) -march=$(ISA)" ${MAKE} -C $(sbi_srcdir) CROSS_COMPILE=$(CROSS_COMPILE) \ 305 | PLATFORM=generic FW_PAYLOAD_PATH=$(uboot) FW_FDT_PATH=$(uboot_dtb_file) FW_TEXT_START=0x40000000 306 | 307 | $(fit): $(sbi_bin) $(vmlinux_bin) $(uboot) $(its_file) ${initramfs} 308 | $(uboot_wrkdir)/tools/mkimage -f $(its_file) -A riscv -O linux -T flat_dt $@ 309 | @if [ -f fsz.sh ]; then ./fsz.sh $(sbi_bin); fi 310 | 311 | $(libfesvr): $(fesvr_srcdir) 312 | rm -rf $(fesvr_wrkdir) 313 | mkdir -p $(fesvr_wrkdir) 314 | mkdir -p $(dir $@) 315 | cd $(fesvr_wrkdir) && $