diff options
author | Keith Short <keithshort@chromium.org> | 2019-08-13 17:07:04 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-21 21:27:33 +0000 |
commit | 0596ecd75a278f0079b09646c95256fe063705fc (patch) | |
tree | aa26f75ae1946c980f905813200cb50e1c311cc3 | |
parent | 0393557c98a015318c13452650b657ac173ecd07 (diff) | |
download | chrome-ec-0596ecd75a278f0079b09646c95256fe063705fc.tar.gz |
doc: Update EC terms
Add more EC definitions. Correct the named anchors in the USB-C
markdown. And a link from the main EC readme.
BUG=none
BRANCH=none
TEST=none
Change-Id: Ica7e7c270373589d850166539fb1b13b1ddbd7e0
Signed-off-by: Keith Short <keithshort@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1758826
Reviewed-by: Edward Hill <ecgh@chromium.org>
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | docs/ec_terms.md | 23 | ||||
-rw-r--r-- | docs/usb-c.md | 34 |
3 files changed, 47 insertions, 13 deletions
@@ -45,6 +45,9 @@ running on several different MCUs on Chrome OS devices with various tweaks confusing, so try to be specific and use terms like FPMCU to distinguish the fingerprint MCU from "the EC". +See the [EC Acronyms and Technologies](./docs/ec_terms.md) for a more complete +glossary. + ## Getting the EC code The code for the EC is open source and is included in the Chromium OS diff --git a/docs/ec_terms.md b/docs/ec_terms.md index 5fef134f34..b34c138f05 100644 --- a/docs/ec_terms.md +++ b/docs/ec_terms.md @@ -1,6 +1,10 @@ # EC Acronyms and Technologies ## Glossary +* **8042 Interface**{#8042} + + Interface for sending keyboard events to the [AP](#ap) and for receiving + commands from the AP. Only supported by x86 based APs. * **ACCEL - Accelerometer**{#accel} @@ -109,6 +113,20 @@ Also contains multiple peripheral interfaces, including GPIO, I2C buses, SPI buses, ADC, PWM, etc. +* **MKBP - Matrix Keyboard Protocol**{#mkbp} + + Message based protocol for communicating asynchronous events from the + [EC](#ec) to the [AP](#ap). Events are not limited to keyboard events with + the sensor subsystem as one of the main users. An EC board implementation + can be configured to send keyboard events through MKBP or using the [8042 + interface](#8042). This is the [EC MKBP driver] implementation. + +* **MST - Multi Stream Transport**{#mst} + + Part of the Display Port 1.2 standard, used to drive multiple independent + video streams from a single display port. The EC code is typically + responsible for enabling and disabling the MST hub chipset. + * **PD - USB Power Delivery**{#pd} See the [USB-C documentation](./usb-c.md#pd) for more details. @@ -137,6 +155,10 @@ 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. +* **SVDM - Structured Vendor Defined Messages**{#svdm} + + See the [USB-C documentation](./usb-c.md#svdm) for more details. + * **TCPC - USB Type-C Port Controller**{#tcpc} See the [USB-C documentation](./usb-c.md#tcpc) for more details. @@ -157,3 +179,4 @@ [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> +[EC MKBP driver]: <https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/master/common/keyboard_mkbp.c>
\ No newline at end of file diff --git a/docs/usb-c.md b/docs/usb-c.md index 36680dcfd6..6952488469 100644 --- a/docs/usb-c.md +++ b/docs/usb-c.md @@ -25,10 +25,12 @@ Modes in the EC codebase. ## Glossary -* PD{#pd} +* PD {#pd} * 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} + power. Not supported on USB-A or USB-B connectors. A good overview of + USB PD is found in the [Introduction to USB Power Delivery] application + note. +* TCPC {#tcpc} * 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,34 +39,39 @@ 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} +* TCPM {#tcpm} * 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. -* PE +* PE {#pe} * Policy Engine. According to the [TypeC spec][USB TC Spec Id], the policy engine is the state machine that decides how the USB-C connection progresses through different states and which USB-C PD features are available, such as Try.SRC -* TC +* TC {#tc} * Type-C physical layer. -* PPC{#ppc} +* PPC {#ppc} * 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 will protect signals other than Vbus as well. -* SSMUX +* SSMUX {#ssmux} * SuperSpeed Mux. This is typically the same IC as the TCPC; it enables the mirrored orientation of the USB-C cable to go to the correct pins on SoC. Also, allows the SuperSpeed signal to be used for different purposes, such as USB data or DisplayPort. -* DRP +* SVDM {#svdm} + * Structured Vendor Defined Messages are a class of [USB PD](#pd) messages + to enable non-power related communication between port partners. SVDMs + are used to negotiate and set the display port mode on a USB-C + connection. +* DRP {#drp} * Dual Role Power Port. A USB-C port that can act as either a power Source or power Sink. -* UFP +* UFP {#ufp} * Upstream Facing Port. The USB data role that is typical for a peripheral (e.g. HID keyboard). -* DFP +* DFP {#dfp} * Downstream Facing Port. The USB Data role that is typical for a host machine (e.g. device running ChromeOS). @@ -187,14 +194,15 @@ full descriptions see [config.h][config header link] ## Interactions with other tasks -TODO(crbug.com/974302): mention `USB_CHG_P#` and `CHARGER` +TODO(https://crbug.com/974302): mention `USB_CHG_P#` and `CHARGER` ## Upgrading FW for TCPCs -TODO(crbug.com/974302): Mention how this works even though it is in depthcharge. +TODO(https://crbug.com/974302): Mention how this works even though it is in depthcharge. Probing now. Need new driver in depthcharge [USB PD Spec Id]: https://www.usb.org/document-library/usb-power-delivery +[Introduction to USB Power Delivery]: https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en575003 [USB TCPM Spec Id]: https://www.usb.org/document-library/usb-type-ctm-port-controller-interface-specification [USB TC Spec Id]: https://www.usb.org/document-library/usb-type-ctm-cable-and-connector-specification-revision-14-march-29-2019 [config header link]: ../include/config.h |