From c47c340fa2e91016ffccc2d2fb9410fb74cf8ee3 Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 17 Mar 2021 20:00:17 +0800 Subject: [PATCH] Initial commit --- .gitignore | 21 + .gitmodules | 20 + Makefile | 548 +++++++++++++++++++++ README.md | 420 ++++++++++++++++ bsp/env/freedom-u500-unleashed/openocd.cfg | 24 + build.sh | 101 ++++ build_soft_3rdpart.sh | 88 ++++ buildroot | 1 + conf/buildroot_initramfs_config | 274 +++++++++++ conf/buildroot_rootfs_config | 304 ++++++++++++ conf/evb-fit-image.its | 55 +++ conf/evb-uboot-fit-image.its | 29 ++ conf/fpga-fit-image.its | 55 +++ conf/genimage-vf2.cfg | 35 ++ conf/genimage.cfg | 35 ++ conf/initramfs.txt | 3 + conf/jh7110_uEnv.txt | 32 ++ conf/linux_415_nvdla_defconfig | 127 +++++ conf/linux_419_defconfig | 246 +++++++++ conf/linux_59_defconfig | 222 +++++++++ conf/linux_defconfig | 118 +++++ conf/linux_distro_defconfig | 90 ++++ conf/linux_framebuffer_distro_defconfig | 111 +++++ conf/linux_framebuffer_smp | 135 +++++ conf/linux_microsemi_defconfig | 101 ++++ conf/linux_microsemi_distro_defconfig | 115 +++++ conf/nvdla-uboot-fit-image.its | 58 +++ conf/rvboot-fit.txt | 18 + conf/rvboot.txt | 24 + conf/sifive_logo.txt | 26 + conf/starfive_logo.txt | 31 ++ conf/u74_nvdla-uboot-fit-image.its | 55 +++ conf/u74_uEnv.txt | 44 ++ conf/uEnv.txt | 58 +++ conf/uboot-fit-image.its | 71 +++ conf/version | 39 ++ conf/vf2_nvme_uEnv.txt | 28 ++ conf/vf2_uEnv.txt | 25 + conf/visionfive2-fit-image.its | 55 +++ conf/visionfive2-uboot-fit-image.its | 29 ++ fsz.sh | 28 ++ genimage.sh | 58 +++ linux | 1 + opensbi | 1 + post-build.sh | 34 ++ pre-build.sh | 34 ++ soft_3rdpart | 1 + u-boot | 1 + 48 files changed, 4029 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 Makefile create mode 100755 README.md create mode 100644 bsp/env/freedom-u500-unleashed/openocd.cfg create mode 100755 build.sh create mode 100755 build_soft_3rdpart.sh create mode 160000 buildroot create mode 100755 conf/buildroot_initramfs_config create mode 100644 conf/buildroot_rootfs_config create mode 100644 conf/evb-fit-image.its create mode 100644 conf/evb-uboot-fit-image.its create mode 100644 conf/fpga-fit-image.its create mode 100644 conf/genimage-vf2.cfg create mode 100644 conf/genimage.cfg create mode 100644 conf/initramfs.txt create mode 100644 conf/jh7110_uEnv.txt create mode 100755 conf/linux_415_nvdla_defconfig create mode 100755 conf/linux_419_defconfig create mode 100755 conf/linux_59_defconfig create mode 100644 conf/linux_defconfig create mode 100644 conf/linux_distro_defconfig create mode 100644 conf/linux_framebuffer_distro_defconfig create mode 100644 conf/linux_framebuffer_smp create mode 100644 conf/linux_microsemi_defconfig create mode 100644 conf/linux_microsemi_distro_defconfig create mode 100644 conf/nvdla-uboot-fit-image.its create mode 100644 conf/rvboot-fit.txt create mode 100644 conf/rvboot.txt create mode 100644 conf/sifive_logo.txt create mode 100755 conf/starfive_logo.txt create mode 100755 conf/u74_nvdla-uboot-fit-image.its create mode 100755 conf/u74_uEnv.txt create mode 100755 conf/uEnv.txt create mode 100644 conf/uboot-fit-image.its create mode 100755 conf/version create mode 100755 conf/vf2_nvme_uEnv.txt create mode 100755 conf/vf2_uEnv.txt create mode 100644 conf/visionfive2-fit-image.its create mode 100644 conf/visionfive2-uboot-fit-image.its create mode 100755 fsz.sh create mode 100755 genimage.sh create mode 160000 linux create mode 160000 opensbi create mode 100755 post-build.sh create mode 100755 pre-build.sh create mode 160000 soft_3rdpart create mode 160000 u-boot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d680ece --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Top-level project build directories +/work* + +# Top-level generic files +/*.log + +# Merge conflict files +*.orig +*.swp + +*.code-workspace + +# ctags files +tags +TAGS +ctags +etags + +# cscope files +cscope.* +ncscope.* diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b46e378 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,20 @@ +[submodule "buildroot"] + path = buildroot + url = git@192.168.110.45:sdk/buildroot.git + branch = jh7110-master +[submodule "u-boot"] + path = u-boot + url = git@192.168.110.45:sdk/u-boot.git + branch = jh7110-master +[submodule "linux"] + path = linux + url = git@192.168.110.45:sbc/linux.git + branch = vf2-6.1.y-devel +[submodule "opensbi"] + path = opensbi + url = git@192.168.110.45:sdk/opensbi.git + branch = master +[submodule "soft_3rdpart"] + path = soft_3rdpart + url = git@192.168.110.45:sdk/soft_3rdpart.git + branch = jh7110-devel diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..161a79a --- /dev/null +++ b/Makefile @@ -0,0 +1,548 @@ +ISA ?= rv64imafdc_zicsr_zifencei_zba_zbb +ABI ?= lp64d + +#TARGET_BOARD is JH7110 or NULL +SOC := JH7110 +BOARD_FLAGS := +HWBOARD ?= visionfive2 +HWBOARD_FLAG ?= HWBOARD_VISIONFIVE2 + +srcdir := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) +srcdir := $(srcdir:/=) +confdir := $(srcdir)/conf +wrkdir := $(CURDIR)/work + +buildroot_srcdir := $(srcdir)/buildroot +buildroot_initramfs_wrkdir := $(wrkdir)/buildroot_initramfs + +# TODO: make RISCV be able to be set to alternate toolchain path +RISCV ?= $(buildroot_initramfs_wrkdir)/host +RVPATH := $(RISCV)/bin:$(PATH) +target := riscv64-buildroot-linux-gnu + +CROSS_COMPILE := $(RISCV)/bin/$(target)- + +buildroot_initramfs_tar := $(buildroot_initramfs_wrkdir)/images/rootfs.tar +buildroot_initramfs_config := $(confdir)/buildroot_initramfs_config +buildroot_initramfs_sysroot_stamp := $(wrkdir)/.buildroot_initramfs_sysroot +buildroot_initramfs_sysroot := $(wrkdir)/buildroot_initramfs_sysroot +buildroot_rootfs_wrkdir := $(wrkdir)/buildroot_rootfs +buildroot_rootfs_ext := $(buildroot_rootfs_wrkdir)/images/rootfs.ext4 +buildroot_rootfs_config := $(confdir)/buildroot_rootfs_config + +linux_srcdir := $(srcdir)/linux +linux_wrkdir := $(wrkdir)/linux +ifeq ($(HWBOARD), evb) + linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_jh7110_defconfig +else + linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_visionfive2_defconfig +endif + +vmlinux := $(linux_wrkdir)/vmlinux +vmlinux_stripped := $(linux_wrkdir)/vmlinux-stripped +vmlinux_bin := $(wrkdir)/vmlinux.bin +module_install_path:=$(wrkdir)/module_install_path +perf_tool_srcdir := $(linux_srcdir)/tools/perf +perf_tool_wrkdir := $(linux_wrkdir)/tools/perf + +its_file=$(confdir)/$(HWBOARD)-fit-image.its +uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its + +vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part +#ext_image := $(wrkdir) # TODO + +initramfs := $(wrkdir)/initramfs.cpio.gz + +sbi_srcdir := $(srcdir)/opensbi +sbi_wrkdir := $(wrkdir)/opensbi + +sbi_bin := $(wrkdir)/opensbi/platform/generic/firmware/fw_payload.bin + +fit := $(wrkdir)/image.fit +uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img + +fesvr_srcdir := $(srcdir)/riscv-fesvr +fesvr_wrkdir := $(wrkdir)/riscv-fesvr +libfesvr := $(fesvr_wrkdir)/prefix/lib/libfesvr.so + +spike_srcdir := $(srcdir)/riscv-isa-sim +spike_wrkdir := $(wrkdir)/riscv-isa-sim +spike := $(spike_wrkdir)/prefix/bin/spike + +qemu_srcdir := $(srcdir)/riscv-qemu +qemu_wrkdir := $(wrkdir)/riscv-qemu +qemu := $(qemu_wrkdir)/prefix/bin/qemu-system-riscv64 + +uboot_srcdir := $(srcdir)/u-boot +uboot_wrkdir := $(wrkdir)/u-boot + +uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb + +uboot := $(uboot_wrkdir)/u-boot.bin + +spl_tool_srcdir := $(srcdir)/soft_3rdpart/spl_tool +spl_tool_wrkdir := $(wrkdir)/spl_tool + +spl_bin_normal_out := u-boot-spl.bin.normal.out + +uboot_config := starfive_$(HWBOARD)_defconfig + +uboot_defconfig := $(uboot_srcdir)/configs/$(uboot_config) +rootfs := $(wrkdir)/rootfs.bin + +target_gcc := $(CROSS_COMPILE)gcc +version := $(wrkdir)/version + +.PHONY: all check_arg + +all: check_arg $(fit) $(vfat_image) $(uboot_fit) $(spl_bin_normal_out) + @echo + @echo "This image has been generated for an ISA of $(ISA) and an ABI of $(ABI)" + @echo "Find the image in work/image.fit, which should be copied to an MSDOS boot partition 1" + @echo + @echo "To completely erase, reformat, and program a disk sdX, run:" + @echo " make DISK=/dev/sdX format-boot-loader" + @echo " ... you will need gdisk and e2fsprogs installed" + @echo " Please note this will not currently format the SDcard ext4 partition" + @echo " This can be done manually if needed" + @echo + +check_arg: +ifeq ( , $(filter $(HWBOARD), visionfive2 evb fpga)) + $(error board $(HWBOARD) is not supported, BOARD=[visionfive2 | evb | fpga(deflault)]) +endif + +# TODO: depracated for now +#ifneq ($(RISCV),$(buildroot_initramfs_wrkdir)/host) +#$(target_gcc): +# $(error The RISCV environment variable was set, but is not pointing at a toolchain install tree) +#else +#$(target_gcc): $(buildroot_initramfs_tar) +#endif + +.PHONY: visionfive2 evb fpga + +visionfive2: HWBOARD := visionfive2 +visionfive2: HWBOARD_FLAG := HWBOARD_VISIONFIVE2 +visionfive2: uboot_config := starfive_$(HWBOARD)_defconfig +visionfive2: uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb +visionfive2: linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_visionfive2_defconfig +visionfive2: uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img +visionfive2: vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part +visionfive2: its_file=$(confdir)/$(HWBOARD)-fit-image.its +visionfive2: uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its +visionfive2: all + +evb: HWBOARD := evb +evb: HWBOARD_FLAG := HWBOARD_EVB +evb: uboot_config := starfive_$(HWBOARD)_defconfig +evb: uboot_dtb_file := $(wrkdir)/u-boot/arch/riscv/dts/starfive_$(HWBOARD).dtb +evb: linux_defconfig := $(linux_srcdir)/arch/riscv/configs/starfive_jh7110_defconfig +evb: uboot_fit := $(wrkdir)/$(HWBOARD)_fw_payload.img +evb: vfat_image := $(wrkdir)/starfive-$(HWBOARD)-vfat.part +evb: its_file=$(confdir)/$(HWBOARD)-fit-image.its +evb: uboot_its_file=$(confdir)/$(HWBOARD)-uboot-fit-image.its +evb: all + +fpga: HWBOARD := fpga +fpga: all +fpga: HWBOARD_FLAG := HWBOARD_FPGA + +$(version): + cd $(linux_srcdir) && \ + sh $(confdir)/version > $(version) + chmod 777 $(version) + +$(buildroot_initramfs_wrkdir)/.config: $(buildroot_srcdir) +# rm -rf $(dir $@) + mkdir -p $(dir $@) + cp $(buildroot_initramfs_config) $@ + $(MAKE) -C $< RISCV=$(RISCV) O=$(buildroot_initramfs_wrkdir) olddefconfig + +# buildroot_initramfs provides gcc +$(buildroot_initramfs_tar): $(buildroot_srcdir) $(buildroot_initramfs_wrkdir)/.config $(buildroot_initramfs_config) + $(MAKE) -C $< RISCV=$(RISCV) O=$(buildroot_initramfs_wrkdir) + +.PHONY: buildroot_initramfs-menuconfig +buildroot_initramfs-menuconfig: $(buildroot_initramfs_wrkdir)/.config $(buildroot_srcdir) + $(MAKE) -C $(dir $<) O=$(buildroot_initramfs_wrkdir) menuconfig + $(MAKE) -C $(dir $<) O=$(buildroot_initramfs_wrkdir) savedefconfig + cp $(dir $<)defconfig $(buildroot_initramfs_config) + +# use buildroot_initramfs toolchain +# TODO: fix path and conf/buildroot_rootfs_config +$(buildroot_rootfs_wrkdir)/.config: $(buildroot_srcdir) $(buildroot_initramfs_tar) +# rm -rf $(dir $@) + mkdir -p $(dir $@) + cp $(buildroot_rootfs_config) $@ + $(MAKE) -C $< RISCV=$(RISCV) PATH=$(RVPATH) O=$(buildroot_rootfs_wrkdir) olddefconfig + +$(buildroot_rootfs_ext): $(buildroot_srcdir) $(buildroot_rootfs_wrkdir)/.config $(target_gcc) $(buildroot_rootfs_config) $(version) + mkdir -p $(buildroot_rootfs_wrkdir)/target/lib + cp -r $(module_install_path)/lib/modules $(buildroot_rootfs_wrkdir)/target/lib/ + mkdir -p $(buildroot_rootfs_wrkdir)/target/usr/bin + cp $(perf_tool_wrkdir)/perf $(buildroot_rootfs_wrkdir)/target/usr/bin/ + cp $(version) $(buildroot_rootfs_wrkdir)/target/usr/bin/version + $(MAKE) -C $< RISCV=$(RISCV) PATH=$(RVPATH) O=$(buildroot_rootfs_wrkdir) + +.PHONY: buildroot_rootfs +buildroot_rootfs: $(buildroot_rootfs_ext) + +.PHONY: buildroot_rootfs-menuconfig +buildroot_rootfs-menuconfig: $(buildroot_rootfs_wrkdir)/.config $(buildroot_srcdir) + $(MAKE) -C $(dir $<) O=$(buildroot_rootfs_wrkdir) menuconfig + $(MAKE) -C $(dir $<) O=$(buildroot_rootfs_wrkdir) savedefconfig + cp $(dir $<)defconfig conf/buildroot_rootfs_config + +$(buildroot_initramfs_sysroot_stamp): $(buildroot_initramfs_tar) + mkdir -p $(buildroot_initramfs_sysroot) + tar -xpf $< -C $(buildroot_initramfs_sysroot) --exclude ./dev --exclude ./usr/share/locale + touch $@ + +$(linux_wrkdir)/.config: $(linux_defconfig) $(linux_srcdir) + mkdir -p $(dir $@) + cp -p $< $@ + $(MAKE) -C $(linux_srcdir) O=$(linux_wrkdir) CROSS_COMPILE=$(CROSS_COMPILE) ARCH=riscv olddefconfig + +$(uboot_wrkdir)/.config: $(uboot_defconfig) + mkdir -p $(dir $@) + cp -p $< $@ + $(MAKE) -C $(uboot_srcdir) O=$(uboot_wrkdir) CROSS_COMPILE=$(CROSS_COMPILE) ARCH=riscv olddefconfig + +$(vmlinux): $(linux_srcdir) $(linux_wrkdir)/.config $(target_gcc) + $(MAKE) -C $< O=$(linux_wrkdir) \ + ARCH=riscv \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + PATH=$(RVPATH) \ + vmlinux \ + all \ + modules + $(MAKE) -C $< O=$(linux_wrkdir) \ + ARCH=riscv \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + PATH=$(RVPATH) \ + INSTALL_MOD_PATH=$(module_install_path) \ + modules_install + +vpudriver-build: $(vmlinux) + $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ + INSTALL_MOD_PATH=$(module_install_path) wave511driver + $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ + INSTALL_MOD_PATH=$(module_install_path) wave420ldriver + $(MAKE) -C $(buildroot_initramfs_wrkdir) O=$(buildroot_initramfs_wrkdir) \ + INSTALL_MOD_PATH=$(module_install_path) codaj12driver + +$(perf_tool_wrkdir)/perf: $(linux_srcdir) $(vmlinux) + mkdir -p $(perf_tool_wrkdir) + $(MAKE) -C $(perf_tool_srcdir) O=$(perf_tool_wrkdir)/ \ + ARCH=riscv \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + WERROR=0 NO_GTK2=1 NO_LIBPERL=1 \ + NO_LIBBIONIC=1 + +.PHONY: perf +perf: $(perf_tool_wrkdir)/perf + +.PHONY: initrd +initrd: $(initramfs) + +$(initramfs).d: $(buildroot_initramfs_sysroot) + $(linux_srcdir)/usr/gen_initramfs_list.sh -l $(confdir)/initramfs.txt $(buildroot_initramfs_sysroot) > $@ + +$(initramfs): $(buildroot_initramfs_sysroot) $(vmlinux) vpudriver-build $(version) $(perf_tool_wrkdir)/perf + cp -r $(module_install_path)/lib/modules $(buildroot_initramfs_sysroot)/lib/ + cp $(perf_tool_wrkdir)/perf $(buildroot_initramfs_sysroot)/usr/bin/ + cp $(version) $(buildroot_initramfs_sysroot)/usr/bin/version && \ + cd $(linux_wrkdir) && \ + $(linux_srcdir)/usr/gen_initramfs_list.sh \ + -o $@ -u $(shell id -u) -g $(shell id -g) \ + $(confdir)/initramfs.txt \ + $(buildroot_initramfs_sysroot) + +$(vmlinux_stripped): $(vmlinux) + PATH=$(RVPATH) $(target)-strip -o $@ $< + +$(vmlinux_bin): $(vmlinux) + PATH=$(RVPATH) $(target)-objcopy -O binary $< $@ + +.PHONY: linux-menuconfig +linux-menuconfig: $(linux_wrkdir)/.config + $(MAKE) -C $(linux_srcdir) O=$(dir $<) ARCH=riscv CROSS_COMPILE=$(CROSS_COMPILE) menuconfig + $(MAKE) -C $(linux_srcdir) O=$(dir $<) ARCH=riscv CROSS_COMPILE=$(CROSS_COMPILE) savedefconfig + cp $(dir $<)defconfig $(linux_defconfig) + +# Note: opensbi generic platform default FW_TEXT_START is 0x80000000 +# For JH7110, need to specify the FW_TEXT_START to 0x40000000 +# Otherwise, the fw_payload.bin downloading via jtag will not run. +# not affect the evb_fw_payload.img for its file has FW_TEXT_START +$(sbi_bin): $(uboot) $(vmlinux) + rm -rf $(sbi_wrkdir) + mkdir -p $(sbi_wrkdir) + cd $(sbi_wrkdir) && O=$(sbi_wrkdir) CFLAGS="-mabi=$(ABI) -march=$(ISA)" ${MAKE} -C $(sbi_srcdir) CROSS_COMPILE=$(CROSS_COMPILE) \ + PLATFORM=generic FW_PAYLOAD_PATH=$(uboot) FW_FDT_PATH=$(uboot_dtb_file) FW_TEXT_START=0x40000000 + +$(fit): $(sbi_bin) $(vmlinux_bin) $(uboot) $(its_file) ${initramfs} + $(uboot_wrkdir)/tools/mkimage -f $(its_file) -A riscv -O linux -T flat_dt $@ + @if [ -f fsz.sh ]; then ./fsz.sh $(sbi_bin); fi + +$(libfesvr): $(fesvr_srcdir) + rm -rf $(fesvr_wrkdir) + mkdir -p $(fesvr_wrkdir) + mkdir -p $(dir $@) + cd $(fesvr_wrkdir) && $ +# cat vf2-overlay-uart3-i2c.dtbo > /sys/kernel/config/device-tree/overlays/dtoverlay/dtbo +``` + +Additional, you could remove the dtbo feature: + +``` +# rmdir /sys/kernel/config/device-tree/overlays/dtoverlay +``` + +## APPENDIX III: Updating SPL and U-Boot binaries Under U-boot + +Prepare the tftp sever. e.g. `sudo apt install tftpd-hpa` for Ubuntu host. + +1. Power on the VisionFive2 board and wait until enters the u-boot command line + +2. Configure the environment variables by executing: + + ``` + StarFive # setenv ipaddr 192.168.120.222;setenv serverip 192.168.120.99 + ``` + +3. Check the connectivity by pinging the host PC from evaluation board; + +4. Initialize SPI flash: + + ``` + StarFive # sf probe + ``` + +5. Update SPL binary + + ``` + StarFive # tftpboot ${loadaddr} u-boot-spl.bin.normal.out + StarFive # sf update ${loadaddr} 0x0 $filesize + ``` + +6. Update U-Boot binary + + ``` + StarFive # tftpboot ${loadaddr} visionfive2_fw_payload.img + StarFive # sf update ${loadaddr} 0x100000 $filesize + ``` + +## APPENDIX IV: Recovering Bootloader + +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. + +Please jump to https://github.com/starfive-tech/Tools for more details diff --git a/bsp/env/freedom-u500-unleashed/openocd.cfg b/bsp/env/freedom-u500-unleashed/openocd.cfg new file mode 100644 index 0000000..7589897 --- /dev/null +++ b/bsp/env/freedom-u500-unleashed/openocd.cfg @@ -0,0 +1,24 @@ +adapter_khz 10000 + +interface ftdi +ftdi_device_desc "Dual RS232-HS" +ftdi_vid_pid 0x0403 0x6010 + +ftdi_layout_init 0x0008 0x001b +ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME -rtos riscv +$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME 0x10040000 +init +halt + +# Uncomment this if you want to be able to clobber your SPI Flash, which +# probably you don't since you can do it through Linux + +# flash protect 0 0 last off diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..e838ccd --- /dev/null +++ b/build.sh @@ -0,0 +1,101 @@ +#!/bin/bash +################################################################## +## ## +## SPDX-License-Identifier: GPL-2.0-or-later ## +## ## +## Copyright (C) 2018-2022 Starfive Technology ## +## ## +## Author: jason zhou ## +## ## +################################################################## + +COLOR_NORMAL="\033[0m" +COLOR_GREEN="\033[1;32m" +COLOR_YELLOW="\033[1;33m" +COLOR_RED="\033[1;31m" +COLOR_GREY="\033[1;30m" + +printf ${COLOR_GREEN} +printf "JH7110 Build Script" +echo $0 $1 + +#default +cpu_numb_input="1" + +#real cpu number +num=`cat /proc/cpuinfo | grep "processor" | wc -l` + +if [ $1 ] +then + #cmdline para input cpu processor number + echo $1 + cpu_numb_input=$1 +else + + printf "please input the cpu number to perform concurrent build, choose 1 ~ $num:\n" + read cpu_numb_input + +fi + +if (( $cpu_numb_input > $num )) +then + echo "input > $num error, exit" + exit 1 +fi +if (( $cpu_numb_input < 1 )) +then + echo "input < 1 error, exit" + exit 1 +fi + +printf ${COLOR_NORMAL} + +# clean all including rootfs +#rm -rf work/ + +# clean kernel built +#make clean + +tag=`git describe` +echo "make -j$cpu_numb_input > build.$tag.log" +make -j$cpu_numb_input | tee build.$tag.log + +if (( $? > 0 )) +then + echo "build failed! exit!" + exit 1 +fi + +echo "./build_soft_3rdpart.sh >> build.$tag.log" +./build_soft_3rdpart.sh | tee -a build.$tag.log + +if (( $? > 0 )) +then + echo "build 3rd part software failed! exit!" + exit 1 +fi + + +echo "rm initramfs, than rebuild" +rm -rf work/initramfs.cpio.gz | tee -a build.$tag.log + +echo "make -j$cpu_numb_input >> build.$tag.log" +make -j$cpu_numb_input | tee -a build.$tag.log + +if (( $? > 0 )) +then + echo "build failed! exit!" + exit 1 +else + echo "build images success!!!" +fi + + + +echo "" +echo "Rootfs & Kernel version string:" | tee -a build.$tag.log +strings work/image.fit | grep "JH7110_51" | tee -a build.$tag.log + +echo "" +echo "u-boot version string:" | tee -a build.$tag.log +strings work/u-boot/u-boot.bin | grep "JH7110_51" | tee -a build.$tag.log diff --git a/build_soft_3rdpart.sh b/build_soft_3rdpart.sh new file mode 100755 index 0000000..0de1e96 --- /dev/null +++ b/build_soft_3rdpart.sh @@ -0,0 +1,88 @@ +#!/bin/bash +TOP_DIR=$(pwd) + +# parse the args to install to initramfs or rootfs target path +if [ $# -eq 0 ]; then + Target_DIR="$TOP_DIR/work/buildroot_initramfs_sysroot/root/" +else + if [ "$1" = "initramfs" ]; then + Target_DIR="$TOP_DIR/work/buildroot_initramfs_sysroot/root/" + elif [ "$1" = "rootfs" ]; then + Target_DIR="$TOP_DIR/work/buildroot_rootfs/target/root/" + else + echo "Usage: $0 [initramfs|rootfs]" + echo "If not specify args, the default is initramfs" + echo "For example:" + echo " $0"; + echo " $0 initramfs"; + echo " $0 rootfs"; + exit 1 + fi +fi +echo "$Target_DIR" + +if [ ! -d $Target_DIR ]; then + echo "Warning: need building the usdk firstly: $1" + exit 1 +fi + +################################################################ +# 1. jpu drvier and test script +JPU_SRC_DIR="./soft_3rdpart/codaj12/" +if [ -d $Target_DIR/jpu_driver ]; then + rm -rf $Target_DIR/jpu_driver +fi +cd $JPU_SRC_DIR && ./build_for_riscv.sh && cp -ar jpu_driver/ $Target_DIR/ +cd $TOP_DIR +echo "install jpu ok" + +################################################################ +# 2. vpu dec drvier and test script +VDEC_SRC_DIR="./soft_3rdpart/wave511/code/" +if [ -d $Target_DIR/vdec_driver ]; then + rm -rf $Target_DIR/vdec_driver +fi +cd $VDEC_SRC_DIR && ./build_for_vdec.sh && cp -ar vdec_driver/ $Target_DIR/ +cd $TOP_DIR +echo "install vdec ok" + +################################################################ +# 3. vpu enc drvier and test script +VENC_SRC_DIR="./soft_3rdpart/wave420l/code/" +if [ -d $Target_DIR/venc_driver ]; then + rm -rf $Target_DIR/venc_driver +fi +cd $VENC_SRC_DIR && ./build.sh && cp -ar venc_driver/ $Target_DIR/ +cd $TOP_DIR +echo "install venc ok" + +################################################################ +# 4. mailbox driver and test demo +# How to test: refer to soft_3rdpart/mailbox/mailbox_test.docx +if [ -d $Target_DIR/mailbox ]; then + rm -rf $Target_DIR/mailbox +fi +mkdir -p $Target_DIR/mailbox +cp work/linux/drivers/mailbox/starfive_mailbox.ko \ + work/linux/drivers/mailbox/starfive_mailbox-test.ko \ + soft_3rdpart/mailbox/read_test $Target_DIR/mailbox +chmod +x $Target_DIR/mailbox/read_test +echo "install mailbox ok" + +################################################################ +# 5. e24 driver and test demo +# How to test: refer to soft_3rdpart/e24/e24_test.docx +if [ -d $Target_DIR/e24 ]; then + rm -rf $Target_DIR/e24 +fi +mkdir -p $Target_DIR/e24 +# install e24 firmware +cp soft_3rdpart/e24/e24_elf $Target_DIR/../lib/firmware/ +# install e24 driver and test demo +cp work/linux/drivers/e24/e24.ko \ + soft_3rdpart/e24/e24_share_mem $Target_DIR/e24 +echo "install e24 ok" + +################################################################ +# 6. xrp driver +cp work/linux/drivers/xrp/xrp.ko $Target_DIR/ diff --git a/buildroot b/buildroot new file mode 160000 index 0000000..e949835 --- /dev/null +++ b/buildroot @@ -0,0 +1 @@ +Subproject commit e9498352a8e131dbd2b369e3b8d7febeb3afe78f diff --git a/conf/buildroot_initramfs_config b/conf/buildroot_initramfs_config new file mode 100755 index 0000000..99dfb93 --- /dev/null +++ b/conf/buildroot_initramfs_config @@ -0,0 +1,274 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVF=y +BR2_RISCV_ISA_CUSTOM_RVD=y +BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_STRIP_EXCLUDE_FILES="ipa_starfive.so* libcamera-base.so* libcamera.so* libgstlibcamera.so v4l2-compat.so starfive_ipa_proxy" +BR2_KERNEL_HEADERS_CUSTOM_GIT=y +BR2_KERNEL_HEADERS_CUSTOM_REPO_URL="git@192.168.110.45:sbc/linux.git" +BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION="vf2-6.1.y-devel" +BR2_PACKAGE_GLIBC_UTILS=y +BR2_BINUTILS_VERSION_2_39_X=y +BR2_GCC_VERSION_12_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_GCC_ENABLE_LTO=y +BR2_GCC_ENABLE_OPENMP=y +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_HOST_GDB_TUI=y +BR2_PACKAGE_HOST_GDB_PYTHON3=y +BR2_PACKAGE_HOST_GDB_SIM=y +BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_ROOT_PASSWD="starfive" +BR2_SYSTEM_DHCP="eth0" +BR2_SYSTEM_DHCP_DUAL="eth1" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_ALSACONF=y +BR2_PACKAGE_ALSA_UTILS_ALSALOOP=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_ALSA_UTILS_ASEQDUMP=y +BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y +BR2_PACKAGE_BLUEZ_ALSA=y +BR2_PACKAGE_BLUEZ_ALSA_HCITOP=y +BR2_PACKAGE_BLUEZ_ALSA_RFCOMM=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_FFPROBE=y +BR2_PACKAGE_FFMPEG_AVRESAMPLE=y +BR2_PACKAGE_FFMPEG_POSTPROC=y +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y +BR2_PACKAGE_GST1_PLUGINS_BAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y +BR2_PACKAGE_GST1_PLUGINS_UGLY=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y +BR2_PACKAGE_GST1_DEVTOOLS=y +BR2_PACKAGE_GST1_INTERPIPE=y +BR2_PACKAGE_GST1_LIBAV=y +BR2_PACKAGE_GST1_RTSP_SERVER=y +BR2_PACKAGE_GST1_SHARK=y +BR2_PACKAGE_GSTD=y +BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES=y +BR2_PACKAGE_CACHE_CALIBRATOR=y +BR2_PACKAGE_DHRYSTONE=y +BR2_PACKAGE_FIO=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_IOZONE=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_RAMSMP=y +BR2_PACKAGE_RAMSPEED=y +BR2_PACKAGE_RT_TESTS=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_STRESS_NG=y +BR2_PACKAGE_WHETSTONE=y +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_EXFAT=y +BR2_PACKAGE_EXFAT_UTILS=y +BR2_PACKAGE_EXFATPROGS=y +BR2_PACKAGE_MTD=y +# BR2_PACKAGE_MTD_NANDDUMP is not set +# BR2_PACKAGE_MTD_NANDTEST is not set +# BR2_PACKAGE_MTD_NANDWRITE is not set +# BR2_PACKAGE_MTD_UBIATTACH is not set +# BR2_PACKAGE_MTD_UBICRC32 is not set +# BR2_PACKAGE_MTD_UBIDETACH is not set +# BR2_PACKAGE_MTD_UBIFORMAT is not set +# BR2_PACKAGE_MTD_UBIMKVOL is not set +# BR2_PACKAGE_MTD_UBINFO is not set +# BR2_PACKAGE_MTD_UBINIZE is not set +# BR2_PACKAGE_MTD_UBIRENAME is not set +# BR2_PACKAGE_MTD_UBIRMVOL is not set +# BR2_PACKAGE_MTD_UBIRSVOL is not set +# BR2_PACKAGE_MTD_UBIUPDATEVOL is not set +# BR2_PACKAGE_MTD_UBIBLOCK is not set +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_DEJAVU=y +BR2_PACKAGE_GLMARK2=y +BR2_PACKAGE_WESTON=y +BR2_PACKAGE_WESTON_DEMO_CLIENTS=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_AX210=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +# BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_GDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_LM_SENSORS=y +BR2_PACKAGE_MEMTESTER=y +BR2_PACKAGE_OFONO=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_PCIUTILS=y +BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_GNUTLS_OPENSSL=y +BR2_PACKAGE_LIBKCAPI=y +BR2_PACKAGE_LIBKCAPI_ENCAPP=y +BR2_PACKAGE_LIBKCAPI_RNGAPP=y +BR2_PACKAGE_LIBKCAPI_SPEED=y +BR2_PACKAGE_LIBKCAPI_TEST=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_WAYLAND_UTILS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_LIBGPIOD=y +BR2_PACKAGE_LIBGPIOD_TOOLS=y +BR2_PACKAGE_LIBV4L_UTILS=y +BR2_PACKAGE_LIBCAMERA=y +BR2_PACKAGE_LIBCAMERA_V4L2=y +BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y +BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBCURL_VERBOSE=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_LIBCAP_TOOLS=y +BR2_PACKAGE_BLUEZ_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y +BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS=y +BR2_PACKAGE_BLUEZ5_UTILS_TEST=y +BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y +BR2_PACKAGE_BRCM_PATCHRAM_PLUS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_SERVER=y +BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_HOSTAPD_EAP=y +BR2_PACKAGE_HOSTAPD_WPS=y +BR2_PACKAGE_HOSTAPD_WPA3=y +BR2_PACKAGE_IFPLUGD=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPERF3=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y +BR2_PACKAGE_PHYTOOL=y +BR2_PACKAGE_SSHPASS=y +BR2_PACKAGE_TCPDUMP=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_SCREEN=y +BR2_PACKAGE_ANDROID_TOOLS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_MULTIPATH_TOOLS=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_UTIL_LINUX_MOUNT=y +BR2_PACKAGE_WAVE511=y +BR2_PACKAGE_WAVE420L=y +BR2_PACKAGE_CODAJ12=y +BR2_PACKAGE_SF_OMX_IL=y +BR2_PACKAGE_SF_OMX_IL_TEST=y +BR2_PACKAGE_V4L2_TEST=y +BR2_PACKAGE_LIBCAMERA_APPS=y +BR2_PACKAGE_SF_GST_OMX=y +BR2_PACKAGE_ISPSDK=y +BR2_PACKAGE_MAILBOX_TEST=y +BR2_PACKAGE_E24_TEST=y +BR2_PACKAGE_IMG_GPU_POWERVR=y +BR2_PACKAGE_IMG_GPU_POWERVR_OUTPUT_WL=y +BR2_PACKAGE_IMG_GPU_POWERVR_EXAMPLES=y +BR2_PACKAGE_IMG_GPU_POWERVR_GMEM_INFO=y +BR2_PACKAGE_DRM_TEST=y +BR2_PACKAGE_PM=y +BR2_PACKAGE_V4L2_DEC_TEST=y +BR2_PACKAGE_STARFIVE_FIRMWARE=y +BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI=y +BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI=y +BR2_PACKAGE_HOST_GENEXT2FS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_SQUASHFS=y +BR2_PACKAGE_HOST_STFISP_SETFILE=y diff --git a/conf/buildroot_rootfs_config b/conf/buildroot_rootfs_config new file mode 100644 index 0000000..0310511 --- /dev/null +++ b/conf/buildroot_rootfs_config @@ -0,0 +1,304 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVF=y +BR2_RISCV_ISA_CUSTOM_RVD=y +BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_STRIP_EXCLUDE_FILES="ipa_starfive.so* libcamera-base.so* libcamera.so* libgstlibcamera.so v4l2-compat.so starfive_ipa_proxy" +BR2_KERNEL_HEADERS_CUSTOM_GIT=y +BR2_KERNEL_HEADERS_CUSTOM_REPO_URL="git@192.168.110.45:sbc/linux.git" +BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION="vf2-6.1.y-devel" +BR2_PACKAGE_GLIBC_UTILS=y +BR2_BINUTILS_VERSION_2_39_X=y +BR2_GCC_VERSION_12_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_GCC_ENABLE_LTO=y +BR2_GCC_ENABLE_OPENMP=y +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_HOST_GDB_TUI=y +BR2_PACKAGE_HOST_GDB_PYTHON3=y +BR2_PACKAGE_HOST_GDB_SIM=y +BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_INIT_SYSV=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_ROOT_PASSWD="starfive" +BR2_SYSTEM_DHCP="eth0" +BR2_SYSTEM_DHCP_DUAL="eth1" +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_ALSACONF=y +BR2_PACKAGE_ALSA_UTILS_ALSALOOP=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_ALSA_UTILS_ASEQDUMP=y +BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y +BR2_PACKAGE_BLUEZ_ALSA=y +BR2_PACKAGE_BLUEZ_ALSA_HCITOP=y +BR2_PACKAGE_BLUEZ_ALSA_RFCOMM=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_FFPROBE=y +BR2_PACKAGE_FFMPEG_AVRESAMPLE=y +BR2_PACKAGE_FFMPEG_POSTPROC=y +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y +BR2_PACKAGE_GST1_PLUGINS_BAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y +BR2_PACKAGE_GST1_PLUGINS_UGLY=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y +BR2_PACKAGE_GST1_DEVTOOLS=y +BR2_PACKAGE_GST1_INTERPIPE=y +BR2_PACKAGE_GST1_LIBAV=y +BR2_PACKAGE_GST1_RTSP_SERVER=y +BR2_PACKAGE_GST1_SHARK=y +BR2_PACKAGE_GSTD=y +BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES=y +BR2_PACKAGE_CACHE_CALIBRATOR=y +BR2_PACKAGE_DHRYSTONE=y +BR2_PACKAGE_FIO=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_IOZONE=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_RAMSMP=y +BR2_PACKAGE_RAMSPEED=y +BR2_PACKAGE_RT_TESTS=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_STRESS_NG=y +BR2_PACKAGE_WHETSTONE=y +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_EXFAT=y +BR2_PACKAGE_EXFAT_UTILS=y +BR2_PACKAGE_EXFATPROGS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_DEJAVU=y +BR2_PACKAGE_GLMARK2=y +BR2_PACKAGE_WESTON=y +BR2_PACKAGE_WESTON_DEMO_CLIENTS=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_AX210=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +# BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_GDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_LM_SENSORS=y +BR2_PACKAGE_MEMTESTER=y +BR2_PACKAGE_OFONO=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_PCIUTILS=y +BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_PERL=y +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_GNUTLS_OPENSSL=y +BR2_PACKAGE_LIBKCAPI=y +BR2_PACKAGE_LIBKCAPI_ENCAPP=y +BR2_PACKAGE_LIBKCAPI_RNGAPP=y +BR2_PACKAGE_LIBKCAPI_SPEED=y +BR2_PACKAGE_LIBKCAPI_TEST=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_WAYLAND_UTILS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_LIBGPIOD=y +BR2_PACKAGE_LIBGPIOD_TOOLS=y +BR2_PACKAGE_LIBV4L_UTILS=y +BR2_PACKAGE_LIBCAMERA=y +BR2_PACKAGE_LIBCAMERA_V4L2=y +BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y +BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBCURL_VERBOSE=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_LIBCAP_TOOLS=y +BR2_PACKAGE_MSMTP=y +BR2_PACKAGE_BLUEZ_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y +BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS=y +BR2_PACKAGE_BLUEZ5_UTILS_TEST=y +BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y +BR2_PACKAGE_BRCM_PATCHRAM_PLUS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_SERVER=y +BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_HOSTAPD_EAP=y +BR2_PACKAGE_HOSTAPD_WPS=y +BR2_PACKAGE_HOSTAPD_WPA3=y +BR2_PACKAGE_IFPLUGD=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPERF3=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_IPUTILS=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y +BR2_PACKAGE_PHYTOOL=y +BR2_PACKAGE_SSHPASS=y +BR2_PACKAGE_TCPDUMP=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_SCREEN=y +BR2_PACKAGE_ANDROID_TOOLS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_MULTIPATH_TOOLS=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_AGETTY=y +BR2_PACKAGE_UTIL_LINUX_BFS=y +BR2_PACKAGE_UTIL_LINUX_CRAMFS=y +BR2_PACKAGE_UTIL_LINUX_EJECT=y +BR2_PACKAGE_UTIL_LINUX_FALLOCATE=y +BR2_PACKAGE_UTIL_LINUX_FDFORMAT=y +BR2_PACKAGE_UTIL_LINUX_FSCK=y +BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y +BR2_PACKAGE_UTIL_LINUX_KILL=y +BR2_PACKAGE_UTIL_LINUX_LAST=y +BR2_PACKAGE_UTIL_LINUX_LINE=y +BR2_PACKAGE_UTIL_LINUX_LOSETUP=y +BR2_PACKAGE_UTIL_LINUX_MESG=y +BR2_PACKAGE_UTIL_LINUX_MINIX=y +BR2_PACKAGE_UTIL_LINUX_MORE=y +BR2_PACKAGE_UTIL_LINUX_MOUNT=y +BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y +BR2_PACKAGE_UTIL_LINUX_NEWGRP=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_UTIL_LINUX_NSENTER=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT=y +BR2_PACKAGE_UTIL_LINUX_RENAME=y +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +BR2_PACKAGE_UTIL_LINUX_SETPRIV=y +BR2_PACKAGE_UTIL_LINUX_SETTERM=y +BR2_PACKAGE_UTIL_LINUX_SULOGIN=y +BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT=y +BR2_PACKAGE_UTIL_LINUX_TUNELP=y +BR2_PACKAGE_UTIL_LINUX_UL=y +BR2_PACKAGE_UTIL_LINUX_UNSHARE=y +BR2_PACKAGE_UTIL_LINUX_UTMPDUMP=y +BR2_PACKAGE_UTIL_LINUX_UUIDD=y +BR2_PACKAGE_UTIL_LINUX_VIPW=y +BR2_PACKAGE_UTIL_LINUX_WALL=y +BR2_PACKAGE_UTIL_LINUX_WDCTL=y +BR2_PACKAGE_UTIL_LINUX_WRITE=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_PACKAGE_WAVE511=y +BR2_PACKAGE_WAVE420L=y +BR2_PACKAGE_CODAJ12=y +BR2_PACKAGE_SF_OMX_IL=y +BR2_PACKAGE_SF_OMX_IL_TEST=y +BR2_PACKAGE_V4L2_TEST=y +BR2_PACKAGE_LIBCAMERA_APPS=y +BR2_PACKAGE_SF_GST_OMX=y +BR2_PACKAGE_ISPSDK=y +BR2_PACKAGE_MAILBOX_TEST=y +BR2_PACKAGE_E24_TEST=y +BR2_PACKAGE_IMG_GPU_POWERVR=y +BR2_PACKAGE_IMG_GPU_POWERVR_OUTPUT_WL=y +BR2_PACKAGE_IMG_GPU_POWERVR_EXAMPLES=y +BR2_PACKAGE_IMG_GPU_POWERVR_GMEM_INFO=y +BR2_PACKAGE_DRM_TEST=y +BR2_PACKAGE_PM=y +BR2_PACKAGE_V4L2_DEC_TEST=y +BR2_PACKAGE_STARFIVE_FIRMWARE=y +BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI=y +BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI=y +BR2_PACKAGE_HIFI4_SOF=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="500M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_GENEXT2FS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_STFISP_SETFILE=y diff --git a/conf/evb-fit-image.its b/conf/evb-fit-image.its new file mode 100644 index 0000000..eae876a --- /dev/null +++ b/conf/evb-fit-image.its @@ -0,0 +1,55 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for jh7110-evb"; + #address-cells = <2>; + + images { + vmlinux { + description = "vmlinux"; + data = /incbin/("../work/linux/arch/riscv/boot/Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x40200000>; + entry = <0x0 0x40200000>; + compression = "none"; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x46100000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-evb.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x0 0x46000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "jh7110-evb with opensbi"; + kernel = "vmlinux"; + fdt = "fdt"; + loadables = "ramdisk"; + }; + }; +}; + diff --git a/conf/evb-uboot-fit-image.its b/conf/evb-uboot-fit-image.its new file mode 100644 index 0000000..6834f41 --- /dev/null +++ b/conf/evb-uboot-fit-image.its @@ -0,0 +1,29 @@ +/dts-v1/; + +/ { + description = "U-boot-spl FIT image for JH7110 EVB"; + #address-cells = <2>; + + images { + firmware { + description = "u-boot"; + data = /incbin/("../work/opensbi/platform/generic/firmware/fw_payload.bin"); + type = "firmware"; + arch = "riscv"; + os = "u-boot"; + load = <0x0 0x40000000>; + entry = <0x0 0x40000000>; + compression = "none"; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "U-boot-spl FIT config for JH7110 EVB"; + firmware = "firmware"; + }; + }; +}; + diff --git a/conf/fpga-fit-image.its b/conf/fpga-fit-image.its new file mode 100644 index 0000000..bebd699 --- /dev/null +++ b/conf/fpga-fit-image.its @@ -0,0 +1,55 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for jh7110-fpga"; + #address-cells = <2>; + + images { + vmlinux { + description = "vmlinux"; + data = /incbin/("../work/linux/arch/riscv/boot/Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x40200000>; + entry = <0x0 0x40200000>; + compression = "none"; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x46100000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-fpga.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x0 0x46000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "jh7110-fpga with opensbi"; + kernel = "vmlinux"; + fdt = "fdt"; + loadables = "ramdisk"; + }; + }; +}; + diff --git a/conf/genimage-vf2.cfg b/conf/genimage-vf2.cfg new file mode 100644 index 0000000..94a93f1 --- /dev/null +++ b/conf/genimage-vf2.cfg @@ -0,0 +1,35 @@ +image sdcard.img { + hdimage { + gpt = true + } + + partition spl { + image = "work/u-boot-spl.bin.normal.out" + partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 + offset = 2M + size = 2M + } + + partition uboot { + image = "work/visionfive2_fw_payload.img" + partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47 + offset = 4M + size = 4M + } + + partition image { + # partition-type = 0xC + partition-type-uuid = EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 + image = "work/starfive-visionfive2-vfat.part" + offset = 8M + size = 292M + } + + partition root { + # partition-type = 0x83 + partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 + image = "work/buildroot_rootfs/images/rootfs.ext4" + offset = 300M + bootable = true + } +} diff --git a/conf/genimage.cfg b/conf/genimage.cfg new file mode 100644 index 0000000..dfcdbef --- /dev/null +++ b/conf/genimage.cfg @@ -0,0 +1,35 @@ +image sdcard.img { + hdimage { + gpt = true + } + + partition spl { + image = "work/u-boot-spl.bin.normal.out" + partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 + offset = 2M + size = 2M + } + + partition uboot { + image = "work/evb_fw_payload.img" + partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47 + offset = 4M + size = 4M + } + + partition image { + # partition-type = 0xC + partition-type-uuid = EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 + image = "work/starfive-evb-vfat.part" + offset = 8M + size = 292M + } + + partition root { + # partition-type = 0x83 + partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 + image = "work/buildroot_rootfs/images/rootfs.ext4" + offset = 300M + bootable = true + } +} diff --git a/conf/initramfs.txt b/conf/initramfs.txt new file mode 100644 index 0000000..9dd3695 --- /dev/null +++ b/conf/initramfs.txt @@ -0,0 +1,3 @@ +dir /dev 755 0 0 +nod /dev/console 644 0 0 c 5 1 +nod /dev/null 644 0 0 c 1 3 diff --git a/conf/jh7110_uEnv.txt b/conf/jh7110_uEnv.txt new file mode 100644 index 0000000..c8b74c1 --- /dev/null +++ b/conf/jh7110_uEnv.txt @@ -0,0 +1,32 @@ +# This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot +# The current convention (SUBJECT TO CHANGE) is that this file +# will be loaded from the third partition on the +# MMC card. +devnum=0 +partnum=3 + +# The FIT file to boot from +fitfile=starfiveu.fit + +# for debugging boot +bootargs=earlyprintk console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/mmcblk0p4 + +# for addr info +fileaddr=0xa0000000 +fdtaddr=0x46000000 +# boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' +kernel_addr_r=0x40200000 +irdaddr=0x46100000 +irdsize=0x5f00000 + +# Use the FDT in the FIT image.. +setupfdt1=fdt addr ${fdtaddr} + +setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> + +setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt print /chosen + +bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done + +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} + diff --git a/conf/linux_415_nvdla_defconfig b/conf/linux_415_nvdla_defconfig new file mode 100755 index 0000000..b1ec6d8 --- /dev/null +++ b/conf/linux_415_nvdla_defconfig @@ -0,0 +1,127 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_PCI=y +CONFIG_PCI_DEBUG=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIE_XDMA_PL=y +CONFIG_PCIE_MICROSEMI=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +CONFIG_SYSVIPC=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_EMBEDDED=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_SATA_MV=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSE is not set +CONFIG_SERIAL_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +# CONFIG_HVC_RISCV_SBI is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +# CONFIG_VGA_ARB is not set +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT2_FS=y +CONFIG_EXT4_FS=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_DNOTIFY is not set +CONFIG_AUTOFS4_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_UTF8=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/sda1" +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set +# CONFIG_BLK_DEV_INITRD is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_CONSOLE=y +CONFIG_HVC_RISCV_SBI=y diff --git a/conf/linux_419_defconfig b/conf/linux_419_defconfig new file mode 100755 index 0000000..55b8e80 --- /dev/null +++ b/conf/linux_419_defconfig @@ -0,0 +1,246 @@ +CONFIG_LOCALVERSION="-sifive-1" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_DEFAULT_HOSTNAME="riscv" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUP_BPF=y +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_BPF_SYSCALL=y +CONFIG_EMBEDDED=y +CONFIG_STARFIVE_VIC_SOC=y +CONFIG_FPGA_GMAC_SPEED_AUTO=y +CONFIG_SMP=y +CONFIG_HZ_100=y +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk console=tty1 console=ttyS0,115200 debug rootwait stmmaceth=chain_mode:1" +CONFIG_CMDLINE_FORCE=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_PCIE_ECRC=y +CONFIG_PCIE_DPC=y +CONFIG_PCIE_PTM=y +CONFIG_PCI_DEBUG=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_IOV=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIE_MICROSEMI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_ZONED=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMA=y +CONFIG_CMA_DEBUGFS=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_DNS_RESOLVER=y +CONFIG_NETLINK_DIAG=y +CONFIG_RXKAD=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +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" +CONFIG_DMA_CMA=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_FC=y +CONFIG_NVME_TARGET=m +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_SATA_SIL24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_E1000E=y +CONFIG_R8169=y +CONFIG_STMMAC_ETH=y +CONFIG_MARVELL_PHY=y +CONFIG_MICROSEMI_PHY=y +CONFIG_USB_RTL8150=y +CONFIG_USB_RTL8152=y +CONFIG_USB_USBNET=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_DESIGNWARE_SLAVE=y +CONFIG_I2C_STUB=m +CONFIG_SPI=y +CONFIG_SPI_DESIGNWARE=y +CONFIG_SPI_DW_MMIO=y +CONFIG_SPI_SIFIVE=y +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_VIC=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_PMBUS=y +CONFIG_SENSORS_SFCTMP=y +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +CONFIG_DRM_AMDGPU=y +CONFIG_DRM_AMD_ACP=y +CONFIG_FB_RADEON=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FB_STARFIVE=y +CONFIG_FB_STARFIVE_HDMI_ADV7513=y +CONFIG_LOGO=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_USB_AUDIO=y +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y +CONFIG_USB=y +# CONFIG_USB_PCI is not set +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DBGCAP=y +CONFIG_USB_HCD_TEST_MODE=y +CONFIG_USB_ACM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_UAS=y +CONFIG_USB_CDNS3=y +CONFIG_USB_CDNS3_GADGET=y +CONFIG_USB_CDNS3_HOST=y +CONFIG_USB_CDNS3_HOST_FLUSH_DMA=y +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_GADGETFS=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_ULPI_BUS=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_DMADEVICES=y +CONFIG_DW_AXI_DMAC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_PWM_SIFIVE_PTC=y +CONFIG_SIFIVE_PLIC=y +CONFIG_GENERIC_PHY=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_XFS_FS=m +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_NTFS_FS=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3_ACL=y +CONFIG_ROOT_NFS=y +CONFIG_NFSD=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_AFS_FS=m +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_CRYPTO_ECHAINIV=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_LZ4=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +CONFIG_CRYPTO_USER_API_AKCIPHER=y +CONFIG_CRYPTO_USER_API_KPP=y +CONFIG_CRYPTO_DEV_SIFIVE_VIC_ENCRYPT=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_SPLIT=y +CONFIG_DEBUG_INFO_DWARF4=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIN_SENSOR_OV5640=y +CONFIG_VIDEO_STF_VIN=y diff --git a/conf/linux_59_defconfig b/conf/linux_59_defconfig new file mode 100755 index 0000000..c8fcf5c --- /dev/null +++ b/conf/linux_59_defconfig @@ -0,0 +1,222 @@ +CONFIG_LOCALVERSION="-sifive-1" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_DEFAULT_HOSTNAME="riscv" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_EMBEDDED=y +CONFIG_SOC_STARFIVE_VIC7100=y +CONFIG_SMP=y +CONFIG_CMDLINE="earlyprintk earlycon=sbi console=ttyS0,115200 debug rootwait init=/sbin/init" +CONFIG_CMDLINE_FORCE=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_ZONED=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMA=y +CONFIG_CMA_DEBUGFS=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_DNS_RESOLVER=y +CONFIG_NETLINK_DIAG=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_H4=y +CONFIG_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +CONFIG_FAILOVER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_NVME_FC=y +CONFIG_NVME_TARGET=m +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_NETDEVICES=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_DWC_XLGMAC=y +CONFIG_B43=y +CONFIG_B43_BUSES_BCMA=y +CONFIG_BRCMFMAC=y +CONFIG_BRCM_TRACING=y +CONFIG_BRCMDBG=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_HVC_RISCV_SBI=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_SLAVE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_STUB=m +CONFIG_SPI=y +CONFIG_SPI_DESIGNWARE=y +CONFIG_SPI_DW_MMIO=y +CONFIG_SPI_SIFIVE=y +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_SUPPLY=y +CONFIG_PMBUS=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_DRM=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_USB_AUDIO=y +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y +CONFIG_USB_ULPI_BUS=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DBGCAP=y +CONFIG_USB_HCD_TEST_MODE=y +CONFIG_USB_ACM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_CDNS3=y +CONFIG_USB_CDNS3_GADGET=y +CONFIG_USB_CDNS3_HOST=y +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_GADGETFS=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_RTC_CLASS=y +CONFIG_DMADEVICES=y +CONFIG_DW_AXI_DMAC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_PWM_SIFIVE_PTC=y +CONFIG_GENERIC_PHY=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_XFS_FS=m +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_NTFS_FS=m +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3_ACL=y +CONFIG_ROOT_NFS=y +CONFIG_NFSD=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_AFS_FS=m +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_CRYPTO_ECHAINIV=y +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_LZ4=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +CONFIG_DMA_CMA=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_SPLIT=y +CONFIG_DEBUG_INFO_DWARF4=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_DEBUG_FS=y +CONFIG_STACKTRACE=y diff --git a/conf/linux_defconfig b/conf/linux_defconfig new file mode 100644 index 0000000..c3c0dc5 --- /dev/null +++ b/conf/linux_defconfig @@ -0,0 +1,118 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_PCI=y +CONFIG_PCI_DEBUG=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIE_XDMA_PL=y +CONFIG_PCIE_MICROSEMI=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +CONFIG_SYSVIPC=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_EMBEDDED=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_SATA_MV=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSE is not set +CONFIG_SERIAL_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +# CONFIG_VGA_ARB is not set +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT2_FS=y +CONFIG_EXT4_FS=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_DNOTIFY is not set +CONFIG_AUTOFS4_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/sda1" +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set diff --git a/conf/linux_distro_defconfig b/conf/linux_distro_defconfig new file mode 100644 index 0000000..6a616f9 --- /dev/null +++ b/conf/linux_distro_defconfig @@ -0,0 +1,90 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +CONFIG_SYSVIPC=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_EMBEDDED=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_VIRTIO_BLK=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_MICROSEMI_PHY=y +# CONFIG_VT is not set +CONFIG_SERIAL_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +# CONFIG_HVC_RISCV_SBI is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C=y +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_DNOTIFY is not set +CONFIG_AUTOFS4_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk root=/dev/mmcblk0p2 rootwait" +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set diff --git a/conf/linux_framebuffer_distro_defconfig b/conf/linux_framebuffer_distro_defconfig new file mode 100644 index 0000000..26d7853 --- /dev/null +++ b/conf/linux_framebuffer_distro_defconfig @@ -0,0 +1,111 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_PCI=y +CONFIG_PCI_DEBUG=y +CONFIG_PCIE_XILINX=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +CONFIG_SYSVIPC=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_EMBEDDED=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_E1000E=y +CONFIG_R8169=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_PMBUS=y +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_DNOTIFY is not set +CONFIG_AUTOFS4_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/mmcblk0p2 rootwait" +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set diff --git a/conf/linux_framebuffer_smp b/conf/linux_framebuffer_smp new file mode 100644 index 0000000..640892a --- /dev/null +++ b/conf/linux_framebuffer_smp @@ -0,0 +1,135 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_NAMESPACES=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_EMBEDDED=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +# CONFIG_BLK_DEV is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_VT is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_HWMON is not set +# CONFIG_USB_SUPPORT is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT3_FS=y +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_EARLY_PRINTK=y +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480" +CONFIG_FRAME_POINTER=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_HW is not set +CONFIG_PCI=y +CONFIG_PCI_DEBUG=y +CONFIG_USB_HID=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_EHCI_HCD=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_PACKET=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E1000E=y +CONFIG_PCIE_XILINX=y +CONFIG_PCI_DMA_32=y +CONFIG_R8169=y +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y +CONFIG_USB_STORAGE=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_SD=y +CONFIG_EFI_PARTITION=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y + +# Freedom-Unleash devices: +CONFIG_NET_CADENCE=y +CONFIG_MACB=y +CONFIG_CLK_GEMGXL_MGMT=y +CONFIG_CLK_U54_PRCI=y +CONFIG_MICROSEMI_PHY=y +CONFIG_I2C=y +CONFIG_I2C_OCORES=y +CONFIG_HWMON=y +CONFIG_PMBUS=y +CONFIG_EEPROM_AT24=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIO_SYSFS=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_MTD=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_NVMEM=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y + +CONFIG_VT=y +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +CONFIG_VGA_CONSOLE=n +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_FB=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +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" diff --git a/conf/linux_microsemi_defconfig b/conf/linux_microsemi_defconfig new file mode 100644 index 0000000..5645916 --- /dev/null +++ b/conf/linux_microsemi_defconfig @@ -0,0 +1,101 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_PCI=y +CONFIG_PCI_DMA_32=y +CONFIG_PCI_DEBUG=y +CONFIG_PCIE_MICROSEMI=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_NAMESPACES=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_EMBEDDED=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_SATA_MV=y +CONFIG_NETDEVICES=y +CONFIG_MACB=y +CONFIG_E1000E=y +CONFIG_R8169=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_PMBUS=y +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT3_FS=y +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480" +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set diff --git a/conf/linux_microsemi_distro_defconfig b/conf/linux_microsemi_distro_defconfig new file mode 100644 index 0000000..8dd73da --- /dev/null +++ b/conf/linux_microsemi_distro_defconfig @@ -0,0 +1,115 @@ +CONFIG_SMP=y +# CONFIG_COMPACTION is not set +CONFIG_HZ_100=y +CONFIG_PCI=y +CONFIG_PCI_DMA_32=y +CONFIG_PCI_DEBUG=y +CONFIG_PCIE_MICROSEMI=y +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" +CONFIG_DEFAULT_HOSTNAME="ucbvax" +CONFIG_SYSVIPC=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_NAMESPACES=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_EMBEDDED=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_FIRMWARE_IN_KERNEL is not set +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" +CONFIG_MTD=y +CONFIG_MTD_BLOCK_RO=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_SATA_MV=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_E1000E=y +CONFIG_R8169=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_OCORES=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_PMBUS=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +# CONFIG_USB_GSPCA is not set +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +# CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_CLK_U54_PRCI=y +CONFIG_CLK_GEMGXL_MGMT=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y +CONFIG_NVMEM_SIFIVE_U500_OTP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_DNOTIFY is not set +CONFIG_AUTOFS4_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlyprintk video=640x480 root=/dev/mmcblk0p2 rootwait" +CONFIG_SECCOMP=y +CONFIG_PRINTK_TIME=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_STACKTRACE=y +# CONFIG_CRYPTO_HW is not set diff --git a/conf/nvdla-uboot-fit-image.its b/conf/nvdla-uboot-fit-image.its new file mode 100644 index 0000000..1e39482 --- /dev/null +++ b/conf/nvdla-uboot-fit-image.its @@ -0,0 +1,58 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for HiFive Unleashed"; + #address-cells = <2>; + + images { + bbl { + description = "BBL/SBI/riscv-pk"; + data = /incbin/("../work/bbl.bin"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x80000000>; + entry = <0x80000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x82000000>; + compression = "gzip"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/u-boot/arch/riscv/dts/hifive_u540_nvdla_iofpga.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x81f00000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "HiFive Unleashed with BBL"; + kernel = "bbl"; + fdt = "fdt"; + loadables = "ramdisk"; + }; + }; +}; + diff --git a/conf/rvboot-fit.txt b/conf/rvboot-fit.txt new file mode 100644 index 0000000..cfc851d --- /dev/null +++ b/conf/rvboot-fit.txt @@ -0,0 +1,18 @@ +fitfile=image.fit +# below much match what's in FIT (ugha) +bbladdr=80000000 +fdtaddr=81f00000 +vmladdr=80200000 +irdaddr=82000000 +# oh the hack.. use a large size.. ugh +irdsize=01000000 +vmlsize=00800000 +newfdt=f0000000 +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} +setup2=setexpr vmlend ${vmladdr} + ${vmlsize}; setexpr irdend ${irdaddr} + ${irdsize} +setup3=fdt set /chosen linux,initrd-end <0x0 0x${irdend}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> +#setup4=fdt set /chosen bootargs ${bootargs}; fdt print /chosen +setup4=fdt print /chosen; fdt set /firmware uboot,ver ${ver} +boot2=dhcp ${fitfile}; bootm start; run setup1; run setup2; run setup3; run setup4; bootm loados; echo sleep 2; sleep 2; go 80000000 +#boot2=run loadbbl; run loadfdt; run setup1; run setup3; run setup4; go 80000000 + diff --git a/conf/rvboot.txt b/conf/rvboot.txt new file mode 100644 index 0000000..932d33e --- /dev/null +++ b/conf/rvboot.txt @@ -0,0 +1,24 @@ +bblfile=bbl.bin +vmlfile=vmlinux.bin +irdfile=initramfs.cpio.gz +#fdtfile=hifive-unleashed-a00-fu540.dtb +#fdtfile=ux00_fsbl.dtb +fdtfile=hifive_u540.dtb +bbladdr=80000000 +fdtaddr=81f00000 +vmladdr=80200000 +irdaddr=82000000 +loadbbl=dhcp ${bbladdr} ${bblfile}; setenv bblsize ${filesize} +loadvml=dhcp ${vmladdr} ${vmlfile}; setenv vmlsize ${filesize} +loadird=dhcp ${irdaddr} ${irdfile}; setenv irdsize ${filesize} +loadfdt=dhcp ${fdtaddr} ${fdtfile}; setenv fdtsize ${filesize} +newfdt=f0000000 +bootargs=console=ttySIF0,921600 debug +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} +setup2=setexpr vmlend ${vmladdr} + ${vmlsize}; setexpr irdend ${irdaddr} + ${irdsize} +setup3=fdt set /chosen linux,initrd-end <0x0 0x${irdend}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> +#setup4=fdt set /chosen bootargs ${bootargs}; fdt print /chosen +setup4=fdt print /chosen +boot2=run loadbbl; run loadvml; run loadird; run loadfdt; run setup1; run setup2; run setup3; run setup4; go 80000000 +#boot2=run loadbbl; run loadfdt; run setup1; run setup3; run setup4; go 80000000 + diff --git a/conf/sifive_logo.txt b/conf/sifive_logo.txt new file mode 100644 index 0000000..37ab64b --- /dev/null +++ b/conf/sifive_logo.txt @@ -0,0 +1,26 @@ + + SIFIVE, INC. + + 5555555555555555555555555 + 5555 5555 + 5555 5555 + 5555 5555 + 5555 5555555555555555555555 + 5555 555555555555555555555555 + 5555 5555 + 5555 5555 + 5555 5555 +5555555555555555555555555555 55555 + 55555 555555555 55555 + 55555 55555 55555 + 55555 5 55555 + 55555 55555 + 55555 55555 + 55555 55555 + 55555 55555 + 55555 55555 + 555555555 + 55555 + 5 + + SiFive RISC-V Core IP diff --git a/conf/starfive_logo.txt b/conf/starfive_logo.txt new file mode 100755 index 0000000..190107f --- /dev/null +++ b/conf/starfive_logo.txt @@ -0,0 +1,31 @@ + + SSS + SSSSSSSSSS + SSSSSSSSSSSSSSSS + SSSSSSSSS SSSSSSSSSSS + SSSSSSSSS SSSSSSSS + SSSSSSSSS SS SSSS + SSSSSSSSS SSSSS SS + SSSSSSSS SSSSSSSSS + SSSSSS SS SSSSSSSSSS + SSSSSS SSSSS SSSSSSSSS + SSSSSSS SSSSSSSS SSSSSS + SSSSSSSS SSSSSSSSSS SSS + SSSSSSSSES SSSSSSSSSS + SSSSSSSSSSS SSSSSSSSSS + SSSSSSSSSS SSSSSSSSSS + SSSS SSSSSSSSSSS SSSSSSS + SSSSSSS SSSSSSS SSSSSS + SSSSSSSSSS SSS SSSSSS + SSSSSSSSSSS SSSSSSS + SSSSSSS SSSSSSSS + SSS SSSS SSSSSSSSS + SSSSSS SS SSSSSSSSSS + SSSSSSSSES SSSSSSSSS + SSSSSSSSSSS SSSSSSSSS + SSSSSSSSSSSSSSS + SSSSSSSS + SS + + StarFive RISC-V Core IP + \ No newline at end of file diff --git a/conf/u74_nvdla-uboot-fit-image.its b/conf/u74_nvdla-uboot-fit-image.its new file mode 100755 index 0000000..296323e --- /dev/null +++ b/conf/u74_nvdla-uboot-fit-image.its @@ -0,0 +1,55 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for HiFive Nvdla"; + #address-cells = <2>; + + images { + vmlinux { + description = "vmlinux"; + data = /incbin/("../work/linux/arch/riscv/boot/Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x80200000>; + entry = <0x0 0x80200000>; + compression = "none"; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x86100000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/u-boot/arch/riscv/dts/starfive_vic7100_evb.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x0 0x86000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "HiFive Nvdla with opensbi"; + kernel = "vmlinux"; + fdt = "fdt"; + loadables = "ramdisk"; + }; + }; +}; + diff --git a/conf/u74_uEnv.txt b/conf/u74_uEnv.txt new file mode 100755 index 0000000..801e467 --- /dev/null +++ b/conf/u74_uEnv.txt @@ -0,0 +1,44 @@ +# This is the sample uEnv.txt file for HiFive Unleashed U-boot +# The current convention (SUBJECT TO CHANGE) is that this file +# will be loaded from the first MSDOS(fat) GPT partition on the +# MMC card. + +# for debugging boot +#bootargs=video=640x480 console=ttySI0 root=/dev/mmcblk0p2 rootwait +bootargs=earlyprintk console=ttyS0,115200 debug rootwait stmmaceth=chain_mode:1 root=/dev/mmcblk0p3 + + +# The FIT file to boot from +fitfile=hifiveu.fit + +# The rest of this is mostly of interest to u-boot developers +# below much match what's in FIT (ugha) +bbladdr=80700000 +fdtaddr=86000000 +irdaddr=86100000 +irdsize=06400000 + +# Use the FDT in the FIT image.. +#setupfdt1=fdt addr ${fdtaddr}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} + +#use FDT that came with uboot +#setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} + +#Use fit image, but don't call fdt move (TODO: understand later) +#setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen +setupfdt1=fdt addr ${fdtaddr} + +setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> + +#setupfdt2=fdt set /chosen bootargs ${bootargs}; fdt print /chosen +#setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt set /firmware uboot,ver ${ver}; fdt print /chosen +setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt print /chosen + +bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done + +# this assumes ${fileaddr} is already set!! +#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 +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} + +# if you want to network boot, for testing, uncomment the following: +#boot2=dhcp; env import -t ${fileaddr} ${filesize}; run boot2 diff --git a/conf/uEnv.txt b/conf/uEnv.txt new file mode 100755 index 0000000..35b6d86 --- /dev/null +++ b/conf/uEnv.txt @@ -0,0 +1,58 @@ +# This is the sample uEnv.txt file for HiFive Unleashed U-boot +# The current convention (SUBJECT TO CHANGE) is that this file +# will be loaded from the first MSDOS(fat) GPT partition on the +# MMC card. + +# for debugging boot +bootargs=video=640x480 console=ttySI0 root=/dev/mmcblk0p2 rootwait +# for normal boot +#bootargs=video=640x480 root=/dev/mmcblk0p2 rootwait + +# To boot from partition 2 of an NVME drive (with a PCI iofpga, +# such as the MicroSemi expansion board, uncomment below: + +#bootargs=debug console=tty0 console=ttySIF0 root=/dev/nvme0n1p2 + +# to boot an initramfs (buildroot or debian/etc) use this +#setupchosen=run setupvml; run setupird + +# to boot with straight to the root= parition, uncomment below +# so we do not set the ramdisk pointers +#setupchosen=run setupvml +setupchosen=run setupird + +# The FIT file to boot from +fitfile=hifiveu.fit + +# The rest of this is mostly of interest to u-boot developers +# below much match what's in FIT (ugha) +bbladdr=80000000 +fdtaddr=81f00000 +vmladdr=80200000 +irdaddr=82000000 +# oh the hack.. use a large size.. ugh +irdsize=01000000 +vmlsize=00800000 +newfdt=f0000000 +# Use the FDT in the FIT image.. +#setupfdt1=fdt addr ${fdtaddr}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} + +#use FDT that came with uboot +#setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen; fdt move ${fdtaddr} ${newfdt} + +#Use fit image, but don't call fdt move (TODO: understand later) +setupfdt1=fdt addr ${newfdt}; fdt resize; fdt chosen + +setupird=setexpr irdend ${irdaddr} + ${irdsize}; fdt set /chosen linux,initrd-start <0x0 0x${irdaddr}>; fdt set /chosen linux,initrd-end <0x0 0x${irdend}> +setupvml=setexpr vmlend ${vmladdr} + ${vmlsize}; fdt set /chosen riscv,kernel-start <0x0 0x${vmladdr}>; fdt set /chosen riscv,kernel-end <0x0 0x${vmlend}> + +#setupfdt2=fdt set /chosen bootargs ${bootargs}; fdt print /chosen +setupfdt2=fdt print /chosen; fdt set /chosen bootargs "${bootargs}"; fdt set /firmware uboot,ver ${ver}; fdt print /chosen + +bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done + +# this assumes ${fileaddr} is already set!! +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 + +# if you want to network boot, for testing, uncomment the following: +#boot2=dhcp; env import -t ${fileaddr} ${filesize}; run boot2 diff --git a/conf/uboot-fit-image.its b/conf/uboot-fit-image.its new file mode 100644 index 0000000..093c189 --- /dev/null +++ b/conf/uboot-fit-image.its @@ -0,0 +1,71 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for HiFive Unleashed"; + #address-cells = <2>; + + images { + bbl { + description = "BBL/SBI/riscv-pk"; + data = /incbin/("../work/bbl.bin"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x80000000>; + entry = <0x80000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + kernel { + description = "Linux kernel"; + data = /incbin/("../work/vmlinux.bin"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x80200000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x82000000>; + compression = "gzip"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/u-boot/arch/riscv/dts/hifive_u540.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x81f00000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "HiFive Unleashed with BBL"; + kernel = "bbl"; + fdt = "fdt"; + loadables = "kernel", "ramdisk"; + }; + }; +}; + diff --git a/conf/version b/conf/version new file mode 100755 index 0000000..8cb20ba --- /dev/null +++ b/conf/version @@ -0,0 +1,39 @@ +#! /bin/sh + +usage() { + echo "Usage: $0 [srctree]" >&2 + exit 1 +} + +cd "${1:-.}" || usage +echo "#! /bin/sh" +echo "" +echo "cat /proc/version" + +if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then + + atag="`git describe 2>/dev/null`" + + # Show -g if we have no tag, or just the tag + # otherwise. + if [ -z "${atag}" ] ; then + atag=$atag"-g"${head} + fi + + # Check for uncommitted changes + if git diff-index --name-only HEAD | grep -v "^scripts/package" \ + | read dummy; then + atag=$atag"-dirty" + fi + echo "echo \"$atag\"" + +fi + +jh7110_flag=JH7110 + +for atag in $(git tag --merge HEAD --sort=-taggerdate | grep "${jh7110_flag}") +do + echo "echo \"$atag\"" + exit +done + diff --git a/conf/vf2_nvme_uEnv.txt b/conf/vf2_nvme_uEnv.txt new file mode 100755 index 0000000..6a186de --- /dev/null +++ b/conf/vf2_nvme_uEnv.txt @@ -0,0 +1,28 @@ +# This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot +# The current convention (SUBJECT TO CHANGE) is that this file +# will be loaded from the third partition on the +# NVME ssd. +#devnvm=0 +partnum=3 + +# The FIT file to boot from +fitfile=starfiveu.fit + +# for debugging boot +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; +#bootargs=earlyprintk console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/nvme0n1p4 + +# for addr info +# boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' +irdsize=5f00000 + +# Use the FDT in the FIT image.. +setupfdt1=fdt addr ${fdtaddr}; fdt resize; + +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}> + +setupfdt2=fdt set /chosen bootargs "${bootargs}"; + +bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done + +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} diff --git a/conf/vf2_uEnv.txt b/conf/vf2_uEnv.txt new file mode 100755 index 0000000..c4ed813 --- /dev/null +++ b/conf/vf2_uEnv.txt @@ -0,0 +1,25 @@ +# This is the sample jh7110_uEnv.txt file for starfive visionfive U-boot +# The current convention (SUBJECT TO CHANGE) is that this file +# will be loaded from the third partition on the +# MMC card. + +# The FIT file to boot from +fitfile=starfiveu.fit + +# for debugging boot +bootargs_ext=setenv bootargs "console=tty1 console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/${sdev_blk}"; + +# for addr info +# boot Linux flat or compressed 'Image' stored at 'kernel_addr_r' +irdsize=5f00000 + +# Use the FDT in the FIT image.. +setupfdt1=fdt addr ${fdtaddr}; fdt resize; + +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}> + +setupfdt2=fdt set /chosen bootargs "${bootargs}"; + +bootwait=setenv _delay ${bootdelay}; echo ${_delay}; while test ${_delay} > 0; do sleep 1; setexpr _delay ${_delay} - 1; echo ${_delay}; done + +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} diff --git a/conf/visionfive2-fit-image.its b/conf/visionfive2-fit-image.its new file mode 100644 index 0000000..9b45145 --- /dev/null +++ b/conf/visionfive2-fit-image.its @@ -0,0 +1,55 @@ +/dts-v1/; + +/ { + description = "U-boot FIT image for visionfive2"; + #address-cells = <2>; + + images { + vmlinux { + description = "vmlinux"; + data = /incbin/("../work/linux/arch/riscv/boot/Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x40200000>; + entry = <0x0 0x40200000>; + compression = "none"; + }; + + ramdisk { + description = "buildroot initramfs"; + data = /incbin/("../work/initramfs.cpio.gz"); + type = "ramdisk"; + arch = "riscv"; + os = "linux"; + load = <0x0 0x46100000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + + fdt { + data = /incbin/("../work/linux/arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtb"); + type = "flat_dt"; + arch = "riscv"; + load = <0x0 0x46000000>; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "visionfive2 with opensbi"; + kernel = "vmlinux"; + fdt = "fdt"; + loadables = "ramdisk"; + }; + }; +}; + diff --git a/conf/visionfive2-uboot-fit-image.its b/conf/visionfive2-uboot-fit-image.its new file mode 100644 index 0000000..dc3ca91 --- /dev/null +++ b/conf/visionfive2-uboot-fit-image.its @@ -0,0 +1,29 @@ +/dts-v1/; + +/ { + description = "U-boot-spl FIT image for JH7110 VisionFive2"; + #address-cells = <2>; + + images { + firmware { + description = "u-boot"; + data = /incbin/("../work/opensbi/platform/generic/firmware/fw_payload.bin"); + type = "firmware"; + arch = "riscv"; + os = "u-boot"; + load = <0x0 0x40000000>; + entry = <0x0 0x40000000>; + compression = "none"; + }; + }; + + configurations { + default = "config-1"; + + config-1 { + description = "U-boot-spl FIT config for JH7110 VisionFive2"; + firmware = "firmware"; + }; + }; +}; + diff --git a/fsz.sh b/fsz.sh new file mode 100755 index 0000000..b7b6865 --- /dev/null +++ b/fsz.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +function handle_file { + inFile=$1 + echo inFile: $inFile + outFile=$inFile.out + + inSize=`stat -c "%s" $inFile` + inSize32HexBe=`printf "%08x\n" $inSize` + inSize32HexLe=${inSize32HexBe:6:2}${inSize32HexBe:4:2}${inSize32HexBe:2:2}${inSize32HexBe:0:2} + echo "inSize: $inSize (0x$inSize32HexBe, LE:0x$inSize32HexLe)" + + echo $inSize32HexLe | xxd -r -ps > $outFile + cat $inFile >> $outFile + echo outFile: $outFile + + outSize=`stat -c "%s" $outFile` + outSize32HexBe=`printf "%08x\n" $outSize` + echo "outSize: $outSize (0x$outSize32HexBe)" +} + +if [ "$1" = "" -o "$1" = "--help" ]; then + echo "Add file size(32bits, Little Endian) before the content." + echo "Usage: ./fsz.sh " + exit 1 +fi + +handle_file "$@" diff --git a/genimage.sh b/genimage.sh new file mode 100755 index 0000000..9c27c75 --- /dev/null +++ b/genimage.sh @@ -0,0 +1,58 @@ +#!/bin/bash +################################################################## +## ## +## SPDX-License-Identifier: GPL-2.0-or-later ## +## ## +## Copyright (C) 2018-2022 Starfive Technology ## +## ## +## Author: Andy Hu ## +## Date: 2022-07-27 ## +## Description: This script used to generate img file ## +## which could be burned to tf card through dd or ## +## rpi-imager or balenaEtcher tool. ## +## Run it after the usdk initramfs and rootfs had been built ## +## ## +################################################################## +COLOR_NORMAL="\033[0m" +COLOR_GREEN="\033[1;32m" +COLOR_YELLOW="\033[1;33m" +COLOR_RED="\033[1;31m" +COLOR_GREY="\033[1;30m" +HWBOARD=visionfive2 + +TOPDIR=`dirname $0` +BUILD_DIR=$TOPDIR/work +INPUT_DIR=$TOPDIR +OUTPUT_DIR=$TOPDIR/work +if [ $HWBOARD == "visionfive2" ]; then + GENIMAGE_CFG=$TOPDIR/conf/genimage-vf2.cfg +else + GENIMAGE_CFG=$TOPDIR/conf/genimage.cfg +fi +GENIMAGE=$TOPDIR/work/buildroot_initramfs/host/bin/genimage + +if [ ! -f $GENIMAGE ]; then + printf $COLOR_RED + echo "Error: $GENIMAGE not found. need building the usdk first" + printf $COLOR_NORMAL + exit 1 +fi + +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +# Pass an empty rootpath. genimage makes a full copy of the given rootpath to +# ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk +# space. We don't rely on genimage to build the rootfs image, just to insert a +# pre-built one in the disk image. + +trap 'rm -rf "${ROOTPATH_TMP}"' EXIT +ROOTPATH_TMP="$(mktemp -d)" + +rm -rf "${GENIMAGE_TMP}" + +$GENIMAGE \ + --rootpath "${ROOTPATH_TMP}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${INPUT_DIR}" \ + --outputpath "${OUTPUT_DIR}" \ + --config "${GENIMAGE_CFG}" diff --git a/linux b/linux new file mode 160000 index 0000000..1be1d44 --- /dev/null +++ b/linux @@ -0,0 +1 @@ +Subproject commit 1be1d44b948cd3237326e1bfb64821f4425226b9 diff --git a/opensbi b/opensbi new file mode 160000 index 0000000..c6a092c --- /dev/null +++ b/opensbi @@ -0,0 +1 @@ +Subproject commit c6a092cd80112529cb2e92e180767ff5341b22a3 diff --git a/post-build.sh b/post-build.sh new file mode 100755 index 0000000..8204233 --- /dev/null +++ b/post-build.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +################################################################## +## ## +## SPDX-License-Identifier: GPL-2.0-or-later ## +## ## +## Copyright (C) 2018-2022 Starfive Technology ## +## ## +## Author: jason zhou ## +## ## +################################################################## + +COLOR_NORMAL="\033[0m" +COLOR_GREEN="\033[1;32m" +COLOR_YELLOW="\033[1;33m" +COLOR_RED="\033[1;31m" +COLOR_GREY="\033[1;30m" + +printf ${COLOR_GREEN} +echo "" +echo "post build copy images to release folder!" +folder=~/release/`git describe`-`date -I` +echo "create folder:$folder" +printf ${COLOR_NORMAL} + +mkdir -p $folder +cp work/image.fit $folder/ +cp work/evb_fw_payload.img $folder/ +cp work/u-boot-spl.bin.normal.out $folder/ +cp work/initramfs.cpio.gz $folder/ +cp work/linux/arch/riscv/boot/Image.gz $folder/ +cp -rf work/linux/arch/riscv/boot/dts/starfive $folder/ +tree $folder +echo "" diff --git a/pre-build.sh b/pre-build.sh new file mode 100755 index 0000000..1e92dfb --- /dev/null +++ b/pre-build.sh @@ -0,0 +1,34 @@ +#!/bin/bash +################################################################## +## ## +## SPDX-License-Identifier: GPL-2.0-or-later ## +## ## +## Copyright (C) 2018-2022 Starfive Technology ## +## ## +## Author: jason zhou ## +## ## +################################################################## + +COLOR_NORMAL="\033[0m" +COLOR_GREEN="\033[1;32m" +COLOR_YELLOW="\033[1;33m" +COLOR_RED="\033[1;31m" +COLOR_GREY="\033[1;30m" + +printf ${COLOR_GREEN} +echo "" +echo "prepare for release build, make sure repo synced, working tree was clean" +echo "please checking if proper tagged for release!" +echo "" +printf ${COLOR_NORMAL} + +git submodule sync --recursive +git pull +git submodule foreach "git pull" +git branch && git status +git submodule foreach "git branch && git status" + +printf $COLOR_GREEN +git tag | grep JH7110_51 +git submodule foreach "git tag | grep JH7110_51" +printf $COLOR_NORMAL diff --git a/soft_3rdpart b/soft_3rdpart new file mode 160000 index 0000000..5eca20d --- /dev/null +++ b/soft_3rdpart @@ -0,0 +1 @@ +Subproject commit 5eca20d2ce6fb7b18044bfe30c5bfd7f8f47958d diff --git a/u-boot b/u-boot new file mode 160000 index 0000000..223ac8b --- /dev/null +++ b/u-boot @@ -0,0 +1 @@ +Subproject commit 223ac8b1e907924d3891b3be1b2f6620b56bff31