GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / usb / typec / ucsi / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 config TYPEC_UCSI
4         tristate "USB Type-C Connector System Software Interface driver"
5         depends on !CPU_BIG_ENDIAN
6         depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
7         help
8           USB Type-C Connector System Software Interface (UCSI) is a
9           specification for an interface that allows the operating system to
10           control the USB Type-C ports. On UCSI system the USB Type-C ports
11           function autonomously by default, but in order to get the status of
12           the ports and support basic operations like role swapping, the driver
13           is required. UCSI is available on most of the new Intel based systems
14           that are equipped with Embedded Controller and USB Type-C ports.
15
16           UCSI specification does not define the interface method, so depending
17           on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this
18           driver only provides the core part, and separate drivers are needed
19           for every supported interface method.
20
21           The UCSI specification can be downloaded from:
22           https://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html
23
24           To compile the driver as a module, choose M here: the module will be
25           called typec_ucsi.
26
27 if TYPEC_UCSI
28
29 config UCSI_CCG
30         tristate "UCSI Interface Driver for Cypress CCGx"
31         depends on I2C
32         help
33           This driver enables UCSI support on platforms that expose a
34           Cypress CCGx Type-C controller over I2C interface.
35
36           To compile the driver as a module, choose M here: the module will be
37           called ucsi_ccg.
38
39 config UCSI_ACPI
40         tristate "UCSI ACPI Interface Driver"
41         depends on ACPI
42         help
43           This driver enables UCSI support on platforms that expose UCSI
44           interface as ACPI device. On new Intel Atom based platforms starting
45           from Broxton SoCs and Core platforms stating from Skylake, UCSI is an
46           ACPI enumerated device.
47
48           To compile the driver as a module, choose M here: the module will be
49           called ucsi_acpi
50
51 endif