diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 7888a4e030..7fd7288854 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -41,6 +41,7 @@ (define-module (gnu bootloader u-boot) u-boot-nintendo-nes-classic-edition-bootloader u-boot-novena-bootloader u-boot-orangepi-r1-plus-lts-rk3328-bootloader + u-boot-orangepi-zero2w-bootloader u-boot-pine64-plus-bootloader u-boot-pine64-lts-bootloader u-boot-pinebook-bootloader @@ -296,6 +297,11 @@ (define u-boot-orangepi-r1-plus-lts-rk3328-bootloader (package u-boot-orangepi-r1-plus-lts-rk3328) (disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot))) +(define u-boot-orangepi-zero2w-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-orangepi-zero2w))) + (define u-boot-pine64-plus-bootloader (bootloader (inherit u-boot-allwinner64-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 95e9c1dfd1..a7e8554a2a 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1188,6 +1188,24 @@ (define*-public (make-u-boot-sunxi64-package board triplet scp-firmware (modify-inputs (package-inputs base) (append arm-trusted-firmware-sun50i-a64)))))) +(define-public u-boot-orangepi-zero2w + (let ((base (make-u-boot-package + "orangepi_zero2w" "aarch64-linux-gnu"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'set-environment + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (setenv "SCP" "/dev/null") + (setenv "BL31" (search-input-file inputs "bl31.bin")))))))) + (inputs + (modify-inputs (package-inputs base) + ;; The Zero 2W uses the slightly revised Allwinner H618. + (append arm-trusted-firmware-sun50i-h616)))))) + (define-public u-boot-pine64-plus (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu" (delay crust-pine64-plus))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 931c02424e..925428e73a 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -1165,6 +1165,12 @@ (define-public arm-trusted-firmware-sun50i-a64 (inherit base) (name "arm-trusted-firmware-sun50i-a64")))) +(define-public arm-trusted-firmware-sun50i-h616 + (let ((base (make-arm-trusted-firmware "sun50i_h616"))) + (package + (inherit base) + (name "arm-trusted-firmware-sun50i-h616")))) + (define-public arm-trusted-firmware-rk3328 (make-arm-trusted-firmware "rk3328"))