]>
Commit | Line | Data |
---|---|---|
fab92884 | 1 | |
a7c42106 HK |
2 | menuconfig TYPEC |
3 | tristate "USB Type-C Support" | |
4 | help | |
5 | USB Type-C Specification defines a cable and connector for USB where | |
6 | only one type of plug is supported on both ends, i.e. there will not | |
7 | be Type-A plug on one end of the cable and Type-B plug on the other. | |
8 | Determination of the host-to-device relationship happens through a | |
9 | specific Configuration Channel (CC) which goes through the USB Type-C | |
10 | cable. The Configuration Channel may also be used to detect optional | |
11 | Accessory Modes - Analog Audio and Debug - and if USB Power Delivery | |
12 | is supported, the Alternate Modes, where the connector is used for | |
13 | something else then USB communication. | |
14 | ||
15 | USB Power Delivery Specification defines a protocol that can be used | |
16 | to negotiate the voltage and current levels with the connected | |
17 | partners. USB Power Delivery allows higher voltages then the normal | |
18 | 5V, up to 20V, and current up to 5A over the cable. The USB Power | |
19 | Delivery protocol is also used to negotiate the optional Alternate | |
20 | Modes when they are supported. USB Power Delivery does not depend on | |
21 | USB Type-C connector, however it is mostly used together with USB | |
22 | Type-C connectors. | |
23 | ||
24 | USB Type-C and USB Power Delivery Specifications define a set of state | |
25 | machines that need to be implemented in either software or firmware. | |
26 | Simple USB Type-C PHYs, for example USB Type-C Port Controller | |
27 | Interface Specification compliant "Port Controllers" need the state | |
28 | machines to be handled in the OS, but stand-alone USB Type-C and Power | |
29 | Delivery controllers handle the state machines inside their firmware. | |
30 | The USB Type-C and Power Delivery controllers usually function | |
31 | autonomously, and do not necessarily require drivers. | |
32 | ||
33 | Enable this configurations option if you have USB Type-C connectors on | |
34 | your system and 1) you know your USB Type-C hardware requires OS | |
35 | control (a driver) to function, or 2) if you need to be able to read | |
36 | the status of the USB Type-C ports in your system, or 3) if you need | |
37 | to be able to swap the power role (decide are you supplying or | |
38 | consuming power over the cable) or data role (host or device) when | |
39 | both roles are supported. | |
40 | ||
41 | For more information, see the kernel documentation for USB Type-C | |
42 | Connector Class API (Documentation/driver-api/usb/typec.rst) | |
43 | <https://www.kernel.org/doc/html/latest/driver-api/usb/typec.html> | |
44 | and ABI (Documentation/ABI/testing/sysfs-class-typec). | |
fab92884 | 45 | |
a7c42106 | 46 | if TYPEC |
fab92884 | 47 | |
4b4e02c8 GR |
48 | config TYPEC_TCPM |
49 | tristate "USB Type-C Port Controller Manager" | |
50 | depends on USB | |
4b4e02c8 GR |
51 | help |
52 | The Type-C Port Controller Manager provides a USB PD and USB Type-C | |
53 | state machine for use with Type-C Port Controllers. | |
54 | ||
76f0c53d GR |
55 | if TYPEC_TCPM |
56 | ||
57 | source "drivers/usb/typec/fusb302/Kconfig" | |
58 | ||
d2061f9c HK |
59 | config TYPEC_WCOVE |
60 | tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver" | |
61 | depends on ACPI | |
62 | depends on INTEL_SOC_PMIC | |
63 | depends on INTEL_PMC_IPC | |
64 | depends on BXT_WC_PMIC_OPREGION | |
d2061f9c HK |
65 | help |
66 | This driver adds support for USB Type-C detection on Intel Broxton | |
67 | platforms that have Intel Whiskey Cove PMIC. The driver can detect the | |
68 | role and cable orientation. | |
69 | ||
70 | To compile this driver as module, choose M here: the module will be | |
71 | called typec_wcove | |
72 | ||
a7c42106 | 73 | endif # TYPEC_TCPM |
3c4fb9f1 | 74 | |
c1b0bc2d HK |
75 | source "drivers/usb/typec/ucsi/Kconfig" |
76 | ||
0a4c005b HK |
77 | config TYPEC_TPS6598X |
78 | tristate "TI TPS6598x USB Power Delivery controller driver" | |
79 | depends on I2C | |
0a4c005b HK |
80 | help |
81 | Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power | |
82 | Delivery controller. | |
83 | ||
84 | If you choose to build this driver as a dynamically linked module, the | |
85 | module will be called tps6598x.ko. | |
86 | ||
a7c42106 | 87 | endif # TYPEC |