Commit graph

930 commits

Author SHA1 Message Date
Tim Crawford
4ba5baa138
container: Explicitly add Cargo to PATH
Some checks failed
CI / toolchain (push) Has been cancelled
CI / build (push) Has been cancelled
Remove relying on rustup updating PATH, because it only works for login
shells. Fixes building from the host with a volume mounted.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-06-25 11:15:51 -06:00
Tim Crawford
4cb137e917
Update container
- Update image to debian:bookworm-20250520-slim
- Update coreboot to 25.03
- Use repo commit as tag

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-06-25 09:57:28 -06:00
Levi Portenier
d5e14a914e
Merge pull request #623 from crawfxrd/addw4-boost-tpp
Some checks failed
CI / toolchain (push) Has been cancelled
CI / build (push) Has been cancelled
addw4: Enable GPU Boost with TPP set to 45W
2025-05-30 13:30:07 -06:00
Tim Crawford
d6ae3d04a2
addw4: Enable GPU Boost with TPP set to 45W
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-05-30 13:01:24 -06:00
Tim Crawford
7a185c8e10 addw4: Disable GPU Boost
Disable feature as it causing GPU to fail under load, such as running
FurMark as part of Phoronix Test Suite.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-05-30 19:23:44 +02:00
Tim Crawford
1c8193bffa jenkins: Fix string concat
Some checks failed
CI / toolchain (push) Has been cancelled
CI / build (push) Has been cancelled
Does Groovy parse the running script line-by-line? Apparently, `+` must
exist on the starting line for it to know that the next line is a
continuation.

