diff mbox series

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

Message ID 48c5f96d062321d3befee3f5028e5a075118c60f.1715232797.git.herman@rimm.ee
State New
Headers show
Series Update U-boot. | expand

Commit Message

Herman Rimm May 9, 2024, 5:35 a.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 0b00afbe78..8d62c3dad8 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
@@ -274,6 +275,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 a6ba4b14da..9bc5aa7d40 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 d155c5365c..d282b4b684 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1154,6 +1154,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"))