[PATCH] gnu: Add embedded-controller-hx20.

  • Open
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Maxime Devos
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 10 May 2022 12:28
(name . Guix Patches)(address . guix-patches@gnu.org)
hkArDpBVH_rMN8Az9OXMvoqup47IIXE3Clr0XELDWqHK9CIl4pkCDI75-mLYiZENReIZdxJKR-LhNVYQNax92lR5BkvLp90ANzST4rqenQw=@protonmail.com
Hi,

here's a patch that brings firmware for the Embedded Controller on Framework laptops.

I wanted to put this package into gnu/packages/firmware.scm but due to arm-none-eabi toolchain and the usage of embedded.scm module the build generates only errors due to inclusion. Therefore I temporarily placed the package to gnu/packages/embedded.scm.

I'm unfortunately not an owner of Framework laptop so I can't test the built firmware. I also don't want to ask people to reflash the EC as incorrectly built binary can result in a bricked computer.

Therefore I'd like to open the discussion what should be the steps to include EC [1][2] in general into Guix so that more parts of the firmware will be open source where possible.

----
Petr
Attachment: file
From eb4dcfad9ad9126941acc0ba9522bbaa9d856fdf Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 28 Jan 2022 19:29:56 +0100
Subject: [PATCH] gnu: Add embedded-controller-hx20.

* gnu/packages/embedded.scm (embedded-controller-hx20): New variable.

Toggle diff (49 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index de8d2944bc..8b5dd99dc8 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -70,6 +70,42 @@ (define-module (gnu packages embedded)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
+
+(define-public embedded-controller-hx20
+(let ((commit "8109392adb17a2cd7d30a74eee8613a0cb72ee7d")
+ (revision "1"))
+ (package
+ (name "embedded-controller-hx20")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FrameworkComputer/EmbeddedController")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16y6v886ci97yxn8q54iwm9clx0kgvszrxp5vjh0hdldc9pamaij"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:make-flags '("BOARD=hx20" "CROSS_COMPILE=arm-none-eabi-")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'install))))
+ (native-inputs (list arm-none-eabi-toolchain-7-2018-q2-update
+ base:coreutils
+ perl pkg-config python python-2))
+ (inputs (list libftdi inetutils inetutils libusb))
+ (synopsis "Embedded Controller firmware for the Framework Laptop")
+ (description "The Embedded Controller on your Framework Laptop handles low
+level functions, including power sequencing the system. Modifying the EC code
+can cause your system to not power on or boot or cause damage to the mainboard,
+battery, or other parts of the system or devices attached to the system.")
+ (home-page "https://github.com/FrameworkComputer/EmbeddedController")
+ (license license:bsd-3))))
;; We must not use the released GCC sources here, because the cross-compiler
;; does not produce working binaries. Instead we take the very same SVN
;; revision from the branch that is used for a release of the "GCC ARM
--
2.34.0
M
M
Maxime Devos wrote on 10 May 2022 14:52
9bdaad8485e5f80a27f3b1fbfeac425ef4862c8a.camel@telenet.be
phodina via Guix-patches via schreef op di 10-05-2022 om 10:28 [+0000]:
Toggle quote (8 lines)
> +    #:make-flags '("BOARD=hx20" "CROSS_COMPILE=arm-none-eabi-
> ")
> +    #:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure)
> +         (delete 'install))))
> +    (native-inputs (list arm-none-eabi-toolchain-7-2018-q2-update

Maybe we can use Guix cross-compilation mechanism here:

(arguments
(list #:target "arm-none-eabi"
#:cross-implicit-inputs? #false ; custom gcc required because
[...]))
(native-inputs (list ...)

Also, why are 'libftdi, inetutils, ...' in inputs? Do they end up in
the firmware somehow? Or does embedded-controller-hx20 not only
contain firmware but also some kind of binaries to control the firmware
or such? If the latter, I don't think #:target can be used here.

Gree
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnpgGRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7sP2AQD5578/COTtHTXFsv4ArRmnl65I
9Jauxg9Rc5RoKw2uqAEAp1XB8vsMziJJgxircthaWC4eJT8XvwenSF4wGk8ZpgQ=
=haDH
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 10 May 2022 14:54
22879ed74824293fd864c95ad4cd828a25d68261.camel@telenet.be
phodina via Guix-patches via schreef op di 10-05-2022 om 10:28 [+0000]:
Toggle quote (4 lines)
> Modifying the EC code
> +can cause your system to not power on or boot or cause damage to the
> mainboard,

Maybe a qualifier ‘Modifying the EC code incorrectly’? Also maybe the
loss of warranty mentioned in the README?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnpgjhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7oUbAP9UMu2QdCdEZJ8LEaW3VA/0ll+t
/TTidNxJ6v1XDhqXwwEAw3lMihnF6fuW/S6y7e8U+hKMfZfjD13K8KMRKEF3uwE=
=q0V0
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 17 Jun 2022 22:38
Re: bug#55348: [PATCH] gnu: Add embedded-controller-hx20.
(name . phodina)(address . phodina@protonmail.com)(address . 55348@debbugs.gnu.org)
87zgibc9fr.fsf@gnu.org
Hi phodina,

phodina <phodina@protonmail.com> skribis:

Toggle quote (7 lines)
> From eb4dcfad9ad9126941acc0ba9522bbaa9d856fdf Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Fri, 28 Jan 2022 19:29:56 +0100
> Subject: [PATCH] gnu: Add embedded-controller-hx20.
>
> * gnu/packages/embedded.scm (embedded-controller-hx20): New variable.

Did you have a chance to look into addressing Maxime’s comments?


TIA,
Ludo’.
P
P
phodina wrote on 18 Jun 2022 06:49
(address . ludo@gnu.org)(address . 55348@debbugs.gnu.org)
E5HhZOoefPY54IhT-9YHf0FcqINlK_NZricx371lvj_GSpWo3b1IS7WEXW6NsO27ksndrXfAxhEiLqRaqmkUsjLZY3H_khEhqQboSbENz1k=@protonmail.com
Hi Ludo’,

Toggle quote (3 lines)
> Did you have a chance to look into addressing Maxime’s comments?
> https://issues.guix.gnu.org/55348

not yet, but I plan to do so next week.

----
Petr
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 55348@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 55348
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch