summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/bootloader/u-boot.scm17
-rw-r--r--gnu/packages/bootloaders.scm26
-rw-r--r--gnu/system/install.scm6
3 files changed, 49 insertions, 0 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 4f98be2483a..20eabc370c2 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -34,6 +34,7 @@
34 u-boot-pine64-plus-bootloader 34 u-boot-pine64-plus-bootloader
35 u-boot-pinebook-bootloader 35 u-boot-pinebook-bootloader
36 u-boot-puma-rk3399-bootloader 36 u-boot-puma-rk3399-bootloader
37 u-boot-rock64-rk3328-bootloader
37 u-boot-rockpro64-rk3399-bootloader 38 u-boot-rockpro64-rk3399-bootloader
38 u-boot-wandboard-bootloader)) 39 u-boot-wandboard-bootloader))
39 40
@@ -91,6 +92,15 @@
91 (write-file-on-device u-boot (stat:size (stat u-boot)) 92 (write-file-on-device u-boot (stat:size (stat u-boot))
92 device (* 512 512))))) 93 device (* 512 512)))))
93 94
95(define install-rock64-rk3328-u-boot
96 #~(lambda (bootloader device mount-point)
97 (let ((idb (string-append bootloader "/libexec/idbloader.img"))
98 (u-boot (string-append bootloader "/libexec/u-boot.itb")))
99 (write-file-on-device idb (stat:size (stat idb))
100 device (* 64 512))
101 (write-file-on-device u-boot (stat:size (stat u-boot))
102 device (* 16384 512)))))
103
94(define install-rockpro64-rk3399-u-boot 104(define install-rockpro64-rk3399-u-boot
95 #~(lambda (bootloader device mount-point) 105 #~(lambda (bootloader device mount-point)
96 (let ((idb (string-append bootloader "/libexec/idbloader.img")) 106 (let ((idb (string-append bootloader "/libexec/idbloader.img"))
@@ -190,6 +200,13 @@
190 (package u-boot-puma-rk3399) 200 (package u-boot-puma-rk3399)
191 (installer install-puma-rk3399-u-boot))) 201 (installer install-puma-rk3399-u-boot)))
192 202
203(define u-boot-rock64-rk3328-bootloader
204 ;; SD and eMMC use the same format
205 (bootloader
206 (inherit u-boot-bootloader)
207 (package u-boot-rock64-rk3328)
208 (installer install-rock64-rk3328-u-boot)))
209
193(define u-boot-rockpro64-rk3399-bootloader 210(define u-boot-rockpro64-rk3399-bootloader
194 ;; SD and eMMC use the same format 211 ;; SD and eMMC use the same format
195 (bootloader 212 (bootloader
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 45e1b8fc1cb..d2f4d511db8 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -759,6 +759,32 @@ to Novena upstream, does not load u-boot.img from the first partition.")
759 ("firmware-m0" ,rk3399-cortex-m0) 759 ("firmware-m0" ,rk3399-cortex-m0)
760 ,@(package-native-inputs base)))))) 760 ,@(package-native-inputs base))))))
761 761
762(define-public u-boot-rock64-rk3328
763 (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
764 (package
765 (inherit base)
766 (version (package-version u-boot-2019.10))
767 (source (package-source u-boot-2019.10))
768 (arguments
769 (substitute-keyword-arguments (package-arguments base)
770 ((#:phases phases)
771 `(modify-phases ,phases
772 (add-after 'unpack 'set-environment
773 (lambda* (#:key inputs #:allow-other-keys)
774 (let ((bl31 (string-append (assoc-ref inputs "firmware")
775 "/bl31.elf")))
776 (setenv "BL31" bl31))
777 #t))
778 (add-after 'unpack 'add-u-boot-itb
779 (lambda _
780 (substitute* "Kconfig"
781 (("default .u-boot.itb. if SPL_LOAD_FIT && .ROCKCHIP_RK3399")
782 "default \"u-boot.itb\" if SPL_LOAD_FIT && (ARCH_ROCKCHIP"))
783 #t))))))
784 (native-inputs
785 `(("firmware" ,arm-trusted-firmware-rk3328)
786 ,@(package-native-inputs base))))))
787
762(define-public u-boot-rockpro64-rk3399 788(define-public u-boot-rockpro64-rk3399
763 (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu"))) 789 (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu")))
764 (package 790 (package
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index eab36492695..a4502855976 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -62,6 +62,7 @@
62 novena-installation-os 62 novena-installation-os
63 pine64-plus-installation-os 63 pine64-plus-installation-os
64 pinebook-installation-os 64 pinebook-installation-os
65 rock64-installation-os
65 rockpro64-installation-os 66 rockpro64-installation-os
66 rk3399-puma-installation-os 67 rk3399-puma-installation-os
67 wandboard-installation-os 68 wandboard-installation-os
@@ -584,6 +585,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
584 "/dev/mmcblk0" ; SD card storage 585 "/dev/mmcblk0" ; SD card storage
585 "ttyS0")) 586 "ttyS0"))
586 587
588(define rock64-installation-os
589 (embedded-installation-os u-boot-rock64-rk3328-bootloader
590 "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage
591 "ttyS2")) ; UART2 connected on the Pi2 bus
592
587(define rockpro64-installation-os 593(define rockpro64-installation-os
588 (embedded-installation-os u-boot-rockpro64-rk3399-bootloader 594 (embedded-installation-os u-boot-rockpro64-rk3399-bootloader
589 "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage 595 "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage