https://github.com/system76/ec
System76 Open Source Embedded Controller
https://github.com/system76/ec
Last synced: 8 months ago
JSON representation
System76 Open Source Embedded Controller
- Host: GitHub
- URL: https://github.com/system76/ec
- Owner: system76
- License: gpl-3.0
- Created: 2019-09-27T22:50:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-24T21:52:43.000Z (about 1 year ago)
- Last Synced: 2025-04-03T16:04:37.171Z (about 1 year ago)
- Language: C
- Homepage:
- Size: 1.96 MB
- Stars: 340
- Watchers: 19
- Forks: 73
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: docs/security.md
Awesome Lists containing this project
README
# System76 EC
System76 EC is a GPLv3 licensed embedded controller firmware for System76
laptops.
## Documentation
- [Supported embedded controllers](./docs/controllers.md)
- [Flashing firmware](./docs/flashing.md)
- [Debugging](./docs/debugging.md)
- [Creating a custom keyboard layout](./docs/keyboard-layout-customization.md)
- [Development environment](./docs/dev-env.md)
- [Adding a new board](./docs/adding-a-new-board.md)
## Quickstart
Install dependencies using the provided script.
```sh
./scripts/deps.sh
```
If rustup was installed as part of this, then the correct `cargo` will not be
available in the running session. Start a new shell session or source the env
file to update `PATH`.
```sh
source $HOME/.cargo/env
```
Then build the firmware for your laptop model.
```sh
make BOARD=system76/
```
See [Flashing](./docs/flashing.md) for how to use the new firmware image.
## Releases
The EC firmware itself does not have tagged releases. Any commit of this repo
may be used as a part of a [System76 Open Firmware][firmware-open] release.
In official releases the EC shares the same version as the BIOS firmware. Run
the follow command from firmware-open to determine the corresponding EC commit
for a release.
```
git ls-tree ec
```
[firmware-open]: https://github.com/system76/firmware-open
## Legal
System76 EC is copyright System76 and contributors.
System76 EC firmware is made available under the terms of the GNU General
Public License, version 3. See [LICENSE](./LICENSE) for details.
- firmware: GPL-3.0-only
- ecflash: LGPL-2.1-or-later
- ecsim: MIT
- ectool: MIT
Datasheets for the ITE embedded controllers used in System76 laptops cannot be
shared outside of company. (However, the IT81202 datasheet is [publicly
available][it81202]. While it uses a different core, a significant portion of
the register information is the same as IT8587/IT5570.)
[it81202]: https://www.ite.com.tw/en/product/cate2/IT81202