summary refs log tree commit diff
diff options
context:
space:
mode:
authorVagrant Cascadian <vagrant@debian.org>2021-02-08 07:06:32 -0800
committerVagrant Cascadian <vagrant@debian.org>2021-02-08 07:18:41 -0800
commit15990546a5c26742fcbc7f7aa56b2a6db09dc643 (patch)
tree1e4ac05a8def4699e77db9fce2bc3a1097d255a7
parentbe33acc260a0759909a44ebad6043a9853f44bbe (diff)
downloadguix-15990546a5c26742fcbc7f7aa56b2a6db09dc643.tar.gz
gnu: u-boot-puma-rk3399: Switch to using arm-trusted-firmware-rk3399.
* gnu/packages/bootloaders.scm (u-boot-puma-rk3399)[native-inputs]:
  Add arm-trusted-firmware-rk3399.
  Remove arm-trusted-firmware-puma-rk3399 and rk3399-cortex-m0.
* gnu/packages/firmware.scm (arm-trusted-firmware-puma-rk3399,
  rk3399-cortex-m0): Remove obsolete variables.
* gnu/bootloader/u-boot.scm (install-puma-rk3399-u-boot): Install
  idbloader.img.
-rw-r--r--gnu/bootloader/u-boot.scm2
-rw-r--r--gnu/packages/bootloaders.scm35
-rw-r--r--gnu/packages/firmware.scm63
3 files changed, 13 insertions, 87 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index c57d4964c8..6f4dc94828 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -91,7 +91,7 @@
 
 (define install-puma-rk3399-u-boot
   #~(lambda (bootloader root-index image)
-      (let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd"))
+      (let ((spl (string-append bootloader "/libexec/idbloader.img"))
             (u-boot (string-append bootloader "/libexec/u-boot.itb")))
         (write-file-on-device spl (stat:size (stat spl))
                               image (* 64 512))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 60556dc501..99281b2cc6 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -813,30 +813,19 @@ to Novena upstream, does not load u-boot.img from the first partition.")
     (package
       (inherit base)
       (arguments
-       (substitute-keyword-arguments (package-arguments base)
-         ((#:phases phases)
-          `(modify-phases ,phases
-             (add-after 'unpack 'set-environment
-               (lambda* (#:key inputs #:allow-other-keys)
-                 ;; Need to copy the firmware into u-boot build
-                 ;; directory.
-                 (copy-file (string-append (assoc-ref inputs "firmware")
-                                           "/bl31.bin") "bl31-rk3399.bin")
-                 (copy-file (string-append (assoc-ref inputs "firmware-m0")
-                                           "/rk3399m0.bin") "rk3399m0.bin")
-                 #t))
-             (add-after 'build 'build-itb
-               (lambda* (#:key make-flags #:allow-other-keys)
-                 ;; The u-boot.itb is not built by default.
-                 (apply invoke "make" `(,@make-flags ,"u-boot.itb"))))
-             (add-after 'build-itb 'build-rksd
-               (lambda* (#:key inputs #:allow-other-keys)
-                 ;; Build Rockchip SD card images.
-                 (invoke "./tools/mkimage" "-T" "rksd" "-n" "rk3399" "-d"
-                         "spl/u-boot-spl.bin" "u-boot-spl.rksd")))))))
+        (substitute-keyword-arguments (package-arguments base)
+          ((#:phases phases)
+           `(modify-phases ,phases
+              (add-after 'unpack 'set-environment
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (setenv "BL31" (string-append (assoc-ref inputs "firmware")
+                                                "/bl31.elf"))
+                  #t))
+              ;; Phases do not succeed on the bl31 ELF.
+              (delete 'strip)
+              (delete 'validate-runpath)))))
       (native-inputs
-       `(("firmware" ,arm-trusted-firmware-puma-rk3399)
-         ("firmware-m0" ,rk3399-cortex-m0)
+       `(("firmware" ,arm-trusted-firmware-rk3399)
          ,@(package-native-inputs base))))))
 
 (define-public u-boot-qemu-riscv64
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index eb422af8b5..c9a68f5a93 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -550,26 +550,6 @@ such as:
 (define-public arm-trusted-firmware-rk3328
   (make-arm-trusted-firmware "rk3328"))
 
-(define-public arm-trusted-firmware-puma-rk3399
-  (let ((base (make-arm-trusted-firmware "rk3399"))
-        ;; Vendor's arm trusted firmware branch hasn't been upstreamed yet.
-        (commit "d71e6d83612df896774ec4c03d49500312d2c324")
-        (revision "1"))
-    (package
-      (inherit base)
-      (name "arm-trusted-firmware-puma-rk3399")
-      (version (git-version "1.3" revision commit))
-      (source
-        (origin
-          (method git-fetch)
-          (uri (git-reference
-                 (url "https://git.theobroma-systems.com/arm-trusted-firmware.git")
-                 (commit commit)))
-          (file-name (git-file-name name version))
-          (sha256
-           (base32
-            "0vqhwqqh8h9qlkpybg2v94911091c1418bc4pnzq5fd7zf0fjkf8")))))))
-
 (define-public arm-trusted-firmware-rk3399
   (let ((base (make-arm-trusted-firmware "rk3399")))
     (package
@@ -579,46 +559,3 @@ such as:
        `(("cross32-gcc" ,(cross-gcc "arm-none-eabi"))
          ("cross32-binutils", (cross-binutils "arm-none-eabi"))
          ,@(package-native-inputs base))))))
-
-(define-public rk3399-cortex-m0
-  (package
-    (name "rk3399-cortex-m0")
-    (version "1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://git.theobroma-systems.com/rk3399-cortex-m0.git")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name "rk3399-cortex-m0" version))
-       (sha256
-        (base32
-         "02wz1vkf4j3zc8rx289z76xhrf71jhb2p05lvmygky393a9gjh9w"))))
-    (home-page "https://git.theobroma-systems.com/rk3399-cortex-m0.git/about/")
-    (synopsis "PMU Cortex M0 firmware for RK3399 Q7 (Puma)")
-    (description
-     "Cortex-M0 firmware used with the RK3399 to implement
-power-management functionality and helpers (e.g. DRAM frequency
-switching support).\n")
-    (license license:bsd-3)
-    (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (delete 'check)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (mzerofiles (find-files "." "rk3399m0.(elf|bin)$")))
-               (for-each
-                 (lambda (file)
-                   (install-file file out))
-                 mzerofiles))
-             #t))
-         (add-before 'build 'setenv
-           (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "CROSS_COMPILE" "arm-none-eabi-")
-             #t)))))
-    (native-inputs `(("cross-gcc" ,(cross-gcc "arm-none-eabi" #:xgcc gcc-7))
-                     ("cross-binutils" ,(cross-binutils "arm-none-eabi"))))))