about summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2023-11-25 19:27:24 +0100
committerJan Tojnar <jtojnar@gmail.com>2023-11-25 19:27:24 +0100
commit2e92094b86f879a12b45ce7dee13c3ca81d9eef5 (patch)
treefd27c658af2027d6593bedd9b537076ec38077cb /pkgs/misc
parent9cf5ae4871b11627980369ad57d741932c3c7747 (diff)
parent6a3379c79ff7a85c2a011d7270bb4dd0bcd59027 (diff)
downloadnixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar.gz
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar.bz2
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar.lz
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar.xz
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.tar.zst
nixlib-2e92094b86f879a12b45ce7dee13c3ca81d9eef5.zip
Merge branch 'staging-next' into staging
Conflicts:
- pkgs/development/python-modules/pyqt/6.x.nix:
	NIX_CFLAGS_COMPILE changed
	cb6f270be221dc966c945178c72692ba1545ad3c version bump removes flag no longer necessary
	b7a8d59e3ab68bc6e01ff660e5b8165eb399f443 adds flag to fix builds on Darwin, not sure if needed after the bump
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix1
-rw-r--r--pkgs/misc/uboot/default.nix42
2 files changed, 19 insertions, 24 deletions
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index 92bd7e0bee5b..444fcebe38fa 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -141,7 +141,6 @@ in {
     platform = "rk3328";
     extraMeta.platforms = ["aarch64-linux"];
     filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
-    platformCanUseHDCPBlob = true;
   };
 
   armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 54a5f6be0920..6f32434afaac 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -497,32 +497,28 @@ in {
     filesToInstall = ["u-boot.bin"];
   };
 
-  ubootRock64 = let
-    rkbin = fetchFromGitHub {
-      owner = "ayufan-rock64";
-      repo = "rkbin";
-      rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-      sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-    };
-  in buildUBoot {
+  ubootRock64 = buildUBoot {
     defconfig = "rock64-rk3328_defconfig";
-    extraMeta = {
-      platforms = [ "aarch64-linux" ];
-      license = lib.licenses.unfreeRedistributableFirmware;
-    };
+    extraMeta.platforms = [ "aarch64-linux" ];
     BL31="${armTrustedFirmwareRK3328}/bl31.elf";
-    filesToInstall = [ "u-boot.itb" "idbloader.img"];
-    # Derive MAC address from cpuid
-    # Submitted upstream: https://patchwork.ozlabs.org/patch/1203686/
-    extraConfig = ''
-      CONFIG_MISC_INIT_R=y
-    '';
-    # Close to being blob free, but the U-Boot TPL causes random memory
-    # corruption
-    postBuild = ''
-      ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
-      cat spl/u-boot-spl.bin >> idbloader.img
+    filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ];
+  };
+
+  # A special build with much lower memory frequency (666 vs 1600 MT/s) which
+  # makes ROCK64 V2 boards stable. This is necessary because the DDR3 routing
+  # on that revision is marginal and not uncoditionally stable at the specified
+  # frequency. If your ROCK64 is unstable you can try this u-boot variant to
+  # see if it works better for you. The only disadvantage is lowered memory
+  # bandwidth.
+  ubootRock64v2 = buildUBoot {
+    prePatch = ''
+      substituteInPlace arch/arm/dts/rk3328-rock64-u-boot.dtsi \
+        --replace rk3328-sdram-lpddr3-1600.dtsi rk3328-sdram-lpddr3-666.dtsi
     '';
+    defconfig = "rock64-rk3328_defconfig";
+    extraMeta.platforms = [ "aarch64-linux" ];
+    BL31="${armTrustedFirmwareRK3328}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ];
   };
 
   ubootRockPro64 = buildUBoot {