Tim Crawford 99af8a35f5 Use explicitly sized types from stdint
Replace bare int types with stdint types. This was done with:

    grep -rwl 'int' src/ | xargs sed -i 's/\<int\>/int16_t/g'
    grep -rwl 'unsigned long' src/ | xargs sed -i 's/\<unsigned long\>/uint32_t/g'
    grep -rwl 'unsigned char' src/ | xargs sed -i 's/\<unsigned char\>/uint8_t/g'

Then reverted for *main(), putchar(), and getchar().

The Arduino declarations for parallel_main() were also corrected to
match their definitions.

SDCC does *not* generate the same code in all instances, due to `int`
being treated different than `short int`.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-08-02 07:46:44 -06:00
2020-10-06 13:29:37 -06:00
2021-07-20 10:49:08 -06:00
2021-04-14 15:43:34 -06:00
2021-05-25 09:15:02 -06:00
2021-04-13 11:04:51 -06:00
2021-02-22 09:04:50 -07:00
2020-02-20 09:11:47 -07:00
2020-10-05 13:55:42 -07:00
2019-09-27 16:50:44 -06:00
2019-11-05 20:38:27 -07:00

System76 EC

System76 EC is a GPLv3 licensed embedded controller firmware for System76 laptops.

Documentation

Quickstart

Install dependencies using the provided script.

./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.

source $HOME/.cargo/env

Then build the firmware for your laptop model.

make BOARD=system76/<model>

See Flashing 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 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 <release_hash> ec

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 for details.

  • firmware: GPL-3.0-only
  • ecflash: LGPL-2.1-or-later
  • ecsim: MIT
  • ectool: MIT

Datasheets for ITE embedded controllers cannot be shared outside of System76.

Description
Readme 2.5 MiB
Languages
C 81.5%
Makefile 9.2%
Rust 8.1%
Shell 1.2%