457 Commits

Author SHA1 Message Date
Jeremy Soller
e4e7f89a67 system76/common: Add battery abstraction 2021-01-05 12:17:16 -07:00
Jeremy Soller
4de18eba93 common/macro.h: Add BIT macro 2021-01-05 12:17:16 -07:00
Jeremy Soller
b0c196d4b9 ec/it*: Add ESPI definitions 2021-01-05 12:17:16 -07:00
Jeremy Soller
87e16205d6 ec/it*/kbc.c: kbc_wait delay is now in microseconds 2021-01-05 12:17:16 -07:00
Jeremy Soller
932dbe8e71 mega2560/parallel.c: return immediately when perif cycle not ready 2021-01-05 12:17:16 -07:00
Brosseau Valentin
43d31ca0c3 Add Custom Valentin French ISO Layout definition
Move some keys, and make the French ISO Layout working with the System76 EC.

This layout is working with the Venus PW55. (Clevo L140CU based model)
2020-12-08 13:44:45 -07:00
Tim Crawford
5c4f9b6c8b Sort object files
ROMs produced of Pop!_OS 20.10 and Fedora 33 with SDCC 4.0.0 cause
uecflash to crash after verifying the block write, leaving the  system
unbootable until all power is removed to force an EC reset.

Sorting object files appears to resolve this issue, creates a smaller
binary (~200 bytes from 20.04), and gives up more reproducible builds.
2020-12-08 13:43:40 -07:00
Tim Crawford
29034569c8 oryp6: Fix smart charger values 2020-10-19 13:02:14 -06:00
Tim Crawford
5200397bba Fix compilation on AVR
The __reentrant keyword introduced in common code is for SDCC.
2020-10-15 19:25:20 -06:00
Tim Crawford
aeaad74dd0 galp4: Add numpad keys to Fn layer
Fn must be held to use the numpad, regardless of the state of NumLock.
This differs from the proprietary EC, which swaps the numpad and letters
when NumLock is enabled.

