blob: 2d1f3372612f12d74a0eb980d0602aae9714ca1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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
|