diff options
| author | Vagrant Cascadian <vagrant@debian.org> | 2021-02-08 07:06:32 -0800 |
|---|---|---|
| committer | Vagrant Cascadian <vagrant@debian.org> | 2021-02-08 07:18:41 -0800 |
| commit | 15990546a5c26742fcbc7f7aa56b2a6db09dc643 (patch) | |
| tree | 1e4ac05a8def4699e77db9fce2bc3a1097d255a7 | |
| parent | be33acc260a0759909a44ebad6043a9853f44bbe (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.scm | 2 | ||||
| -rw-r--r-- | gnu/packages/bootloaders.scm | 35 | ||||
| -rw-r--r-- | gnu/packages/firmware.scm | 63 |
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 | ||
| 601 | power-management functionality and helpers (e.g. DRAM frequency | ||
| 602 | switching 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")))))) | ||
