Commit Graph

806 Commits

Author SHA1 Message Date
Tim Crawford
66d20b0138 Add FMP UUIDs for ESRT
These are just version 4 (random) UUIDs to use as FMP GUIDs.

This change was generated with the following command:

    find models/ -name edk2.config -exec bash -c 'echo -e "\n# FMP UUIDs for ESRT\nSYSTEM_FMP_UUID=$(uuidgen -r)\nEC_FMP_UUID=$(uuidgen -r)" >> {}' \;

And then staged for everything except QEMU.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-11-03 12:00:03 -06:00
Tim Crawford
2e4e34bf83 coreboot: Fix bonw15, oryp11 speaker output
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-20 15:06:52 -06:00
Tim Crawford
968a612824 scripts: Address shellcheck issues
Report issues by shell files with:

    git ls-files '*.sh' | xargs shellcheck --exclude=SC2162

Address the following:

- SC1087: Use braces when expanding arrays
- SC1091: Not following
- SC2004: `$`/`${}` is unnecessary on arithmetic variables
- SC2024: `sudo` doesn't affect redirects
- SC2034: foo appears unused. Verify it or export it
- SC2086: Double quote to prevent globbing and word splitting
- SC2087: Quote `EOF`
- SC2115: Use `"${var:?}"` to ensure this never expands to `/*`
- SC2148: Add a shebang

Addresses (at least partially) some POSIX/dash issues:

- SC2113: `function` keyword is non-standard
- SC3010: In POSIX sh, `[[` `]]` is undefined
- SC3014: In POSIX sh, `==` in place of `=` is undefined
- SC3020: In POSIX sh, `&>` is undefined
- SC3046: In POSIX sh, `source` in place of `.` is undefined

Does not address:

- SC2162: `read` without `-r` will mangle backslashes
- Any other POSIX/dash-specific issues

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 14:45:22 -06:00
Tim Crawford
aa32ba26e1 coreboot: Fix LTR for card reader on TGL-U boards
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 08:08:52 -06:00
Tim Crawford
38b6bdc6e9 Update Rust apps for new toolchain
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 08:08:11 -06:00
Tim Crawford
48079c3de2 Update Rust toolchain to 2023-09-07
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 08:08:11 -06:00
Tim Crawford
b379c94b76 Split building coreboot toolchains to a separate file
Specify dependencies specifically for building coreboot toolchains in
the file, so they are not conflated with the dependencies required for
building firmware-open.

Remove building the toolchain when building firmware, so that the new
script is the single source for building coreboot toolchains.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 08:08:02 -06:00
Tim Crawford
5fb1624187 Set and use XGCCPATH
Allow overriding the coreboot toolchain location with `XGCCPATH` so
that xgcc can be installed to a separate location, such as `/opt`.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-19 08:07:39 -06:00
Tim Crawford
5d997d1c41 coreboot: Fix OZ711LV2 LTR for galp5 3050 variant
Fix programming the LTR so that CPU can reach C-states deeper than C2.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-13 11:30:05 -06:00
Tim Crawford
c1dafbbfad scripts: Always set EC build dir
Building EC was broken as the build output from the previous board was
not being cleaned. `BUILD` is now always set, defaulting to "build",
instead of only when `BOARD` is specified. For good measure, add it
to the clean command in case a custom path is used.

