Commit graph

917 commits

Author SHA1 Message Date
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
Tim Crawford
d38dd19438 Updates for darp10, bonw15-b
The primary changes are:

- darp10: Fix USB3 detection in Type-C ports
- bonw15-b: Add new board

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-09-11 11:16:30 -06:00
Tim Crawford
72c6b1f950 cfl: Update CSME to 12.0.94.2380v9
Update CSME to the version from CFL-S/H IPU 24.1 (Kit 792171).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-08-30 13:13:34 -06:00
Tim Crawford
e4d1edb608 whl-u: Update CSME to 12.0.95.2489v2
Update CSME to the version from WHL-U IPU 24.3 (Kit 813614).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-30 18:29:41 +02:00
Tim Crawford
51f639a6b9 Add support for second fan without a dGPU
Decouple the fan logic from the dGPU logic. Firmware now supports a
second fan on systems without a dGPU, such as darp10.

Behavioral changes:

- ectool: Fans are now indexed from 1 instead of 0
- Linux: darp10 now reports details about the second fan

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-25 11:38:18 -06:00
Tim Crawford
fa07aeb91c Update Rust toolchain config
Remove rust-src as it is not required. Use a minimal profile with
clippy and rustfmt installed, instead of the default profile, as
rust-docs is not needed.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-17 11:06:20 -06:00
Tim Crawford
926f73d114 firmware-setup: Revert unlock prompt change
The EC will already be set to unlocked at this point, so the prompt
must be run even when in the "Unlock" state. This is fine, as the
prompt is for physical presence detection.

Only lemp13-b has a release affected by this change.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-08 12:50:36 -06:00
Tim Crawford
9772eaadeb cml-u: Update CSME to 14.1.74.2355v6
Update CSME to the version from CML-U IPU 24.3 (Kit 813939).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-02 16:07:06 -06:00
Tim Crawford
88a0834880 cml-h: Update CSME to 14.1.74.2355v6
Update CSME to the version from CML-S/H BKC IPU 2024.3 (Kit 817210).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-02 16:07:06 -06:00
Tim Crawford
54c3ef88b7 coreboot: lemp13: Add support for 5600 MT/s soldered RAM
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-01 07:23:23 -06:00
Tim Crawford
f9b96ddb9d apps: Update firmware-setup and firmware-update
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-07-01 07:23:23 -06:00
Tim Crawford
2ac41d8ef3 tgl: Update CSME to 15.0.49.2573
Update CSME to the version in the IPU 2024.3 kits.

- TGL-H: Kit 817417
- TGL-U: Kit 817408

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-06-28 10:10:08 -06:00
Tim Crawford
9e418a22ff ec: Fix touchpad in PS/2 mode
Clear PS/2 status to prevent data for writes being detected on reads,
which was causing drivers to stop working.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-06-26 11:54:53 -06:00
Tim Crawford
9c111c2c9e jenkins: Add lemp13-b
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-06-14 06:58:50 -06:00