diff options
author | Sam Hurst <shurst@google.com> | 2022-01-24 17:41:53 -0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-26 23:01:54 +0000 |
commit | c20313cc2621eebd75ed0fb3e8c3d73153e43f71 (patch) | |
tree | dcfaf905653fe6bb202658a7cbd4ab902364db77 | |
parent | 01f25cc4647133e165c1f67f1ce7cfd8cdfcc38e (diff) | |
download | chrome-ec-c20313cc2621eebd75ed0fb3e8c3d73153e43f71.tar.gz |
zephyr: docs: add USBC documentation
Add documentation for configuring USBC.
BUG=b:208437225
TEST=Browse doc in gerrit
BRANCH=main
Signed-off-by: Sam Hurst <shurst@google.com>
Change-Id: Ibb4a25bb76673b29600a8d4e405792604d67e702
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3440847
Reviewed-by: Diana Z <dzigterman@chromium.org>
Commit-Queue: Keith Short <keithshort@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | docs/ec_terms.md | 10 | ||||
-rw-r--r-- | docs/images/usbc_block_diagram.png | bin | 0 -> 50933 bytes | |||
-rw-r--r-- | docs/zephyr/zephyr_usbc.md | 67 |
3 files changed, 77 insertions, 0 deletions
diff --git a/docs/ec_terms.md b/docs/ec_terms.md index b865df0078..0349218e98 100644 --- a/docs/ec_terms.md +++ b/docs/ec_terms.md @@ -186,6 +186,12 @@ typical application is to control fan speeds or the brightness of a backlight. +* **Retimer** {#retimer} + + A device that can extract the embedded clock signal from a high-speed + protocol, fully recover the data, and retransmit a fresh copy of the data + using a clean clock. + * **SAFT - Semi-Automated Firmware Tests** {#saft} A suite of tests for firmware, succeeded by [FAFT](#faft). See the @@ -220,6 +226,10 @@ The specific contents of a SPI frame varies based on the SPI peripheral type. +* **SSMUX - Super Speed Multiplexer** {#ssmux} + + See the [USB-C documentation](./usb-c.md#ssmux) for more details. + * **SVDM - Structured Vendor Defined Messages** {#svdm} See the [USB-C documentation](./usb-c.md#svdm) for more details. diff --git a/docs/images/usbc_block_diagram.png b/docs/images/usbc_block_diagram.png Binary files differnew file mode 100644 index 0000000000..9c05c69f3c --- /dev/null +++ b/docs/images/usbc_block_diagram.png diff --git a/docs/zephyr/zephyr_usbc.md b/docs/zephyr/zephyr_usbc.md new file mode 100644 index 0000000000..2d1f337261 --- /dev/null +++ b/docs/zephyr/zephyr_usbc.md @@ -0,0 +1,67 @@ +# Zephyr EC USBC Configuration + +[TOC] + +## Overview + +[USB-C] is a flexible connector supporting multiple data rates, protocols, and +power in either direction. + +From the system, USB PD requires a complex state machine as USB PD can +operate in many different modes. This includes but isn't limited to: + +* Negotiated power contracts. Either side of the cable can source or sink + power up to 240W (if supported by device). +* Reversed cable mode. This requires a mux to switch the signals before + getting to the SoC (or AP). +* Debug accessory mode, e.g. [Case Closed Debugging (CCD)] +* Multiple uses for the 4 differential pair signals including + * USB SuperSpeed mode (up to 4 lanes for USB data) + * DisplayPort Alternate Mode (up to 4 lanes for DisplayPort data) + * Dock Mode (2 lanes for USB data, and 2 lanes for DisplayPort) + * USB4/Thunderbolt mode. (4 lanes for USB data) + +For a more complete list of USB-C Power Delivery features, see the +[USB-C PD spec][USB PD Spec Id]. + +The image below shows a block diagram of a typical [USB-C] setup. + +![USBC Block Diagram] +# Legend +## See the [EC Acronyms and Technologies] +* [AP] +* [EC] +* [PPC] +* [TCPC] +* [USB-C Mux] +* [Retimer] + +## Kconfig Options + +The `CONFIG_PLATFORM_EC_USBC` option enables USB-C support on the Chromebook. +See [Kconfig.usbc] for sub-options related to this feature. + +The following sub-components must be configured for correct operation of USB-C: +* [Zephyr EC Type-C Port Controller] +* [Zephyr EC PPC Configuration] +* [Zephyr EC SS Mux and Retimer Configuration] +* [Zephyr EC Charger Configuration] +* [Zephyr EC Power Delivery Configuration] + +[USB-C]:../usb-c.md +[EC Acronyms and Technologies]:../ec_terms.md +[AP]:../ec_terms.md#ap +[EC]:../ec_terms.md#ec +[PPC]:../ec_terms.md#ppc +[TCPC]:../ec_terms.md#tcpc +[USB-C Mux]:../ec_terms.md#ssmux +[Retimer]:../ec_terms.md#retimer +[USBC Block Diagram]:../images/usbc_block_diagram.png +[USB PD Spec Id]: https://www.usb.org/document-library/usb-power-delivery +[Kconfig.usbc]: +https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/ec/zephyr/Kconfig.usbc +[Zephyr EC Power Delivery Configuration]:zephyr_pd.md +[Zephyr EC PPC Configuration]:zephyr_ppc.md +[Zephyr EC SS Mux and Retimer Configuration]:zephyr_usbc_ss_mux_and_retimer.md +[Zephyr EC Charger Configuration]:zephyr_charger.md +[Zephyr EC Type-C Port Controller]:zephyr_tcpc.md |