summary refs log tree commit diff
path: root/pkgs/misc/uboot/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/uboot/default.nix')
-rw-r--r--pkgs/misc/uboot/default.nix41
1 files changed, 36 insertions, 5 deletions
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 597866a80ab4e..4c14581e33113 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bc, dtc }:
+{ stdenv, fetchurl, bc, dtc, python2 }:
 
 let
   buildUBoot = { targetPlatforms
@@ -10,17 +10,21 @@ let
            stdenv.mkDerivation (rec {
 
     name = "uboot-${defconfig}-${version}";
-    version = "2017.01";
+    version = "2017.03";
 
     src = fetchurl {
       url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "1wpc51jm3zyibgcr78jng2yksqvrya76bxgsr4pcyjrsz5sm2hkc";
+      sha256 = "0gqihplap05dlpwdb971wsqyv01nz2vabwq5g5649gr5jczsyjzm";
     };
 
-    nativeBuildInputs = [ bc dtc ];
+    nativeBuildInputs = [ bc dtc python2 ];
 
     hardeningDisable = [ "all" ];
 
+    postPatch = ''
+      patchShebangs tools
+    '';
+
     configurePhase = ''
       make ${defconfig}
     '';
@@ -34,6 +38,7 @@ let
       runHook postInstall
     '';
 
+    enableParallelBuilding = true;
     dontStrip = true;
 
     crossAttrs = {
@@ -82,6 +87,12 @@ in rec {
     filesToInstall = ["u-boot" "u-boot.dtb" "u-boot-dtb-tegra.bin" "u-boot-nodtb-tegra.bin"];
   };
 
+  ubootOdroidXU3 = buildUBoot rec {
+    defconfig = "odroid-xu3_defconfig";
+    targetPlatforms = ["armv7l-linux"];
+    filesToInstall = ["u-boot-dtb.bin"];
+  };
+
   ubootPcduino3Nano = buildUBoot rec {
     defconfig = "Linksprite_pcDuino3_Nano_defconfig";
     targetPlatforms = ["armv7l-linux"];
@@ -100,12 +111,32 @@ in rec {
     filesToInstall = ["u-boot.bin"];
   };
 
-  ubootRaspberryPi3 = buildUBoot rec {
+  ubootRaspberryPi3_32bit = buildUBoot rec {
     defconfig = "rpi_3_32b_defconfig";
     targetPlatforms = ["armv7l-linux"];
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRaspberryPi3_64bit = buildUBoot rec {
+    defconfig = "rpi_3_defconfig";
+    targetPlatforms = ["aarch64-linux"];
+    filesToInstall = ["u-boot.bin"];
+  };
+
+  ubootUtilite = buildUBoot rec {
+    defconfig = "cm_fx6_defconfig";
+    targetPlatforms = ["armv7l-linux"];
+    filesToInstall = ["u-boot-with-nand-spl.imx"];
+    buildFlags = "u-boot-with-nand-spl.imx";
+    postConfigure = ''
+      cat >> .config << EOF
+      CONFIG_CMD_SETEXPR=y
+      EOF
+    '';
+    # sata init; load sata 0 $loadaddr u-boot-with-nand-spl.imx
+    # sf probe; sf update $loadaddr 0 80000
+  };
+
   ubootWandboard = buildUBoot rec {
     defconfig = "wandboard_defconfig";
     targetPlatforms = ["armv7l-linux"];