From 47ad6386c6cb75d1ed5a7b5936985ba356586aaf Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 29 Sep 2019 10:25:46 -0600 Subject: [PATCH] Update README --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index 0b68afe..dff2a21 100644 --- a/README.md +++ b/README.md @@ -1 +1,39 @@ # System76 EC (WIP) + +System76 EC is a GPLv3 licensed embedded controller firmware for System76 +laptops. It is designed to be portable to boards using several 8-bit +microcontrollers, such as: + +Board | Embedded Controller | Architecture +------------------ | ------------------- | -------------- +System76 ecsim | Simulated ITE EC | 8051 +System76 Laptops | ITE IT8587E | 8051 +System76 Thelio Io | Atmel ATMEGA32U4 | AVR +Arduino Mega 2560 | Atmel ATMEGA2560 | AVR + +Shared features (that can be used across different micro-controllers): + +Acronym | Feature | Description +------- | ---------------------------- | ----------- +ADC | Analog-digital converter | Reads voltages from batteries and temperature from thermistors +DAC | Digital-analog converter | Brightness control of keyboard backlight +GPIO | General purpose input/output | Control of LED's, buttons, and enable lines for other hardware +KBSC | Keyboard scan controller | Detects laptop keyboard presses. Keyboard scanning can be done using GPIOs, the ITE EC has hardware acceleration +PS/2 | Keyboard and mouse bus | Interfaces with touchpad. PS/2 can be done using GPIOs, the ITE EC has hardware acceleration +PWM | Pulse-width modulation | Fan control and brightness control of LED's +SMBUS | System management bus | Reads battery information +SPI | Serial peripheral interface | Reads and programs the EC's firmware +UART | Universal asynchronous receiver-transmitter | Provides EC console input/output + +Features specific to ITE embedded controllers: + +Acronym | Feature | Description +------- | ---------------------------- | ----------- +LPC | Low pin count | Forwards memory and I/O access to EC. Most EC functions are exposed to the host through this interface. High frequency makes a GPIO implementation not possible. Simulation is provided by System76 ecsim +PECI | Platform environment control interface | Reads CPU temperature (relative to throttle point). Proprietary nature means a GPIO implementation is unlikely, though not technically impossible + +Features specific to Atmel embedded controllers: + +Acronym | Feature | Description +------- | ---------------------------- | ----------- +USB | Universal serial bus | Can be used to provide access to EC functions either to the host or to a remote machine