diff mbox series

[bug#70131,5/5] gnu: bootloader: Add orangepi-zero2w bootloader.

Message ID fa3bddc53e0ffbec54d8f408016a096d7e118921.1712001963.git.herman@rimm.ee
State New
Headers show
Series Add bootloaders and update U-Boot. | expand

Commit Message

Herman Rimm April 1, 2024, 8:22 p.m. UTC
* gnu/bootloader/u-boot.scm (u-boot-orangepi-zero2w-bootloader): Add
variable.
* gnu/packages/bootloaders.scm (u-boot-orangepi-zero2w): Add variable.
* gnu/packages/firmware.scm (arm-trusted-firmware-sun50i-h616): Add
variable.

Change-Id: Idb43fdabac51b3301f3bea24fec72bfa29636489
---
 gnu/bootloader/u-boot.scm    |  6 ++++++
 gnu/packages/bootloaders.scm | 18 ++++++++++++++++++
 gnu/packages/firmware.scm    |  6 ++++++
 3 files changed, 30 insertions(+)
diff mbox series

Patch

diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 4d0f7ead96..50e4563390 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -40,6 +40,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
@@ -266,6 +267,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 ae604ab5bb..829c5d3a7e 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1144,6 +1144,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 baf96a8212..b26610267c 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1156,6 +1156,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"))