summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2019-08-13 17:07:04 -0600
committerCommit Bot <commit-bot@chromium.org>2019-08-21 21:27:33 +0000
commit0596ecd75a278f0079b09646c95256fe063705fc (patch)
treeaa26f75ae1946c980f905813200cb50e1c311cc3
parent0393557c98a015318c13452650b657ac173ecd07 (diff)
downloadchrome-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.md3
-rw-r--r--docs/ec_terms.md23
-rw-r--r--docs/usb-c.md34
3 files changed, 47 insertions, 13 deletions
diff --git a/README.md b/README.md
index 2bba5f576b..87cf911690 100644
--- a/README.md
+++ b/README.md
@@ -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