Merge pull request #191538 from lorenz/rock64-uboot-improvements
u-boot: ROCK64 RAM init improvements
This commit is contained in:
commit
1fb123914b
3 changed files with 20 additions and 24 deletions
|
@ -141,7 +141,6 @@ in {
|
|||
platform = "rk3328";
|
||||
extraMeta.platforms = ["aarch64-linux"];
|
||||
filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
|
||||
platformCanUseHDCPBlob = true;
|
||||
};
|
||||
|
||||
armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -28876,6 +28876,7 @@ with pkgs;
|
|||
ubootRaspberryPi4_64bit
|
||||
ubootRaspberryPiZero
|
||||
ubootRock64
|
||||
ubootRock64v2
|
||||
ubootRockPi4
|
||||
ubootRockPro64
|
||||
ubootROCPCRK3399
|
||||
|
|
Loading…
Reference in a new issue