summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/bootloader/u-boot.scm6
-rw-r--r--gnu/packages/bootloaders.scm18
-rw-r--r--gnu/packages/firmware.scm3
3 files changed, 27 insertions, 0 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 5d5fc1bff2..64fb319f50 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -41,6 +41,7 @@
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
@@ -225,6 +226,11 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
(inherit u-boot-rockchip-bootloader)
(package u-boot-orangepi-r1-plus-lts-rk3328)))
+(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 e4e402cd90..58a7a66777 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1214,6 +1214,24 @@ removed so that it fits within common partitioning schemes.")))
(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 2e78936d83..cb003ab43b 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1172,6 +1172,9 @@ interface standards, such as:
(define-public arm-trusted-firmware-sun50i-a64
(make-arm-trusted-firmware "sun50i_a64"))
+(define-public arm-trusted-firmware-sun50i-h616
+ (make-arm-trusted-firmware "sun50i_h616"))
+
(define-public arm-trusted-firmware-rk3328
(make-arm-trusted-firmware "rk3328"))