me
/
guix
Archived
1
0
Fork 0

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.
master
Vagrant Cascadian 2021-02-08 07:06:32 -08:00
parent be33acc260
commit 15990546a5
No known key found for this signature in database
GPG Key ID: DC518FC87F9716AA
3 changed files with 13 additions and 87 deletions

View File

@ -91,7 +91,7 @@
(define install-puma-rk3399-u-boot (define install-puma-rk3399-u-boot
#~(lambda (bootloader root-index image) #~(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"))) (u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device spl (stat:size (stat spl)) (write-file-on-device spl (stat:size (stat spl))
image (* 64 512)) image (* 64 512))

View File

@ -813,30 +813,19 @@ to Novena upstream, does not load u-boot.img from the first partition.")
(package (package
(inherit base) (inherit base)
(arguments (arguments
(substitute-keyword-arguments (package-arguments base) (substitute-keyword-arguments (package-arguments base)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-after 'unpack 'set-environment (add-after 'unpack 'set-environment
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Need to copy the firmware into u-boot build (setenv "BL31" (string-append (assoc-ref inputs "firmware")
;; directory. "/bl31.elf"))
(copy-file (string-append (assoc-ref inputs "firmware") #t))
"/bl31.bin") "bl31-rk3399.bin") ;; Phases do not succeed on the bl31 ELF.
(copy-file (string-append (assoc-ref inputs "firmware-m0") (delete 'strip)
"/rk3399m0.bin") "rk3399m0.bin") (delete 'validate-runpath)))))
#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")))))))
(native-inputs (native-inputs
`(("firmware" ,arm-trusted-firmware-puma-rk3399) `(("firmware" ,arm-trusted-firmware-rk3399)
("firmware-m0" ,rk3399-cortex-m0)
,@(package-native-inputs base)))))) ,@(package-native-inputs base))))))
(define-public u-boot-qemu-riscv64 (define-public u-boot-qemu-riscv64

View File

@ -550,26 +550,6 @@ such as:
(define-public arm-trusted-firmware-rk3328 (define-public arm-trusted-firmware-rk3328
(make-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 (define-public arm-trusted-firmware-rk3399
(let ((base (make-arm-trusted-firmware "rk3399"))) (let ((base (make-arm-trusted-firmware "rk3399")))
(package (package
@ -579,46 +559,3 @@ such as:
`(("cross32-gcc" ,(cross-gcc "arm-none-eabi")) `(("cross32-gcc" ,(cross-gcc "arm-none-eabi"))
("cross32-binutils", (cross-binutils "arm-none-eabi")) ("cross32-binutils", (cross-binutils "arm-none-eabi"))
,@(package-native-inputs base)))))) ,@(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"))))))