summaryrefslogtreecommitdiff
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)
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 c57d4964c85..6f4dc94828e 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -91,7 +91,7 @@
91 91
92(define install-puma-rk3399-u-boot 92(define install-puma-rk3399-u-boot
93 #~(lambda (bootloader root-index image) 93 #~(lambda (bootloader root-index image)
94 (let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd")) 94 (let ((spl (string-append bootloader "/libexec/idbloader.img"))
95 (u-boot (string-append bootloader "/libexec/u-boot.itb"))) 95 (u-boot (string-append bootloader "/libexec/u-boot.itb")))
96 (write-file-on-device spl (stat:size (stat spl)) 96 (write-file-on-device spl (stat:size (stat spl))
97 image (* 64 512)) 97 image (* 64 512))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 60556dc5016..99281b2cc63 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.")
813 (package 813 (package
814 (inherit base) 814 (inherit base)
815 (arguments 815 (arguments
816 (substitute-keyword-arguments (package-arguments base) 816 (substitute-keyword-arguments (package-arguments base)
817 ((#:phases phases) 817 ((#:phases phases)
818 `(modify-phases ,phases 818 `(modify-phases ,phases
819 (add-after 'unpack 'set-environment 819 (add-after 'unpack 'set-environment
820 (lambda* (#:key inputs #:allow-other-keys) 820 (lambda* (#:key inputs #:allow-other-keys)
821 ;; Need to copy the firmware into u-boot build 821 (setenv "BL31" (string-append (assoc-ref inputs "firmware")
822 ;; directory. 822 "/bl31.elf"))
823 (copy-file (string-append (assoc-ref inputs "firmware") 823 #t))
824 "/bl31.bin") "bl31-rk3399.bin") 824 ;; Phases do not succeed on the bl31 ELF.
825 (copy-file (string-append (assoc-ref inputs "firmware-m0") 825 (delete 'strip)
826 "/rk3399m0.bin") "rk3399m0.bin") 826 (delete 'validate-runpath)))))
827 #t))
828 (add-after 'build 'build-itb
829 (lambda* (#:key make-flags #:allow-other-keys)
830 ;; The u-boot.itb is not built by default.
831 (apply invoke "make" `(,@make-flags ,"u-boot.itb"))))
832 (add-after 'build-itb 'build-rksd
833 (lambda* (#:key inputs #:allow-other-keys)
834 ;; Build Rockchip SD card images.
835 (invoke "./tools/mkimage" "-T" "rksd" "-n" "rk3399" "-d"
836 "spl/u-boot-spl.bin" "u-boot-spl.rksd")))))))
837 (native-inputs 827 (native-inputs
838 `(("firmware" ,arm-trusted-firmware-puma-rk3399) 828 `(("firmware" ,arm-trusted-firmware-rk3399)
839 ("firmware-m0" ,rk3399-cortex-m0)
840 ,@(package-native-inputs base)))))) 829 ,@(package-native-inputs base))))))
841 830
842(define-public u-boot-qemu-riscv64 831(define-public u-boot-qemu-riscv64
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index eb422af8b54..c9a68f5a93d 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -550,26 +550,6 @@ such as:
550(define-public arm-trusted-firmware-rk3328 550(define-public arm-trusted-firmware-rk3328
551 (make-arm-trusted-firmware "rk3328")) 551 (make-arm-trusted-firmware "rk3328"))
552 552
553(define-public arm-trusted-firmware-puma-rk3399
554 (let ((base (make-arm-trusted-firmware "rk3399"))
555 ;; Vendor's arm trusted firmware branch hasn't been upstreamed yet.
556 (commit "d71e6d83612df896774ec4c03d49500312d2c324")
557 (revision "1"))
558 (package
559 (inherit base)
560 (name "arm-trusted-firmware-puma-rk3399")
561 (version (git-version "1.3" revision commit))
562 (source
563 (origin
564 (method git-fetch)
565 (uri (git-reference
566 (url "https://git.theobroma-systems.com/arm-trusted-firmware.git")
567 (commit commit)))
568 (file-name (git-file-name name version))
569 (sha256
570 (base32
571 "0vqhwqqh8h9qlkpybg2v94911091c1418bc4pnzq5fd7zf0fjkf8")))))))
572
573(define-public arm-trusted-firmware-rk3399 553(define-public arm-trusted-firmware-rk3399
574 (let ((base (make-arm-trusted-firmware "rk3399"))) 554 (let ((base (make-arm-trusted-firmware "rk3399")))
575 (package 555 (package
@@ -579,46 +559,3 @@ such as:
579 `(("cross32-gcc" ,(cross-gcc "arm-none-eabi")) 559 `(("cross32-gcc" ,(cross-gcc "arm-none-eabi"))
580 ("cross32-binutils", (cross-binutils "arm-none-eabi")) 560 ("cross32-binutils", (cross-binutils "arm-none-eabi"))
581 ,@(package-native-inputs base)))))) 561 ,@(package-native-inputs base))))))
582
583(define-public rk3399-cortex-m0
584 (package
585 (name "rk3399-cortex-m0")
586 (version "1")
587 (source
588 (origin
589 (method git-fetch)
590 (uri (git-reference
591 (url "https://git.theobroma-systems.com/rk3399-cortex-m0.git")
592 (commit (string-append "v" version))))
593 (file-name (git-file-name "rk3399-cortex-m0" version))
594 (sha256
595 (base32
596 "02wz1vkf4j3zc8rx289z76xhrf71jhb2p05lvmygky393a9gjh9w"))))
597 (home-page "https://git.theobroma-systems.com/rk3399-cortex-m0.git/about/")
598 (synopsis "PMU Cortex M0 firmware for RK3399 Q7 (Puma)")
599 (description
600 "Cortex-M0 firmware used with the RK3399 to implement
601power-management functionality and helpers (e.g. DRAM frequency
602switching support).\n")
603 (license license:bsd-3)
604 (build-system gnu-build-system)
605 (arguments
606 `(#:phases
607 (modify-phases %standard-phases
608 (delete 'configure)
609 (delete 'check)
610 (replace 'install
611 (lambda* (#:key outputs #:allow-other-keys)
612 (let ((out (assoc-ref outputs "out"))
613 (mzerofiles (find-files "." "rk3399m0.(elf|bin)$")))
614 (for-each
615 (lambda (file)
616 (install-file file out))
617 mzerofiles))
618 #t))
619 (add-before 'build 'setenv
620 (lambda* (#:key inputs #:allow-other-keys)
621 (setenv "CROSS_COMPILE" "arm-none-eabi-")
622 #t)))))
623 (native-inputs `(("cross-gcc" ,(cross-gcc "arm-none-eabi" #:xgcc gcc-7))
624 ("cross-binutils" ,(cross-binutils "arm-none-eabi"))))))