From cf38d08863cf19d67d3bc5798b3a7b126c000f4b Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Wed, 20 Mar 2024 06:27:36 +0530 Subject: [PATCH 1/4] rkbin: init at unstable-2024.02.22 --- pkgs/by-name/rk/rkbin/package.nix | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkgs/by-name/rk/rkbin/package.nix diff --git a/pkgs/by-name/rk/rkbin/package.nix b/pkgs/by-name/rk/rkbin/package.nix new file mode 100644 index 000000000000..f0d320dfef95 --- /dev/null +++ b/pkgs/by-name/rk/rkbin/package.nix @@ -0,0 +1,34 @@ +{ stdenv +, lib +, fetchFromGitHub +}: + +stdenv.mkDerivation { + pname = "rkbin"; + version = "unstable-2024.02.22"; + + src = fetchFromGitHub { + owner = "rockchip-linux"; + repo = "rkbin"; + rev = "a2a0b89b6c8c612dca5ed9ed8a68db8a07f68bc0"; + hash = "sha256-U/jeUsV7bhqMw3BljmO6SI07NCDAd/+sEp3dZnyXeeA="; + }; + + installPhase = '' + mkdir $out + mv bin doc $out/ + ''; + + BL31_RK3568 = "bin/rk35/rk3568_ddr_1056MHz_v1.21.bin"; + ROCKCHIP_TPL_RK3568 = "bin/rk35/rk3568_ddr_1056MHz_v1.21.bin"; + + ROCKCHIP_TPL_RK3588 = "bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin"; + + meta = with lib; { + description = "Rockchip proprietary bootloader blobs"; + homepage = "https://github.com/rockchip-linux/rkbin"; + license = licenses.unfree; + maintainers = with maintainers; [ thefossguy ]; + platforms = [ "aarch64-linux" ]; + }; +} From 070737c9b76be7b7d231d1f9195fd4f0152194bc Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Wed, 20 Mar 2024 06:28:35 +0530 Subject: [PATCH 2/4] arm-trusted-firmware: add RK3588 --- pkgs/misc/arm-trusted-firmware/default.nix | 21 ++++++++++++++++++++- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix index f3025572429e..6fb9aea3bfeb 100644 --- a/pkgs/misc/arm-trusted-firmware/default.nix +++ b/pkgs/misc/arm-trusted-firmware/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, openssl, pkgsCross, buildPackages +{ lib, stdenv, fetchFromGitHub, fetchFromGitLab, openssl, pkgsCross, buildPackages # Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at # privilege level EL3, which is above both the kernel and the @@ -151,6 +151,25 @@ in { platformCanUseHDCPBlob = true; }; + armTrustedFirmwareRK3588 = buildArmTrustedFirmware rec { + extraMakeFlags = [ "bl31" ]; + platform = "rk3588"; + extraMeta.platforms = ["aarch64-linux"]; + filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"]; + platformCanUseHDCPBlob = true; + + # TODO: remove this once the following get merged: + # 1: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/21840 + # 2: https://review.trustedfirmware.org/c/ci/tf-a-ci-scripts/+/21833 + src = fetchFromGitLab { + domain = "gitlab.collabora.com"; + owner = "hardware-enablement/rockchip-3588"; + repo = "trusted-firmware-a"; + rev = "002d8e85ce5f4f06ebc2c2c52b4923a514bfa701"; + hash = "sha256-1XOG7ILIgWa3uXUmAh9WTfSGLD/76OsmWrUhIxm/zTg="; + }; + }; + armTrustedFirmwareS905 = buildArmTrustedFirmware rec { extraMakeFlags = [ "bl31" ]; platform = "gxbb"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8279c4f936d7..4c62149c08d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27190,6 +27190,7 @@ with pkgs; armTrustedFirmwareQemu armTrustedFirmwareRK3328 armTrustedFirmwareRK3399 + armTrustedFirmwareRK3588 armTrustedFirmwareS905 ; From 95d1f9499a0ca6f2ba45b38ad74bdcb460f33dd5 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Wed, 20 Mar 2024 06:29:38 +0530 Subject: [PATCH 3/4] ubootRock5ModelB: init at 2024.01 --- pkgs/misc/uboot/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 11 insertions(+) diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 3ae82fde4fa9..50b15997388f 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -13,6 +13,7 @@ , meson-tools , ncurses , openssl +, rkbin , swig , which , python3 @@ -21,6 +22,7 @@ , armTrustedFirmwareAllwinnerH616 , armTrustedFirmwareRK3328 , armTrustedFirmwareRK3399 +, armTrustedFirmwareRK3588 , armTrustedFirmwareS905 , buildPackages }: @@ -515,6 +517,14 @@ in { filesToInstall = ["u-boot.bin"]; }; + ubootRock5ModelB = buildUBoot { + defconfig = "rock5b-rk3588_defconfig"; + extraMeta.platforms = ["aarch64-linux"]; + BL31 = "${armTrustedFirmwareRK3588}/bl31.elf"; + ROCKCHIP_TPL = "${rkbin}/${rkbin.ROCKCHIP_TPL_RK3588}"; + filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ]; + }; + ubootRock64 = buildUBoot { defconfig = "rock64-rk3328_defconfig"; extraMeta.platforms = [ "aarch64-linux" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c62149c08d2..4714840c726c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28418,6 +28418,7 @@ with pkgs; ubootRaspberryPi4_32bit ubootRaspberryPi4_64bit ubootRaspberryPiZero + ubootRock5ModelB ubootRock64 ubootRock64v2 ubootRockPi4 From d245844528d54eb158c792e07f37f6d3d124da87 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Wed, 20 Mar 2024 06:30:25 +0530 Subject: [PATCH 4/4] ubootOrangePi5: init at 2024.01 --- pkgs/misc/uboot/default.nix | 8 ++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 9 insertions(+) diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 50b15997388f..484bcf08988e 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -373,6 +373,14 @@ in { filesToInstall = ["u-boot-sunxi-with-spl.bin"]; }; + ubootOrangePi5 = buildUBoot { + defconfig = "orangepi-5-rk3588s_defconfig"; + extraMeta.platforms = ["aarch64-linux"]; + BL31 = "${armTrustedFirmwareRK3588}/bl31.elf"; + ROCKCHIP_TPL = "${rkbin}/${rkbin.ROCKCHIP_TPL_RK3588}"; + filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ]; + }; + ubootOrangePiPc = buildUBoot { defconfig = "orangepi_pc_defconfig"; extraMeta.platforms = ["armv7l-linux"]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4714840c726c..80592e292ade 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28398,6 +28398,7 @@ with pkgs; ubootOlimexA64Olinuxino ubootOlimexA64Teres1 ubootOrangePi3 + ubootOrangePi5 ubootOrangePiPc ubootOrangePiZeroPlus2H5 ubootOrangePiZero