Fixes: 569321f9ac ("scripts: Set EC build dir")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-12 13:27:55 -06:00
Tim Crawford
c4df2f4005 ec: Fix lock up during opportunistic suspend
Fix a potential lock up during S0ix opportunistic suspend, caused by
waiting indefinitely for a PECI command to complete when it is not
available.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-12 09:36:10 -06:00
Tim Crawford
569321f9ac scripts: Set EC build dir
Specify the EC build directory so that it does not require the model or
version to be determined in the script.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-11 19:05:16 -06:00
Tim Crawford
b22e8dee41 scripts: Split installing Rust to its own script
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-03 14:04:54 -06:00
Tim Crawford
51e3e1a53a Jenkins: Misc changes
- Use `GIT_COMMIT` instead of stashing the commit
- Do not shadow built-in `GIT_BRANCH` variable with a parameter
- Update `scmGit` config based on docs

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-02 09:51:15 -06:00
Tim Crawford
16ef69cb45 coreboot: rpl-hx: Add support for 5600 MHz RAM
Allow using 5600 MHz RAM on addw3, bonw15, and serw13.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-09-19 14:49:54 -06:00
Tim Crawford
42bf7a65d9 Update coreboot and ec
- coreboot: Fixed SMMSTORE init sometimes failing
- ec: Increased key debounce from 5ms to 10ms

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-09-08 16:52:38 -04:00
Tim Crawford
5a9565a684 adl: Update CSME to 16.1.25.2124
Generate new CSME images from ADL-P MR5 BKC (Kit 766225).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-09-07 10:34:31 -06:00
Tim Crawford
52f6d72713 docs: Add note about checking CSME state
I had forgotten that CSME reporting an error was normal when disabled.
Document what is should report when enabled/disabled.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-09-07 10:24:10 -04:00
Tim Crawford
5844541031 jenkins: Add build duration to Slack notifications
The scripted projects using the default Slack notifications settings
report the time the build took. Add it to the declarative jobs as well.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-30 16:46:30 -04:00
Jeremy Soller
81731199f2 Update coreboot and changelog 2023-08-23 14:04:40 -06:00
Tim Crawford
a8dd6c2c0b Update ec
- Changed battery charge start threshold to 90%
- Changed charger to disable when battery is full

These are made in response to Clevo's request for changes. The battery
now defaults to a charge-discharge cycle of 90-100% capacity instead of
always charging to 100%.

It is possible to force charging by setting the start threshold to 0, or
by resetting the EC (power off and unplug).

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-18 14:47:58 -06:00
Tim Crawford
38c7019286 Update coreboot
- Fixed CPU not going lower than C2 due to card reader LTR

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-18 14:47:58 -06:00
Tim Crawford
13dd3a4d86 Fix Jenkinsfile
Misc fixes to the Jenkinsfile that came up while setting up the new
Pipeline job on the build server.

The polling schedule is removed from the trigger because it was always
detecting a change and building.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-15 07:09:09 -06:00
Tim Crawford
616b2bfe7b scripts: Don't run git-lfs commands on CI
The `deps.sh` script needs to be run to set up a new Jenkins workspace.
The git-lfs commands fail with:

    mkdir /dev/null: not a directory
    To resolve this, either:
      1: run `git lfs update --manual` for instructions on how to merge hooks.
      2: run `git lfs update --force` to overwrite your hook.

Just don't run them, since Jenkins is configured to perform the LFS pull
when fetching the repo.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-15 07:09:09 -06:00
Tim Crawford
1d881de90c Add Jenkinsfile for Pipeline
This attempts to match the existing configuration of the firmware-open
project in Jenkins.

The curl command is constructed from the GitHub docs to submit the
commit status [1].

[1]: https://docs.github.com/en/rest/commits/statuses#create-a-commit-status

Ref: https://www.jenkins.io/doc/book/pipeline/
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-12 07:22:13 -06:00
Jacob Kauffmann
55c071e4f1 fix (docs): Update link to EC debugging 2023-08-10 09:34:33 -06:00
Tim Crawford
b9622a661a coreboot: Fix Bluetooth performance on TGL
- Enable `CnviBtAudioOffload` to fix issues with BT

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-09 09:23:16 -06:00
Tim Crawford
0e01b365ae Remove libs/
These are at best a convenience for working on them. They are not used
directly by firmware-open, only as dependencies in other projects.

- coreboot-table: Dependency of apps/firmware-setup
- coreboot-fs: Dependency of apps/firmware-update and libs/intel-spi
- intel-spi: Dependency of apps/firmware-update
- intelfash: Dependency of apps/firmware-update and scripts/modeltool
- uefi: Dependency of a lot of stuff

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-04 12:04:42 -06:00
Tim Crawford
0a210cd297 Update Rust toolchain to nightly-2023-01-21
All components have been updated to this version.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-04 11:59:08 -06:00
Tim Crawford
fcd8132165 Remove MinPlatform support
MinPlatform was only ever used for the KBL boards, and they no longer
build from this repo.

