1 # SPDX-License-Identifier: GPL-2.0
4 tristate "USB Type-C Connector System Software Interface driver"
5 depends on !CPU_BIG_ENDIAN
7 USB Type-C Connector System Software Interface (UCSI) is a
8 specification for an interface that allows the operating system to
9 control the USB Type-C ports. On UCSI system the USB Type-C ports
10 function autonomously by default, but in order to get the status of
11 the ports and support basic operations like role swapping, the driver
12 is required. UCSI is available on most of the new Intel based systems
13 that are equipped with Embedded Controller and USB Type-C ports.
15 UCSI specification does not define the interface method, so depending
16 on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this
17 driver only provides the core part, and separate drivers are needed
18 for every supported interface method.
20 The UCSI specification can be downloaded from:
21 https://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html
23 To compile the driver as a module, choose M here: the module will be
29 tristate "UCSI Interface Driver for Cypress CCGx"
32 This driver enables UCSI support on platforms that expose a
33 Cypress CCGx Type-C controller over I2C interface.
35 To compile the driver as a module, choose M here: the module will be
39 tristate "UCSI ACPI Interface Driver"
42 This driver enables UCSI support on platforms that expose UCSI
43 interface as ACPI device. On new Intel Atom based platforms starting
44 from Broxton SoCs and Core platforms stating from Skylake, UCSI is an
45 ACPI enumerated device.
47 To compile the driver as a module, choose M here: the module will be