Add FPGA OpenSBI and U-Boot
This commit is contained in:
parent
0c2cfbe38d
commit
5bb469d1a4
56
overlay.nix
56
overlay.nix
@ -40,6 +40,62 @@ final: prev:
|
||||
];
|
||||
});
|
||||
|
||||
uboot-fpga = prev.ubootQemuRiscv64Smode.override {
|
||||
filesToInstall = [ "u-boot.bin" "u-boot-nodtb.bin" ];
|
||||
extraConfig = ''
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_RISCV_SMODE=y
|
||||
CONFIG_SYS_MALLOC_LEN=0x800000
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_SYS_LOAD_ADDR=0x80200000
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
CONFIG_SYS_CBSIZE=256
|
||||
CONFIG_SYS_PBSIZE=276
|
||||
CONFIG_SYS_BOOTM_LEN=0x4000000
|
||||
CONFIG_CMD_BOOTEFI_SELFTEST=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
# CONFIG_CMD_MII is not set
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_FLASH_SHOW_PROGRESS=0
|
||||
CONFIG_SYS_MAX_FLASH_BANKS=2
|
||||
#CONFIG_TEXT_BASE=0x80000000
|
||||
# -------------------------
|
||||
CONFIG_RISCV_ISA_C=n
|
||||
# CONFIG_OF_EMBED=n
|
||||
# CONFIG_OF_SEPARATE=y
|
||||
# CONFIG_OF_OMIT_DTB=y
|
||||
CONFIG_REQUIRE_SERIAL_CONSOLE=n
|
||||
CONFIG_SERIAL_SEARCH_ALL=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_OF_BOARD=y
|
||||
CONFIG_OF_HAS_PRIOR_STAGE=y
|
||||
CONFIG_BLKMAP=y
|
||||
CONFIG_CMD_BLKMAP=y
|
||||
CONFIG_SBI_V01=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEBUG_UART_ANNOUNCE=y
|
||||
CONFIG_DEBUG_SBI_CONSOLE=y
|
||||
'';
|
||||
};
|
||||
|
||||
opensbi-fpga = prev.opensbi.overrideAttrs (old: {
|
||||
makeFlags = old.makeFlags ++ [
|
||||
# Build OpenSBI without compressed instructions
|
||||
"PLATFORM_RISCV_ISA=rv64g"
|
||||
"PLATFORM=fpga/openpiton"
|
||||
# Check with: riscv64-unknown-elf-objdump -d -M no-aliases rotate
|
||||
"FW_PAYLOAD_PATH=${final.uboot-fpga}/u-boot-nodtb.bin"
|
||||
];
|
||||
});
|
||||
|
||||
linuxPackagesCustom = prev.linuxPackagesFor (prev.linux.override {
|
||||
structuredExtraConfig = with prev.lib.kernel; {
|
||||
KEXEC = yes;
|
||||
|
Loading…
Reference in New Issue
Block a user