The OS determines if the numpad is used as navigation keys or number
keys, depending on the state of NumLock.
2020-10-08 10:35:48 -06:00
Tim Crawford
9a01388085 oryp5: Fix speaker and headphone amps 2020-10-06 11:08:06 -07:00
Jeremy Soller
0a2af4c692 Add international keys to other compatible layouts 2020-10-06 09:31:34 -07:00
Jeremy Soller
fcfdcb88c3 Support international keys on darp6 2020-10-06 09:31:34 -07:00
Jeremy Soller
3ed8db09c5
addw1: Fix floating KBC_MUTE# 2020-10-05 15:24:36 -06:00
Jeremy Soller
dc81c724ec addw1 2020-10-05 13:57:08 -07:00
Fabian Topfstedt
6a081cc1b8
lemp9: Added ISO keyboard layouts (#117)
* LAYOUT_ISO: Conversion of physical ISO layout to keyboard matrix

* fixing interchanged backslash and enter

* default_iso layout added for Clevo L141CU

* fabian layout (ISO, colemak, fn<->ctrl, wide left shift)

* Caps is control

* hardware side: qwerty instead of colemak

* lemp9 fabian: FN+PgUp=Home, FN+PgDn=Eend, FN+LeftShift=KBD_BKL

* lemp9 default_iso: FN+PgUp=Home, FN+PgDn=End

* clevo_l141cu_us_iso.c

* merged

* FN+1=K_FAN_TOGGLE
2020-10-05 14:53:15 -06:00
Jeremy Soller
d35e375277 Add fan abstraction 2020-10-05 10:50:11 -07:00
Jeremy Soller
788fa927ef Add SPDX license header to fan.c 2020-10-05 10:50:11 -07:00
Jeremy Soller
3b6d262217 Add K_FAN_TOGGLE hotkey 2020-10-05 10:50:11 -07:00
Jeremy Soller
a8f5fc5ec0 Add fan module and implement fan_max switch 2020-10-05 10:50:11 -07:00
Jeremy Soller
e01e712745 Reset keymap configuration 2020-10-05 09:54:28 -07:00
Jeremy Soller
f980257086 use sizeof(CONFIG_SIGNATURE) to calculate offset of keymap 2020-10-05 09:54:28 -07:00
Jeremy Soller
916a6f87f3 Add dynamic keymap config 2020-10-05 09:54:28 -07:00
Jeremy Soller
fc2c3511d2 Move KEYMAP definition to common 2020-10-05 09:54:28 -07:00
Jeremy Soller
eff4caa752 Refactor SMFI interface and ectool 2020-10-01 19:35:34 -07:00
Tim Crawford
39e2586c50 Use physical position of keys for config reset 2020-10-01 14:50:26 -07:00
Tim Crawford
9afec7af27 Reset EC config on Fn+Esc during power on 2020-10-01 14:50:26 -07:00
Tim Crawford
46ca5e0a12 Add function to reset EC configuration 2020-10-01 14:50:26 -07:00
Tim Crawford
e8dfe7fe44 Add function to reset battery thresholds 2020-10-01 14:50:26 -07:00
Evan Lojewski
6f6fc652d5 flash: Enable read/write/erase access flash from firmware. 2020-10-01 10:32:03 -06:00
Evan Lojewski
b4689cb3f1 i2c: Reduce __data usage by switching i2c routines to use the stack.
By default with the large memory mode, sdcc places temp data in DSEG
(__data) and parameters in XSEG (__xdata). This causes both to be placed
on the stack instead.

Previously, the temperary variables were using up to ox69 bytes in DSEG.
After the change, temperary variables now end at 0x5D (12 bytes less).

The i2c routines were using the following XSEG bytes:
- 0x03 - 0x0b (i2c_recv - 8 bytes now on the stack)
- 0x0c - 0x14 (i2c_send - 8 bytes now on the stack)
- 0x15 - 0x1e (i2c_get - 9 bytes now on the stack)
- 0x1f - 0x2c (i2c_set - 13 bytes now on the stack)
- 0x1e2 - 0x1e5 (i2c_reset - 4 bytes now on the stack)
- 0x1e6 - ? (i2c_start - ? bytes now on the stack)
2020-10-01 10:32:03 -06:00
Evan Lojewski
ba5f1ab55c 8051: Allow up to 64KB firmware images.
The ITE EC hardware always has the first 32KB of ram mapped, while
a second 32KB of ram is banked immediately after. By default, the
banked physical address immediately follows the fixed area in flash.
2020-10-01 10:32:03 -06:00
Jeremy Soller
99ef48f9c4 Address PR feedback 2020-09-29 19:42:05 -06:00
Jeremy Soller
00043ebfaf Only send hotkey SCI if ACPI OS is loaded 2020-09-29 19:42:05 -06:00
Jeremy Soller
343722e350 Add hardware keyboard color handling 2020-09-29 19:42:05 -06:00
Jeremy Soller
480e05d12b Move hardware hotkey processing to a new function 2020-09-29 19:42:05 -06:00
Jeremy Soller
f3688be919 Use enum for EC OS 2020-09-29 19:42:05 -06:00
Jeremy Soller
d0d9f65b6e Use K_ defines for SCI keys 2020-09-29 19:42:05 -06:00
Jeremy Soller
80412e7a10 Rename K_E0 to KF_E0 (key flag E0) to aid in automatic layout generation 2020-09-29 19:42:05 -06:00
Jeremy Soller
de26cdfa74 Commands for reading and setting keyboard map 2020-09-29 19:42:05 -06:00
Jeremy Soller
432c4f64d2 Remove unnecessary keymap function 2020-09-29 19:42:05 -06:00
Jeremy Soller
f36b38a7b2 Make KEYMAP's __xdata so they can be edited at runtime 2020-09-29 19:42:05 -06:00
Jeremy Soller
882dd02e06 Move SROM register definition to ec/scratch.h 2020-09-29 19:42:05 -06:00
Jeremy Soller
fd0bbc53f4 Set limits on SRAM usage 2020-09-29 19:42:05 -06:00
Tim Crawford
582a5e2a97 kbscan: Prevent wake when lid is closed
Resolves: #102
2020-09-29 10:50:39 -06:00
Tim Crawford
c9caca51cd battery: Fix typo 2020-09-22 16:06:20 -06:00
Tim Crawford
dabda16742 acpi: Handle ACPI queries for charging thresholds
Requires an update to coreboot to expose the ACPI methods.
2020-09-22 16:06:20 -06:00
Jeremy Soller
c752097753 Add KBC 0xF6 command 2020-09-17 11:23:45 -06:00
Tim Crawford
5fd9df0ed0 Add SPDX license identifiers
Add license information to files. Mostly automated with:

    find src/ -name '*.[c,h]' | xargs sed -i '1s,^,// SPDX-License-Identifier: GPL-3.0-only\n\n,'
    find src/ -name '*.mk' | xargs sed -i '1s,^,# SPDX-License-Identifier: GPL-3.0-only\n\n,'
2020-09-17 09:17:08 -06:00
Tim Crawford
bf0d6b571c oryp5: Add new board 2020-09-10 17:32:33 -06:00