diff mbox series

[bug#64149,v3,3/6] gnu: u-boot: Add crust firmware to pinebook, pine64_plus and pine64-lts.

Message ID 20230712145206.298746-3-vagrant@debian.org
State New
Headers show
Series Update u-boot to 2023.07.02 | expand

Commit Message

Vagrant Cascadian July 12, 2023, 2:52 p.m. UTC
From: Vagrant Cascadian <vagrant@debian.org>

* gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package): Take argument
  for System Control Processor (SCP) firmware.
  [native-inputs]: Add SCP firmware.
  [phases]: Adjust 'set-environment to also set SCP variable.
  (u-boot-pine64-plus, u-boot-pine64-lts, u-boot-pinebook): Pass appropriate
  crust firmware as the SCP firmware.
---
 gnu/packages/bootloaders.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Maxim Cournoyer July 15, 2023, 2:46 a.m. UTC | #1
Hi,

vagrant@debian.org writes:

> From: Vagrant Cascadian <vagrant@debian.org>
>
> * gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package): Take argument
>   for System Control Processor (SCP) firmware.
>   [native-inputs]: Add SCP firmware.
>   [phases]: Adjust 'set-environment to also set SCP variable.
>   (u-boot-pine64-plus, u-boot-pine64-lts, u-boot-pinebook): Pass appropriate
>   crust firmware as the SCP firmware.

Nitpick: extraneous hanging indent in ChangeLog-style commit message.

> ---
>  gnu/packages/bootloaders.scm | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
> index d1633b2b70..afea47b457 100644
> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
> @@ -1009,7 +1009,7 @@ (define-public u-boot-am335x-boneblack
>  (define-public u-boot-am335x-evm
>    (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))
>  
> -(define*-public (make-u-boot-sunxi64-package board triplet
> +(define*-public (make-u-boot-sunxi64-package board triplet scpfirmware
>                                               #:key defconfig configs)

I'd name the argument 'scp-firmware'.

>    (let ((base (make-u-boot-package
>                 board triplet #:defconfig defconfig #:configs configs)))
> @@ -1021,22 +1021,24 @@ (define*-public (make-u-boot-sunxi64-package board triplet
>            #~(modify-phases #$phases
>                (add-after 'unpack 'set-environment
>                  (lambda* (#:key native-inputs inputs #:allow-other-keys)
> -                  ;; Avoid dependency on crust-firmware https://issues.guix.gnu.org/48371
> -                  (setenv "SCP" "/dev/null")
> +                  (setenv "SCP" (search-input-file native-inputs "libexec/scp.bin"))
>                    (setenv "BL31" (search-input-file inputs "bl31.bin"))))))))
> +      (native-inputs
> +       (modify-inputs (package-native-inputs base)
> +         (append scpfirmware)))
>        (inputs
>         (modify-inputs (package-inputs base)
>           (append arm-trusted-firmware-sun50i-a64))))))
>  
>  (define-public u-boot-pine64-plus
> -  (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu"))
> +  (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu" crust-pine64-plus))
>  
>  (define-public u-boot-pine64-lts
> -  (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu"))
> +  (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu" crust-pine64-plus))
>  
>  (define-public u-boot-pinebook
>    (make-u-boot-sunxi64-package
> -   "pinebook" "aarch64-linux-gnu"
> +   "pinebook" "aarch64-linux-gnu" crust-pinebook
>     ;; Fix regression with LCD video output introduced in 2020.01
>     ;; https://patchwork.ozlabs.org/patch/1225130/
>     #:configs '("CONFIG_VIDEO_BPP32=y")))

nitpick: Please break lines touched larger than 80 characters.  The rest
LGTM!
diff mbox series

Patch

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index d1633b2b70..afea47b457 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1009,7 +1009,7 @@  (define-public u-boot-am335x-boneblack
 (define-public u-boot-am335x-evm
   (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))
 
-(define*-public (make-u-boot-sunxi64-package board triplet
+(define*-public (make-u-boot-sunxi64-package board triplet scpfirmware
                                              #:key defconfig configs)
   (let ((base (make-u-boot-package
                board triplet #:defconfig defconfig #:configs configs)))
@@ -1021,22 +1021,24 @@  (define*-public (make-u-boot-sunxi64-package board triplet
           #~(modify-phases #$phases
               (add-after 'unpack 'set-environment
                 (lambda* (#:key native-inputs inputs #:allow-other-keys)
-                  ;; Avoid dependency on crust-firmware https://issues.guix.gnu.org/48371
-                  (setenv "SCP" "/dev/null")
+                  (setenv "SCP" (search-input-file native-inputs "libexec/scp.bin"))
                   (setenv "BL31" (search-input-file inputs "bl31.bin"))))))))
+      (native-inputs
+       (modify-inputs (package-native-inputs base)
+         (append scpfirmware)))
       (inputs
        (modify-inputs (package-inputs base)
          (append arm-trusted-firmware-sun50i-a64))))))
 
 (define-public u-boot-pine64-plus
-  (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu"))
+  (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu" crust-pine64-plus))
 
 (define-public u-boot-pine64-lts
-  (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu"))
+  (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu" crust-pine64-plus))
 
 (define-public u-boot-pinebook
   (make-u-boot-sunxi64-package
-   "pinebook" "aarch64-linux-gnu"
+   "pinebook" "aarch64-linux-gnu" crust-pinebook
    ;; Fix regression with LCD video output introduced in 2020.01
    ;; https://patchwork.ozlabs.org/patch/1225130/
    #:configs '("CONFIG_VIDEO_BPP32=y")))