Fixes: 99ffbf9bdb ("jenkins: Add darp11, darp11-b")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-05-23 17:24:48 +02:00
Tim Crawford
4fc740e789 docs: Add note about checking out submodules
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-04-28 13:38:52 -06:00
Tim Crawford
01b624ae64 Update coreboot to 25.03
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-04-28 13:38:52 -06:00
Tim Crawford
42f142415f scripts: Use coreboot mirror for building toolchain
The NASM website has been offline for days. Use the coreboot mirror to
fix building the toolchain.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-04-22 13:40:04 -06:00
Tim Crawford
99ffbf9bdb jenkins: Add darp11, darp11-b
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-04-18 10:49:47 -06:00
Tim Crawford
04c4e20b68 coreboot: Add another ARL-H GPU ID
Fixes display output on darp11 when booting with only 1 DIMM.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-04-03 11:17:11 -06:00
Tim Crawford
25772d2da0 coreboot: Update ARL PCI IDs
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-28 14:56:14 -06:00
Tim Crawford
86d2c56d1f scripts: Fix adding SBIOS firmware to USB
Fixes: 618a266e70 ("scripts: Split creating USB image to separate script")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-24 20:12:33 +00:00
Jeremy Soller
658f6d956c
darp11 (#606)
* Add darp11 extract

* Exclude coreboot-collector and ecspy from workspace

* Update ec

* Add darp11 blobs, config, and FSP

* Update coreboot and ec

* Add darp11-b blobs and config (from darp11)

* darp11-b: Add dump

Signed-off-by: Tim Crawford <tcrawford@system76.com>

* Exclude ec/ecflash from workspace

* Update coreboot

* Update coreboot-collector and intel-spi

* Exclude intel-spi from workspace

* Update firmware-update

* Update intel-spi

* Update coreboot

* darp11-b: Update CSME

- Disable Boot Guard
- Disable PTT
- Disable locking the descriptor at EOM

Signed-off-by: Tim Crawford <tcrawford@system76.com>

* Update firmware-update

* Update ec

* Update coreboot

* Update changelog

---------

Signed-off-by: Tim Crawford <tcrawford@system76.com>
Co-authored-by: Tim Crawford <tcrawford@system76.com>
2025-03-20 14:56:21 -06:00
Tim Crawford
873e2f0593 ci: Skip LFS, submodules for building toolchain
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-12 10:46:02 -06:00
Tim Crawford
25aa330fe7 ci: Set lookup-only when checking toolchain exists
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-12 10:46:02 -06:00
Tim Crawford
acad945825 ci: Add GitHub Actions
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-11 14:11:29 -06:00
Tim Crawford
5b8094fc92 Remove READMEs that are just directory listings
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-11 14:11:07 -06:00
Tim Crawford
d7549abe48 Convert modeltool to workspace package
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-11 14:11:07 -06:00
Tim Crawford
46cd5d16bb Move modeltool from scripts/ to tools/
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-11 14:11:07 -06:00
Tim Crawford
618a266e70
scripts: Split creating USB image to separate script
The USB image is not a required output, but becomes half of the total
size of the build artifacts as it creates copies of the firmware images.
Move the logic to a separate script so that CI will not contain it, but
users can create the image after building the firmware.

    ./scripts/build.sh <model>
    ./scripts/usb.sh <model>

Reduces the size of the ZIP archive created by Jenkins by ~50%.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-03-10 10:26:27 -06:00
Tim Crawford
8aa7244fe7
Update Rust toolchain to 1.85.0, edition to 2024
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-02-28 09:17:26 -07:00
Tim Crawford
102269c082 Update UEFI apps
- firmware-update: Remove logic for most BIOS tools
- gop-policy: Remove heap allocations

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-02-04 11:58:50 -07:00
Tim Crawford
763b9466af Update EC
- Change dynamic keymap to load/save to last sector of EC flash instead
  of a hard-coded address of 128 KiB
- Add persistent battery charging thresholds by writing them to EC flash
- Change fan update interval to 1 second
- Change fan duty calculations to use a moving average of temperatures
  over 1 second instead of instantaneous reads
- Add EC support for manual fan control via target PWM

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-02-04 11:58:50 -07:00
Tim Crawford
bcc57b9d51 coreboot: Add power_on_after_fail for meer9
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-02-04 11:58:50 -07:00
Tim Crawford
7c15b7dacb scripts: Fix flashing without systemd-boot
Set `EFI_PATH` to `/boot/efi` as a default for systems that do not have
bootctl from systemd-boot.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-01-13 15:54:45 -07:00
Tim Crawford
29f1352365 scripts: Remove distutils from deps
Package is deprecated and removed in Ubuntu 24.04.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-01-13 15:54:45 -07:00
Tim Crawford
c984fabeb5 coreboot: Update ucode to microcode-20241112
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-01-13 14:37:49 -07:00
Tim Crawford
46ee1f90cd edk2: Enable boot timeout control via "Timeout"
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2025-01-07 13:42:02 -07:00
Tim Crawford
5ea0ba7378 models: Select coreboot TPM_PPI
We don't use coreboot's PAYLOAD_EDK2, so this option is not getting
selected by default. Replaces the stub PPI with the full implementation.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-12-24 10:19:14 -07:00
Tim Crawford
f1a4d89b74 Update firmware apps
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-12-24 10:17:35 -07:00
Tim Crawford
0efa282453 tools: Update intel-spi
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-12-24 10:17:35 -07:00
Tim Crawford
698de208cb meer9: Add to Jenkins, add release note in changelog
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-12-09 15:30:27 -07:00
Tim Crawford
5b1f59796d Disable CSME during firmware update on meer9
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-12-09 15:30:27 -07:00
Jeremy Soller
65d61f6c03 edk2: Only check webcam status on laptops 2024-12-09 15:30:27 -07:00
Jeremy Soller
d6ddffee29 Disable meer9 serial debug 2024-12-09 15:30:27 -07:00
Jeremy Soller
edb61cad07 Add meer9 2024-12-09 15:30:27 -07:00
Tim Crawford
ac3f33ed64 Update changelog
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-22 07:48:09 -07:00
Tim Crawford
edd2e90f02 container: Remove nightly-2023-01-21 toolchain
firmware-setup has been updated to be able to use newer toolchains.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-22 07:48:09 -07:00
Tim Crawford
07a6b0c675 Update UEFI apps to redox_uefi_std 0.1.13
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-22 07:48:09 -07:00
Tim Crawford
c8ef66d137 coreboot: Enable NPU on MTL boards
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-19 14:12:49 -07:00
Tim Crawford
e206f5b68c Add bonw15-b to Jenkins builds
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-15 14:04:49 -07:00
Tim Crawford
3361616fd1 Update container file
- Change image from trixie-20240701-slim to bookworm-20241016-slim
  - unstable doesn't keep GNAT in sync with GCC, which causes problems
    when compiling coreboot SDK
- Update coreboot SDK from 24.02 to 24.08
  - Match coreboot submodule base
- Add workaround for bug in rustup 1.27
- Add link to firmware-setup issue to track toolchain blocker
- Put `&&` at beginning of all chained commands for consistency, and to
  reduce the diff if commands are added/removed

Locally built image is 3.77 GiB.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-12 08:55:34 -07:00
Brian Hong
9671f19fd6 drivers/qemu: Merge display driver config option name
Upstream coreboot merged the config name back.
As-is, fails to build for qemu in
./scripts/_build/coreboot.sh:check_configs

Related commit: 30610597f2
2024-11-11 12:47:31 -07:00
Tim Crawford
8399c09798 Add Containerfile for development
Add a command to create a Debian-based container with the coreboot,
SDCC, and Rust toolchains installed in order to minimize the setup time
of a container-based workflow, such as CI.

    make -C containers
    podman run -it --rm \
        -v $PWD:/workspace:Z \
        -v ~/.ccache:/root/.ccache:Z \
        system76/firmware-open:latest \
        ./scripts/build.sh oryp8

A locally built image is 2.46 GiB.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-11 09:33:08 -07:00
Tim Crawford
7265ca3579 bonw15-b: Increase hotplug memory
Table 4-6 states that BIOS should reserve:

- 96 MiB non-prefetchable memory
- 2x16 GiB prefetchable memory

So increase to 96 MiB and 16 GiB.

Ref: Barlow Ridge BIOS Implementation Guide (#782921)
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-04 10:12:53 -07:00
Tim Crawford
da25c9d28d bonw15-b: Update CSME
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-04 10:12:53 -07:00
Tim Crawford
ee6ca9030f bonw15-b: Add variant for new Bonobo
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-11-04 10:12:53 -07:00
Tim Crawford
6a578ee1cf Update coreboot to 24.08
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-09-17 11:26:16 -06:00
Tim Crawford
351d80dda2 ec: Replace fan interpolation/smoothing with fixed step
This change is made separately from the previous commit as it is a
significant change in behavior that affects all laptops. Copying the
message from the EC commit:

> Fan noise is one of the top complaints reported. The existing
> interpolation and smoothing logic has not sufficiently addressed the
> issues with fans changing speeds too quickly in response to rapid
> changes in thermals (particularly from PECI).
>
> This behavior can be observed by with very basic tasks, such as:
>
> - Powering on a system and logging into GNOME
> - Starting a GUI application such as Firefox
>
> Replace them with a fixed step update per event interval. Fans now have
> a maximum amount they change change over time (3.9%/sec) as they move
> towards a target duty.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-09-11 11:16:30 -06:00