diff options
Diffstat (limited to 'pkgs/misc/uboot/rockpro64.nix')
-rw-r--r-- | pkgs/misc/uboot/rockpro64.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/misc/uboot/rockpro64.nix b/pkgs/misc/uboot/rockpro64.nix new file mode 100644 index 000000000000..d8802e6d5f55 --- /dev/null +++ b/pkgs/misc/uboot/rockpro64.nix @@ -0,0 +1,36 @@ +{ lib, buildUBoot, fetchFromGitHub }: let + rkbin = fetchFromGitHub { + owner = "ayufan-rock64"; + repo = "rkbin"; + rev = "af17d09dee19b41f4f01e1722eaf6911fb296245"; + sha256 = "189f7h6wj2yrcc5ga103jnyysykf9j3j9p1vcy7791bxwxqxnggf"; + }; +in buildUBoot rec { + version = "2017.09"; + + src = fetchFromGitHub { + owner = "ayufan-rock64"; + repo = "linux-u-boot"; + rev = "d646df03ace3bd191e24361944ce1c7ef3c8744c"; + sha256 = "0gclcd034qfhfbabrdqmky08i0hlwmn63n0zg6mndplms5qpcx75"; + }; + + # Upstream ATF hangs in SPL + extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.17.elf" "u-boot.itb" "all" ]; + + postBuild = '' + ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_933MHz_v1.13.bin idbloader.img + cat spl/u-boot-spl.bin >> idbloader.img + dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc + ''; + + defconfig = "rockpro64-rk3399_defconfig"; + filesToInstall = [ "spl/u-boot-spl.bin" "u-boot.itb" "idbloader.img"]; + + extraMeta = with lib; { + maintainers = [ maintainers.lopsided98 ]; + platforms = ["aarch64-linux"]; + # Because of the TPL and ATF (BL31) blobs + license = licenses.unfreeRedistributableFirmware; + }; +} |