It is still possible to build coreboot-based firmware for KBL boards.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-04 11:41:26 -06:00
Tim Crawford
6a0eab38db changelog: Add section for 2023-07-19
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-03 17:01:09 -06:00
Tim Crawford
c90cf2f0f1 Remove firmware-smmstore
firmware-smmstore is a Rust-based application for compacting SMMSTOREv1,
which we no longer use. After commit af955613e0 ("models: Enable
SMMSTOREv2 in coreboot") it is no longer needed.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-03 12:04:47 -06:00
Tim Crawford
64aa0e3160 Remove script for reading SMMSTOREv1
commit af955613e0 ("models: Enable SMMSTOREv2 in coreboot") switched
us from SMMSTOREv1 to SMMSTOREv2. This script is no longer useful.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-03 12:04:47 -06:00
Tim Crawford
ec529daaff Update EC
- Added KBC reset on CPU reset to prevent keyboard from being locked
- Enabled power switch Watch Dog Timer with a timeout of 10 seconds
- Improved keyboard scan logic (no user-visible changes)
- Fixed detecting if PECI is available on eSPI systems using S0ix
- Added support for a FnLock key

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-01 14:41:49 -06:00
Tim Crawford
5d581d61fd Update coreboot
- Fixed boot failing at FSP-S due to missing file
- Enabled C10 reporting on systems using eSPI

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-08-01 14:40:01 -06:00
Aaron Honeycutt
4b4eafd7d0 Update RPL boards in FEATURES
Add the release dates for the remaining RPL boards and update the addw3
release for the Windows 11 BSOD fix.
2023-07-20 10:43:17 -06:00
Tim Crawford
05cfb1a60f Update firmware-update
- Defer unlock prompt until update is accepted

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-07-19 19:09:52 -06:00
Tim Crawford
848c28ab29 Update ec
- Reduce key debounce from 15ms to 5ms
- galp6: Fix fan tachometer GPIOs
- lemp9: Fix fan tachometer GPIOs
- lemp10: Fix fan tachometer GPIOs
- lemp11: Fix fan tachometer GPIOs

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-07-19 19:09:52 -06:00
Tim Crawford
6e3e62dcc0 Update coreboot
- gaze17,oryp10: Remove invalid RTD3 configs
- galp8,lemp11: Remove RTD3 config from SATA port

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-07-19 19:09:52 -06:00
Tim Crawford
0b441d4148 changelog: Fix entries
Fix release dates and remove changes that occurred before the initial
release.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-07-19 19:09:52 -06:00
Tim Crawford
200ddc0087 Update coreboot
- Leave TBT LSX0 as FSP configured
- Select CBFS SMBIOS hooks
- Hook up microcode for CML-S
- Move RPL-HX power limits to correct file

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-07-17 08:38:57 -06:00
Jeremy Soller
0e4a64a174 Prepare for release 2023-07-10 12:42:59 -06:00
Jeremy Soller
8e24a60c88 Update coreboot, ec, and changelog 2023-07-06 13:45:36 -06:00
Tim Crawford
728361d458 edk2: Update Secure Boot DBX to version 371
DBX version 371 was released on 2023-05-09.

Ref: https://uefi.org/revocationlistfile
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-27 09:24:21 -06:00
Tim Crawford
e5c3632a2a Update coreboot and ec
coreboot:

- addw3: Enable support for 5200 MT/s memory
- bonw15: Enable support for 5200 MT/s memory
- serw13: Enable support for 5200 MT/s memory
- rpl: Enable TPM read delay to fix occasional failures with Infineon chips
- Perform TPM Restart if TPM Resume fails

ec:

- darp9: Converted to new keyboard
- oryp11: Added new keyboard
- Acknowledge PECI-over-eSPI transactions when finished

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-22 09:47:50 -06:00
Jeremy Soller
36c78ea003 Update submodules and changelog 2023-06-08 15:36:45 -06:00
Tim Crawford
a8590a5986 ec: Fix darp9 USB-C power
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-08 12:51:19 -06:00
Tim Crawford
f903877cfb scripts: Disable showing signature when getting date
Fixes building when `log.showSignature` is enabled.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-08 11:06:44 -06:00
Tim Crawford
d60e4ae5df firmware-update: Update for darp9
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-07 17:31:14 -06:00
Tim Crawford
e46352ae91 darp9: Update CSME
- Disable Boot Guard
- Disable PTT
- Disable locking the descriptor

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-06-07 17:31:14 -06:00