aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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"))))))