From 0596ecd75a278f0079b09646c95256fe063705fc Mon Sep 17 00:00:00 2001 From: Keith Short Date: Tue, 13 Aug 2019 17:07:04 -0600 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1758826 Reviewed-by: Edward Hill --- docs/ec_terms.md | 23 +++++++++++++++++++++++ docs/usb-c.md | 34 +++++++++++++++++++++------------- 2 files changed, 44 insertions(+), 13 deletions(-) (limited to 'docs') 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]: [I2C Specification]: [RS-232]: +[EC MKBP driver]: \ 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 -- cgit v1.2.1