656 Commits

Author SHA1 Message Date
Tim Crawford
f9e4e25b05 ec/it*: Merge remaining ITE EC files
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-16 13:34:56 -06:00
Tim Crawford
cd8e76420d Add EC define that is usable in macros
The `__EC__` define is not usable in macros for conditional compilation.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-16 13:34:56 -06:00
Tim Crawford
851221da61 ec/it*: Merge all identical ITE EC files
Most of the code is the same between IT8587E and IT5570E.

Identical files were detected with:

    diff -rs src/ec/it8587e/ src/ec/it5570e/ | egrep '^Files .+ and .+ are identical$'

Then manually moved from one variant and deleted from the other.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-16 13:34:56 -06:00
Tim Crawford
c7fafe0103 board.c: Remove unused includes/globals
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 08:02:55 -06:00
Tim Crawford
92c8f8f3d1 lemp9: Remove duplicate setting of XLP_OUT
XLP_OUT is already set in power_event().

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 08:02:55 -06:00
Tim Crawford
1fc832ca94 Enable POST codes in EC init instead of per-board
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:37:40 -06:00
Tim Crawford
d1db553e8c system76/*: Call EC function to read POST codes
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:37:40 -06:00
Tim Crawford
f8d81a1e1b ec/it5570e: Add function to read POST codes
Logic for reading port 0x80/0x81 is common to the IT5570E.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:37:40 -06:00
Tim Crawford
43651cf2c2 ec/it*: Remove vendor string from signature
Per the specs, a 16-byte signature is stored at 0x40. All proprietary EC
ROMs store a space-padded 16-byte vendor string at 0x50, but it isn't
required.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:36:27 -06:00
Tim Crawford
a8229d9e62 Move power limit functions to common board code
Logic for changing power limit is the same for all boards with GPUs. It
is still called from board_event() instead of in power_event() to
maintain the current behavior of checking every main cycle.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:35:52 -06:00
Tim Crawford
3f446e5c6e Move eSPI files to board common code
The eSPI logic is the same for all TGL boards using it. None of it is
moved to IT5570E due to the call to power_cpu_reset().

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-07-09 07:34:51 -06:00
Winston Hoy
8ea0403850
Smooth fan speed changes (#190)
* SMOOTH_FANS, SMOOTH_FANS_UP, SMOOTH_FANS_DOWN build flags to smooth fan speed changes.
Defaults 40, set SMOOTH_FANS=0 to disable and keep sharp fan speed changes

* fix for ACPI CPU temperature

* allow for a floor to be set for fan smoothing and specifically configure oryp6/7 to start smoothing at 25% to mitigate fan buzzing below 25%

* update default config values for fans

* update all devices to use defaults for heatup, cooldown, update galp5 fan curves

* Decrease default cooldown time from 20 to 10

Co-authored-by: Jacob Kauffmann <jacob@system76.com>
2021-06-14 14:22:29 -06:00
Tim Crawford
b7368e8202 docs: Add overview of development environment
Give an overview of the different tools required for development and
what they're used for.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-10 09:41:16 -06:00
Tim Crawford
5a7fd2d7b3 docs: Rewrite the keyboard layout doc
Use of shorter sentences should reduce cognitive load. Example shell
commands should improve understanding of the description.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-08 11:23:44 -06:00
Tim Crawford
dab3a24fcb docs: flashing: Emphasize potential loss of data
Internal flashing can result in corrupted or lost OS data. Make this
more explicit for internal flashing, and make it a point for external
flashing.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-08 11:23:44 -06:00
Tim Crawford
d36cf981fe readme: Expand "dependencies" to "quickstart"
Give the process from 0 to built. Due to the implications of doing
something wrong (unbootable machine), flashing is kept separate.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-08 11:23:44 -06:00
Jeremy Soller
ca09e86987 Update documentation 2021-06-04 16:22:10 -06:00
Jeremy Soller
df469a9eea Reduce copying of keyboard layouts 2021-06-04 16:22:10 -06:00
Jeremy Soller
4742fd9742 Fix adding src/board/system76/common headers to INCLUDE 2021-06-04 16:22:10 -06:00
Tim Crawford
689cea4e9c readme: Add section for legal info
- General copyright notice
- License info for firmware and tools
- Note about ITE datasheets being unavailable

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-04 07:04:21 -06:00
Tim Crawford
6c5257ff3e readme: Add note about releases
Explain why there are no tagged releases, and why the commit hash on
official releases does not match commits from this repo.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-04 07:04:21 -06:00
Tim Crawford
51d6319f5b readme: Update note about PATH
Use hard line breaks to keep the line under 80 columns. Break it into 2
sentences: one explaining the issue, and the other explaining the fix.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-06-04 07:04:21 -06:00
Tim Crawford
b3b2a312b7 Define GPCRn values in EC header 2021-06-03 09:48:55 -06:00
Tim Crawford
3fe0e2f4e4 Add hidapi deps
ectool uses hidapi, which requires cc and pkg-config to be available.

This fixes building ectool on a minimal install system.
2021-05-25 09:15:02 -06:00
Jeremy Soller
1b539e1206 Make touchpad access non-blocking 2021-05-24 19:02:47 -06:00
Tim Crawford
532219c3f8 Allow battery thresholds to be set in config.mk
The start/end thresholds are user-configurable values. This will allow
us to override these with profile values if desired.
2021-05-14 15:55:26 -06:00
Tim Crawford
76e02c9514 Set battery charging thresholds in common.mk
Battery threshold control is entirely software-defined and does not
depend on any board-specific behavior.
2021-05-14 15:55:26 -06:00
Tim Crawford
285d622fbc kbc: Reduce timeout from 10ms to 1ms
Fix ACPI timeout and delay on S3 resume when holding a key.

A timeout greater than 1ms results in the excessive delay (~10s) still
occurring on an oryp5 (IT8587).
2021-05-14 15:06:50 -06:00
Tim Crawford
aa880033e3 Add missing xxd dep 2021-05-14 12:48:34 -06:00
Tim Crawford
316376c271 Add deps for Arch Linux 2021-05-14 12:48:34 -06:00
Tim Crawford
8bdcf243ec Add lint to ensure spaces are used for indentation 2021-05-07 12:44:48 -06:00
Tim Crawford
4963e04a83 Reindent files using spaces 2021-05-07 12:44:48 -06:00
Tim Crawford
720af4b2b0 Use BIT macro
Mostly done with the cocci script. macro.h was then added manually.
2021-05-07 11:24:25 -06:00
Tim Crawford
9a3ecba010 scripts: Add coccinelle file to use BIT macro 2021-05-07 11:24:25 -06:00
Lars Alexander Blumberg
7888f214bb Update dependency and keyboard config instructions
People who are just reading the keyboard customization instructions might overread the dependencies installations sections.
Additionally, installing rustup for the first time requires sourcing cargo's env vars in case the firmware is flashed in the same shell session after installing rustup.
2021-05-03 16:25:19 -06:00
Winston Hoy
606ba01b48 default to fan syncing but support disabling fan syncing with SYNC_FANS=0 build flag 2021-05-01 06:33:40 -06:00
Winston Hoy
f0c42f5839 Sync dGPU and PECI fans (at highest requested duty) 2021-05-01 06:33:40 -06:00
Tim Crawford
73b4e42726 Update ecspy
Attempting to use ecspy results in it failing to build redox_hwio.
Update the submodule to a version that uses a newer version of the dep.
2021-04-14 15:43:34 -06:00
Ian Douglas Scott
1ea21aedbe deps.sh: Run apt-get update
Hopefully this will fix the CI tests. This is a common enough issue on
CI that Travis mentions it in their documentation:
https://docs.travis-ci.com/user/common-build-problems/#linux-apt-fails-to-install-package-with-404-error
2021-04-13 11:04:51 -06:00
Ian Douglas Scott
55523d4083 ectool 0.3.6 2021-04-13 11:04:51 -06:00
Ian Douglas Scott
84d5c6b79d tool: Make Access require Send and 'static
This allows the Configurator to send a `Ec<Box<dyn Access>>` through a
channel to a background thread. This could be done differently, but
presumably there's no reason to have an `Access` implementation this
doesn't apply to.
2021-04-13 11:04:51 -06:00
Jeremy Soller
16778e4a41 Report all keys as released when lid is closed 2021-04-02 13:38:28 -06:00
Jeremy Soller
a04d353096 Fix fan_max keeping fan on when in S0iX 2021-04-02 13:38:28 -06:00
Jeremy Soller
2401fcc50d oryp6, oryp7: Fix buzzing at lowest fan speed 2021-03-16 18:51:55 -06:00
Jeremy Soller
61428bd198 ectool 0.3.5 2021-03-16 10:33:46 -06:00
Jeremy Soller
0017450cbb Add LED_SAVE command 2021-03-16 10:33:46 -06:00
Tim Crawford
17f8e37ed5 Convert toolchain file to TOML syntax
rustup 1.23.0 (2020-11-27) introduced support for TOML syntax for the
toolchain file. Use this and specify required compoenents.

To ensure you are using a new enough rustup, run:

    rustup self update
2021-03-15 10:09:42 -06:00
Jeremy Soller
66a970fa51 oryp6, oryp7: Improved fan curve for video chat 2021-03-08 15:54:19 -07:00
Jeremy Soller
9ad6b54aed Fix requiring sudo to run power.sh 2021-03-08 15:54:19 -07:00
Jeremy Soller
91d128f0a0 ectool 0.3.4 2021-03-04 13:52:25 -07:00