diff options
author | Keith Short <keithshort@chromium.org> | 2019-08-06 15:21:13 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-09 17:14:00 +0000 |
commit | 278bbbd7a7ce365b7500d0c97e24ffdc4a1c48dc (patch) | |
tree | 99de501390f3002cff6ea8a241be7fbab152eed5 /docs | |
parent | cda525c29d54303c5320cc393a00035a1d21c8c5 (diff) | |
download | chrome-ec-278bbbd7a7ce365b7500d0c97e24ffdc4a1c48dc.tar.gz |
doc: Add documentation for EC terms
Add documentation for acronyms and technologies used in the EC codebase.
BRANCH=none
BUG=none
TEST=run md_browser.py against changes
Change-Id: I2ccc6e7c0c60144ded2e7b8cc171fa2a2897d006
Signed-off-by: Keith Short <keithshort@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1740080
Reviewed-by: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/ec_terms.md | 159 | ||||
-rw-r--r-- | docs/sitemap.md | 1 | ||||
-rw-r--r-- | docs/usb-c.md | 8 |
3 files changed, 164 insertions, 4 deletions
diff --git a/docs/ec_terms.md b/docs/ec_terms.md new file mode 100644 index 0000000000..9f8c220c2d --- /dev/null +++ b/docs/ec_terms.md @@ -0,0 +1,159 @@ +# EC Acronyms and Technologies + +## Glossary + +* **ACCEL - Accelerometer**<a name="accel"></a> + + A sensor that measures acceleration, typically over 3-axis. Nominally + provides information about the orientation of a device. On Chromebook 2-in-1 + devices, there is an accelerometer in the base and one in the lid. Combining + the measurements from both accelerometers allows for a precise calculation + of the lid angle, used to switch between tablet and laptop mode. + +* **ACCELGYRO - Accelerometer/Gyroscope**<a name="accelgyro"></a> + + A combination [accelerometer](#accel) and [gyroscope](#gyro) sensor that + provides more precise orientation information by measuring both linear and + rotational motion. + +* **ADC - Analog to Digital Converter**<a name="adc"></a> + + A sensor that converts an analog voltage to a digital reading. + +* **ALS - Ambient Light Sensor**<a name="als"></a> + + A sensor that measures the ambient light present. Used to automatically + control the screen and keyboard backlight level. + +* **AP - Application Processor**<a name="ap"></a> + + The processor on the board that boots and runs ChromeOS. + +* **BAR - Barometer**<a name="bar"></a> + + A sensor that measures atmospheric pressure. + +* **BC12 - Battery Charging**<a name="bc12"></a> + + A device that implements the USB Battery Charging specification, version + 1.2. The complete [BC 1.2 Specification] is available from the USB + Implementers Forum. + +* **CBI - CROS Board Information**<a name="cbi"></a> + + A collection of properties describing the board. This includes board + version, SKU, model name, and other fields. More details are found in the + [CrOS Board Info] documentation. + +* **CEC - Consumer Electronics Control**<a name="cec"></a> + + A one-wire bidirectional bus. More details are on the [CEC Wikipedia page]. + +* **DPTF - Dynamic Power and Thermal Framework (Intel)**<a name="dptf"></a> + + Intel's platform based power and thermal management. See the [DPTF Readme] + for details on the implementation used in ChromeOS. + +* **EC - Embedded Controller**<a name="ec"></a> + + The [MCU](#mcu) used to control the keyboard, battery charging, USB port + switching, sensor management, and other functions, offloading these tasks + from the [AP](#ap). + +* **eSPI - Enhanced Serial Peripheral Interface (Intel)**<a name="espi"></a> + + Intel's synchronous communication interface between the [AP](#ap) and the + [EC](#ec). Supports quad I/O mode and clock speeds up to 66 Mhz, providing + bandwidth up to 264 Mbps. The full [eSPI Specification] is available from + Intel. + +* **GPIO - General Purpose Input/Output**<a name="gpio"></a> + + An individual signal that can independently controlled and read. GPIOs are + used to enable/disable power rails, drive reset signals, and receive + interrupts from devices connected to the EC. GPIOs may also be connected + to [I/O expanders](#ioexpander). + +* **GYRO - Gyroscope**<a name="gyro"></a> <a name="gyro"></a> + + A sensor that measures angular momentum, providing information about + rotational motion of the device. + +* **I/O Expander**<a name="ioexpander"></a> + + An [I2C](#i2c) slave device that provides additional GPIO signals (anywhere + from 8 - 32 signals). GPIOs behind an I/O expander are written and read + using I2C register accesses from the I2C master. + +* **I2C - Inter-Integrated Circuit**<a name="i2c"></a> + + A 2-wire synchronous communication bus, consisting of a clock signal and a + bidirectional data signal. An I2C bus typically contains one master device + and one more slave devices. The I2C standard defines supported clock speeds + of 100 KHz and 400 KHz. The full [I2C Specification] is available from NXP + (formerly Phillips). + +* **LPC - Low Pin Count bus**<a name="lpc"></a> + + Legacy communication bus between the [AP](#ap) and [EC](#ec). Runs at 33 + MHz, providing a 133 Mbps bandwidth connection. Replaced by the + [eSPI](#espi) interface. + +* **MAG - Magnetometer**<a name="mag"></a> + + A digital compass sensor, providing orientation for navigation. + +* **MCU - Microcontroller Unit**<a name="mcu"></a> + + A small integrated chip containing a CPU core, on-chip ROM, on-chip RAM. + Also contains multiple peripheral interfaces, including GPIO, I2C buses, SPI + buses, ADC, PWM, etc. + +* **PD - USB Power Delivery**<a name="pd"></a> + + See the [USB-C documentation](./usb-c.md#pd) for more details. + +* **PMIC - Power Management IC**<a name="pmic"></a> + + An integrated circuit used to turn power rails on and off. + +* **PPC - USB Power Path Controller**<a name="ppc"></a> + + See the [USB-C documentation](./usb-c.md#ppc) for more details. + +* **PWM - Pulse Width Modulation**<a name="pwm"></a> + + Method of varying the duty cycle of a signal to control another device. A + typical application is to control fan speeds or the brightness of a + backlight. + +* **SPI - Serial Peripheral Interconnect**<a name="spi"></a> + + A 4-wire synchronous communication bus consisting of the signals CLK + (clock), MOSI (master-out-slave-in), MISO (master-in-slave-out), and CS + (chip-select, one per SPI slave). Clock speeds over 100 MHz are supported. + Communication involves a SPI frame, consisting of the assertion of chip + select, transmitting one or more bytes on the MOSI signal, receiving zero or + more bytes on the MISO signal, and de-assertion of the chip select. The + contents of a SPI frame varies based on the SPI slave type. + +* ***TCPC - USB Type-C Port Controller**<a name="tcpc"></a> + + See the [USB-C documentation](./usb-c.md#tcpc) for more details. + +* **UART - Universal Asynchronous Receiver Transceiver**<a name="uart"></a> + + Also known as a serial port. An asynchronous communication channel between + two devices with a dedicated receive pin, transmit pin, and ground. Optional + hardware flow control signals require additional connections between the + devices. Standard transmission rates are slow (up to 115200 bits per + second). Typical use is to provide a debug console to the EC. [RS-232] is + the protocol standard used by UARTs. + +[BC 1.2 Specification]: <https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement> +[CrOS Board Info]: <https://chromium.googlesource.com/chromiumos/docs/+/master/design_docs/cros_board_info.md> +[CEC Wikipedia page]: <https://en.wikipedia.org/wiki/Consumer_Electronics_Control> +[DPTF Readme]: <https://github.com/intel/dptf/blob/master/README.txt> +[eSPI Specification]: <https://www.intel.com/content/dam/support/us/en/documents/software/chipset-software/327432-004_espi_base_specification_rev1.0.pdf> +[I2C Specification]: <https://www.nxp.com/docs/en/user-guide/UM10204.pdf> +[RS-232]: <https://en.wikipedia.org/wiki/RS-232> diff --git a/docs/sitemap.md b/docs/sitemap.md index b1e30c5fd9..b46079f159 100644 --- a/docs/sitemap.md +++ b/docs/sitemap.md @@ -5,6 +5,7 @@ * [Getting Started Quickly](./getting_started_quickly.md) * [Core Runtime](./core_runtime.md) * [Write Protection](./write_protection.md) +* [EC Acronyms and Technologies](./ec_terms.md) ## Case Closed Debugging (CCD) diff --git a/docs/usb-c.md b/docs/usb-c.md index 5f45058b56..b6bdb673de 100644 --- a/docs/usb-c.md +++ b/docs/usb-c.md @@ -25,10 +25,10 @@ Modes in the EC codebase. ## Glossary -* PD +* PD<a name="pd"></a> * Power Delivery. Protocol over USB-C connector that allows up to 100W of power. Not supported on USB-A or USB-B connectors. -* TCPC +* TCPC<a name="tcpc"></a> * Type-C Port Controller. Typically a separate IC connected through I2C, sometimes embedded within the EC as a hardware sub module. The TCPC interprets physical layer signals on CC lines and Vbus, and sends that @@ -37,7 +37,7 @@ Modes in the EC codebase. that communicated with the main EC (also running this codebase), which acted as the TCPM. More info in the official [TCPC spec][USB TCPM Spec Id]. -* TCPM +* TCPM<a name="tcpm"></a> * Type-C Port Manager. Manages the state of the USB-C connection. Makes decisions about what state to transition to. This is the code running on the EC itself. @@ -48,7 +48,7 @@ Modes in the EC codebase. available, such as Try.SRC * TC * Type-C physical layer. -* PPC +* PPC<a name="ppc"></a> * Power Path Controller. An optional, separate IC that isolates various USB-C signals from each other and the rest of the board. This IC should prevent shorts and over current/voltage scenarios for Vbus. Some PPCs |