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.
This commit is contained in:
parent
be33acc260
commit
15990546a5
@ -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))
|
||||
|
@ -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
|
||||
|
@ -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"))))))
|
||||
|
Loading…
Reference in New Issue
Block a user